MATLAB中怎样求一个多元函数的梯度?若某一函数f(x)是一个n元函数,x是一个向量,怎么求该函数的梯度呢?如果我求一个普通函数的梯度呢?也就是说没有给出具体表达式的函数f(x)

来源:学生作业帮助网 编辑:作业帮 时间:2024/07/20 08:22:24
MATLAB中怎样求一个多元函数的梯度?若某一函数f(x)是一个n元函数,x是一个向量,怎么求该函数的梯度呢?如果我求一个普通函数的梯度呢?也就是说没有给出具体表达式的函数f(x)
xOA2.a1z7o&kqm*Q3 -1A!&`LkffwO L^z͛_V?5Jsx`=Rг]I[&-;Gm(3PH&H͝\q ǐI*erWuZj5jaOIKF$''NXc;lyn}{cvb\lj[YtHS$_v䔺ޕɟ7T9P`A Iak 3-="I!1I.-jjOJ Mq1$\zMfY >D?9ģl|Qۺncl/ӭɵ}DKmRū=ǣ߇l"HSK[9>/π{

MATLAB中怎样求一个多元函数的梯度?若某一函数f(x)是一个n元函数,x是一个向量,怎么求该函数的梯度呢?如果我求一个普通函数的梯度呢?也就是说没有给出具体表达式的函数f(x)
MATLAB中怎样求一个多元函数的梯度?
若某一函数f(x)是一个n元函数,x是一个向量,怎么求该函数的梯度呢?
如果我求一个普通函数的梯度呢?也就是说没有给出具体表达式的函数f(x)

MATLAB中怎样求一个多元函数的梯度?若某一函数f(x)是一个n元函数,x是一个向量,怎么求该函数的梯度呢?如果我求一个普通函数的梯度呢?也就是说没有给出具体表达式的函数f(x)
举个例子
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)]