%用于求解无约束非线性规划的函数有:fminsearch和fminunc,用法介绍如下。 %fminsearch函数 %x=fminsearch(fun,x0) %x=fminsearch(fun,x0,options) %x=fminsearch(fun,x0,options,p1,p2,...) %[x,fval]=fminsearch(fun,x0,options,p1,p2,...) %[x,fval,exitflag]=fminsearch(fun,x0,options,p1,p2,...) %[x,fval,exitflag,output]=fminsearch(fun,x0,options,p1,p2,...) %说明: %fun:使目标函数: %options:设置优化选项参数: %fval:返回目标函数在最优解x点的函数值: %exitflag:返回算法的终止标志: %output:返回优化算法信息的一个数据结构。 %fminunc函数 %x=fminunc(fun,x0) %x=fminunc(fun,x0,options) %x=fminunc(fun,x0,options,p1,p2,...) %[x,fval]=fminunc(fun,x0,options,p1,p2,...) %[x,fval,exitflag]=fminunc(fun,x0,options,p1,p2,...) %[x,fval,exitflag,output]=fminunc(fun,x0,options,p1,p2,...) %[x,fval,exitflag,output,grad]=fminunc(fun,x0,options,p1,p2,...) %[x,fval,exitflag,output,grad,hessian]=fminunc(fun,x0,options,p1,p2,...) %说明: %fun:使目标函数: %options:设置优化选项参数: %fval:返回目标函数在最优解x点的函数值: %exitflag:返回算法的终止标志: %output:返回优化算法信息的一个数据结构: %grad:返回目标函数在最优解x点的梯度: %hessian:返回目标函数在最优解x点的Hessian矩阵值。 %求函数f(X)=3*x1^2+2*x1*x2+x2^2的最小值。 %首先编写f(x)的.m文件 %function f=myfun(x) %f=3*x(1)^2+2*x(1)*x(2)+x(2)^2; %然后调用函数fminunc x0=[1,1] %起始点 [x,fval]=fminunc(@myfun,x0) myfun.m function f=myfun(x) f=3*x(1)^2+2*x(1)*x(2)+x(2)^2; |