24小时热门版块排行榜    

查看: 1460  |  回复: 5
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

yg5189

木虫 (小有名气)

[求助] matlab符号函数求导及梯度的问题

比如现有函数
function f=fun(x)
f=2*x(1)*x(1)-x(2)-1;

1.求f对x(1)的导数在[1,2]这点的值
2.求f对x的梯度(也就是分别对x(1),x(2)求导的一个向量)在[1,2]这点的向量(如果是重复使用1中的函数的话那这题可以不用写)

*注意:不是将x(1),x(2)变为x1,x2,因为我实际求的函数有n维,我想用for循环!谢谢
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yg5189

木虫 (小有名气)

引用回帖:
2楼: Originally posted by libralibra at 2012-06-30 23:10:24
matlab求导命令diff调用格式:

diff(函数) , 求的一阶导数;

diff(函数, n) , 求的n阶导数(n是具体整数);

diff(函数,变量名), 求对的偏导数;

谢谢你的回复!
不过我试过diff,好像不行,是不是我用的不对,能不能发一个你写的例子?
3楼2012-07-01 08:57:25
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yg5189

木虫 (小有名气)

引用回帖:
5楼: Originally posted by libralibra at 2012-07-01 18:32:00
抱歉,最后一句写错了
grad12 = subs(grad,{x,y},{1,2});
disp();

结果
df/dx =
4*x
df/dy =
-1

df/dx @  = 4
gradient(f,x,y) @  = ...

嗯,谢谢你! 看来只能这样了。
6楼2012-07-02 09:33:16
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 yg5189 的主题更新
信息提示
请填处理意见