MATLAB函数调用格式

来源:百度知道 编辑:UC知道 时间:2024/05/23 15:16:06
求解程序名为fminunc,其最简单的调用格式为:

x = fminuncn('fun',x0)

其最复杂的调用格式为:

[x,fval,exitflag,output,grad,hessian] = fminunc(@f,x0,options,P1,P2,...)

麻烦高手帮忙解释下调用格式里的变量都代表什么?把后面的省略号补充全可以吗?谢谢大家!
麻烦高手帮个忙,请问解有约束非线性规划问题,用MATLAB中的哪个函数?把函数的调用格式完整的写清楚,谢谢

x--最有解
fval--目标函数值
exitflag--exitflag>0说明目标函数收敛于解;exitflag<0说明目标函数不收敛于解;exitflag=0说明目标函数振荡
output--优化结果输出,一般会显示迭代次数、最后一次迭代对目标函数计算次数、最后一次迭代步长、解出的一阶导数、采用的优化算法
grad--解点的梯度
hessian--解点的汉森值(矩阵)

@f--要优化的函数
x0--x的初值,提请设定
options--参数说明变量,共有18个元素包含了优化程序中需要用到的参数,所有的优化函数都要用到这个参数向量,其中某些优化函数只用到向量的某些元素,一般格式为options=optimset()。
至于后面省略号的内容应该是没有的,有的话对优化问题没有影响。不予考虑。
求解优化问题的一般程序为:
clear
fun=‘-exp(-(x(1)^2)+x(2)^2)';%定义目标函数
x0=[1,1];
options=optimset('largescale','off',‘display’,'iter');
options=optimset(options,'tolx',1e-8);%tolx用来控制输入变量x的允许误差的精度
options=optimset(options,'tolfun',1e-8);%tolfun用来控制目标函数f的允许误差精度
[x,fval,exitflag,output,grad,hessian] = fminunc(fun,x0,options);
还可以参考http://exp.math.tsinghua.edu.cn:9100/freeOptimize/C2S1S4.htm