Matlab如何求方向导数
请问各位大侠,Matlab中如何求方向导数 一个简单的例子z=x*sin(y)*exp(x) 在(1,1)点处沿直线L的方向导数,L为从(1,1)到(3,-1)
clear;
syms x y;
z=x*sin(y)*exp(x);
af=; % L的单位向量
xy=jacobian(z);
T=dot(xy,af);
x0=subs(subs(T,'x',1),'af',1)% 输出结果
[ 本帖最后由 happy 于 2006-8-30 20:53 编辑 ] 原帖由 happy 于 2006-8-30 20:25 发表
一个简单的例子
clear;
syms x y;
z=x*sin(y)*exp(x);
af=; % L的单位向量
xy=jacobian(z);
T=dot(xy,v);
x0=subs(subs(T,'x',1),'af',1)% 输出结果
??? Undefined function or variable 'v'. 原帖由 jimin 于 2006-8-30 20:31 发表
??? Undefined function or variable 'v'.
写错了一个字符,把V改成af就行了,上面已经修正
多谢
试过了,好用happy的算法好?
关键要知道啥是方向导数,方向导数=梯度与所求方向上单位向量的点积。当f为一位时,用jacobian(f)求出f的梯度向量,再点乘以所求方向上的单位向量即可。 原帖由 tynewton 于 2007-1-25 14:10 发表
关键要知道啥是方向导数,方向导数=梯度与所求方向上单位向量的点积。
当f为一位时,用jacobian(f)求出f的梯度向量,再点乘以所求方向上的单位向量即可。
说的没错,不过大多数"学过高等数学的人"应该都明白你所说的.
当然对于某些忘记了的人还是有提示作用的.
页:
[1]