matlab中lsqnonlin,matlab的lsqnonlin函数怎么用?

按照课本上的说法,isqnonlin主要用于求解非线性最小二乘(曲线拟合)问题。最一般的调用方法:

[x,norm,res,ef,out,lam,jac]=isqnonlin(@F,x0,v1,v2,opt,P1,P2,...)

左边是输出列表,右边是输入列表。

输出列表中参数的含义是:

x:目标函数F中的待定参数

norm:误差的平方

res:误差的向量

ef:程序停止运行的原因

out:一个结构变量,包含程序运行或停止时的一些信息

lam:上下界所对应的拉格朗日乘子

jac:结果(x点)处的雅可比矩阵

输入列表中参数的含义:

F:调用的函数

x0:迭代初值或有根区间

v1等:课本上没说我也不知道,一般写作[],意思是使用缺省值(默认值)

opt控制程序运行的参数,一般写作[],意思也是使用缺省值(默认值)

P1等:传递给F的参数(有需要的话)

以上就是isqnonlin的调用方法,最后再提醒大家,并不需要把所有的输入输出都写出来,只需要写出自己需要的就行。

举个例子(比如只想要x):

函数

function h=aabb(x)

h(1)=x(2)-x(1)^2;

h(2)=1-x(1);

命令行

x0=[2,2];

[x]=lsqnonlin(@aabb,x0)

结果为

1 .000   1.000

c5cda85f92f8427e168c2f2d04b8c18d.png

以上~

  • 0
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值