Скалярное поле

Вычислим производную по направлению скалярного поля u(x,y,z)  = x*y*z*exp(x+y+z) .

>    restart;

>    with(plots):with(VectorCalculus):

Warning, the name changecoords has been redefined

Warning, the assigned names <,> and <|> now have a global binding

Warning, these protected names have been redefined and unprotected: *, +, ., Vector, diff, int, limit, series

Зададим скалярное поле.

>    u:=(x,y,z)->x*y*z*exp(x+y+z):

>    u(x,y,z);

x*y*z*exp(x+y+z)

Зададим направление.

>    v:=<cos(a),cos(b),cos(c)>;

v := Vector(%id = 20364380)

Для вычисления производной по направлению используем функцию DirectionalDiff.

>    d:=simplify(DirectionalDiff( u(x,y,z), v, [x,y,z] ));

d := exp(x+y+z)*(cos(a)*y*z+cos(a)*x*y*z+cos(b)*x*z+cos(b)*x*y*z+cos(c)*x*y+cos(c)*x*y*z)/(cos(a)^2+cos(b)^2+cos(c)^2)^(1/2)

Вычислим производную скалярного поля по направлению v = <0.3, 0.6, 0.7>  в точке A = (2, -5, 1) .

>    d1 := evalf(subs({x = 2, y = -5, z = 1, cos(a) = 0.3, cos(b) = 0.6, cos(c) = 0.7}, d));

d1 := -3.252393093