匿名函数的优点是它可以直接写进主函数,不用再单独创建一个函数文件,举个栗子。
warning off
fun=@(w)(w(1)^2+(w(2)-1)^2-2); %定义匿名函数
w0=[0 0];%定义优化初值
options=optimoptions('fminunc','Display','off','TolX',1e-9,'TolFun',1e-9,'MaxIter',1e4);%定义优化选项
[w,fval]=fminunc(fun,w0,options) %定义输出,w为自变量值,fval为因变量值
结果为
w =
-0.0000 1.0000
fval =
-2