a0=[1 1];
lb=[-10 -10 ];
ub=[10 10];
objfun=@(x) (1./(1+x(1).*xx.^2+x(2)))-(1./(1+8.15.*xx.^2+2.545));
options=optimset('Display','iter','Gradobj','on');
[x,resnorm,residual,exitflag,output,lambdal]=lsqnonlin(objfun,a0,lb,ub,options);
其中objfun为目标函数,x为变量的向量,如果你有多个变量则在目标函数里分别用x(1),x(2)……代替就行。
a0为需要求解变量的初始值
lb为对应求解变量的下界,ub为上界
对应输出中x即为需要求解变量的结果
注意:lsqnonlin函数求解的是下图所示形式的函数。就是说如果你输入的目标函数为x,在计算时实际上是寻找x^2的最小值。