2014-05-13 53 views
0

我想利用的功能的ω的方向導數在方向V上的點p:我應該如何評估Maxima某點的功能?

omega:x*y*z*z; 
p:[2,3,-1]; 
V:[1,2,3]; 

p2:p+t*V; 

sp:[x=p[1],y=p[2],z=p[3]]; 
sp2:[x=p2[1],y=p2[2],z=p2[3]]; 

deltaomega:subst(sp2,omega)-subst(sp,omega); 
slope:ratsimp(deltaomega/t); 
gVomega:limit(slope,t,0); 

這工作,但兩個取代似乎有點哈克。有沒有更好的方式來說'評估歐米茄在p和p + t * V'?

我知道有更好的方法來做到這一點!我希望能夠從最初的原則中做到這一點(因爲我有更復雜的版本,但沒有內置的版本)。

回答

2

我可以看到至少有兩種方法可以做到這一點;我們也可以找到其他人。

(%i1) omega (x, y, z) := x * y * z^2 $ 
(%i2) p : [2, 3, -1] $ 
(%i3) V : [1, 2, 3] $ 
(%i4) p2 : p + t * V $ 
(%i5) deltaomega : apply (omega, p2) - apply (omega, p); 
                2 
(%o5)     (t + 2) (2 t + 3) (3 t - 1) - 6 

...然後其餘的是一樣的。或定義omega所以它的參數是一個列表:

(%i1) omega (p) := p[1] * p[2] * p[3]^2 $ 
(%i2) p : [2, 3, -1] $ 
(%i3) V : [1, 2, 3] $ 
(%i4) p2 : p + t * V $ 
(%i5) deltaomega : omega (p2) - omega (p); 
                2 
(%o5)     (t + 2) (2 t + 3) (3 t - 1) - 6 

請注意,在這兩種情況下,我定義omega的功能。