怎么用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);endend这是fun1的函数,m已知(已赋值),x是长度为24的未知行矩阵,怎么求函

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/08 17:27:39
怎么用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);endend这是fun1的函数,m已知(已赋值),x是长度为24的未知行矩阵,怎么求函

怎么用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);endend这是fun1的函数,m已知(已赋值),x是长度为24的未知行矩阵,怎么求函
怎么用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,拼凑也行,但是我就是一个的偏导数也算不出来,不知道哪里写错了

怎么用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);endend这是fun1的函数,m已知(已赋值),x是长度为24的未知行矩阵,怎么求函
试试,下面的代码,如果xi是实数将eval(['syms ',sx,' ',sm])改为eval(['syms ',sx,' ',sm,' real']),计算结果可能更简洁一些,这里由于不知道你的m值,所以也将其参数化了,你可以将其换为你需要的值.若有问题,可继续追问
x=[];
m=[];
for i=1:24
sx=['x',num2str(i)];
sm=['m',num2str(i)];
eval(['syms ',sx,' ',sm])
eval(['x=[x,',sx,'];']);
eval(['m=[m,',sm,'];']);
end
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
jac=jacobian(sh,x);
jac'

举个例子
syms x y z
f=x^2+x*y+z;
gradient=jacobian(f,[x,y,z])%求梯度
%gradient =
%[ 2*x + y, x, 1]
x=-1;y=2;z=3;
tiduzhi=eval(gradient) %求在(-1,2,3)的梯度值
%
%tiduzhi =
%<...

全部展开

举个例子
syms x y z
f=x^2+x*y+z;
gradient=jacobian(f,[x,y,z])%求梯度
%gradient =
%[ 2*x + y, x, 1]
x=-1;y=2;z=3;
tiduzhi=eval(gradient) %求在(-1,2,3)的梯度值
%
%tiduzhi =
%
% 0 -1 1
对于补充的问题,那就没什么函数,你直接用diff求微分算了
gradient=[diff(f,x),diff(f,y),diff(f,z)]

收起

怎么用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);endend这是fun1的函数,m已知(已赋值),x是长度为24的未知行矩阵,怎么求函 MATLAB 中怎么求N维向量函数的梯度,求完怎么赋值? matlab的m文件怎么运行啊? matlab怎么用更新后的值进行计算我用Matlab在M文件编程,假设主函数为A,它需调用另一个M文件B中的矩阵值C,运算主函数A后,根据得到的结果,在Matlab界面通过赋值改变矩阵C的值,但是当我再次运行 matlab怎么在一个m文件中写多个函数? 请问您能告诉我用MATLAB怎么求图像的梯度特征吗? MATLA 中的函数M文件怎么建立 已知函数,怎么求梯度.已知梯度怎么求函数. matlab怎么建立目标函数文件初学者,正在看优化工具箱的部分.上面写建立目标函数文件 ***.m文件.请问如何建立? 有没有Matlab高手?求指教 主要是M文件的函数部分 matlab 编写一个m函数文件,求一数组中的元素,使得该元素的绝对值在该数组所有元素的绝对值中是最大的. matlab:编写一个M函数文件,比较五个数的大小,并能返回五个数中的最大值和最小值. MATLAB中怎样求一个多元函数的梯度?若某一函数f(x)是一个n元函数,x是一个向量,怎么求该函数的梯度呢?如果我求一个普通函数的梯度呢?也就是说没有给出具体表达式的函数f(x) 求一个函数的最大范数的Matlab文件是什么? MATLAB用function定义一个函数后 怎么让这个函数生效 是把这个M文件存到哪啊 用matlab求复数的指数对数、正弦和余弦,并在命令文件中调用该函数文件. 求矩阵LU分解的matlab代码.m文件欢迎! matlab用input让用户输入一函数f(x)后,怎么把他变成matlab里面的function自定义函数在一M文件里用input让用户输入任意函数 如 3*x+2 ,然后在同一M文件里定义一function函数 使该函数为用户输入的函数