Matlab 用于求解无约束非线性规划的函数有:fminsearch和fminunc,用法介绍如下。

%用于求解无约束非线性规划的函数有: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;

你可能感兴趣的:(函数,matlab,fminsearch,fminunc)