问题描述:
怎么用matlab求m文件中的函数的梯度
function sh=fun1(x,m)
sh=sum(x.^2)/2*1e6;
y=0;
for i=1:length(x)
y=y+sum(x(1:i));
sh=sh+(y-sum(x(1:i))/2)^2*m(i);
end
end
这是fun1的函数,m已知(已赋值),x是长度为24的未知行矩阵,怎么求函数的梯度,即对x中所有未知量的偏导数,结果应该是公式组成的行矩阵而不是数
matlab应该是可以求的吧,但是这个涉及到矩阵,用diff或者jacobian怎么写
写出一个diff,拼凑也行,但是我就是一个的偏导数也算不出来,不知道哪里写错了
function sh=fun1(x,m)
sh=sum(x.^2)/2*1e6;
y=0;
for i=1:length(x)
y=y+sum(x(1:i));
sh=sh+(y-sum(x(1:i))/2)^2*m(i);
end
end
这是fun1的函数,m已知(已赋值),x是长度为24的未知行矩阵,怎么求函数的梯度,即对x中所有未知量的偏导数,结果应该是公式组成的行矩阵而不是数
matlab应该是可以求的吧,但是这个涉及到矩阵,用diff或者jacobian怎么写
写出一个diff,拼凑也行,但是我就是一个的偏导数也算不出来,不知道哪里写错了
问题解答:
我来补答展开全文阅读