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

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/05 22:46:37
MATLAB中怎样求一个多元函数的梯度?若某一函数f(x)是一个n元函数,x是一个向量,怎么求该函数的梯度呢?如果我求一个普通函数的梯度呢?也就是说没有给出具体表达式的函数f(x)

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)]