MATLAB中怎样求一个多元函数的梯度?

问题描述:

MATLAB中怎样求一个多元函数的梯度?
若某一函数f(x)是一个n元函数,x是一个向量,怎么求该函数的梯度呢?
如果我求一个普通函数的梯度呢?也就是说没有给出具体表达式的函数f(x)
1个回答 分类:综合 2014-11-15

问题解答:

我来补答
举个例子
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)]
 
 
展开全文阅读
剩余:2000
上一页:关于ATP```````