matlab中lsqnonlin函数怎么使用?

 我来答
透彻且鲜活丶宠物c
2020-01-29 · TA获得超过3.6万个赞
知道小有建树答主
回答量:1.4万
采纳率:26%
帮助的人:747万
展开全部
matlab的lsqnonlin()函数主要用于拟合非线性函数的系数,其处理方法是利用最小二乘法原理,使得函数的均方误差最小。
lsqnonlin()函数基本使用格式:
x
=
lsqnonlin(fun,x0,lb,ub,options)
x——使用迭代法搜索最优参数,x可以是一个变量,也可以是多个变量
fun——自定义函数,即非线性函数
x0——x变量的迭代初值
lb,ub——x值的上下限制值,即x值的范围设定,也可以是空矩阵【】
options—— 使用optimoptions设置选项,可以参照matlab的使用手册
使用实例:
xdata
= [0.9
1.5
13.8
19.8
24.1
28.2
35.2
60.3
74.6
81.3];
ydata
= [455.2
428.6
124.1
67.3
43.2
28.1
13.1
-0.4
-1.3
-1.5];
fun
=
@(x)x(1)*exp(x(2)*xdata)-ydata;
x0
=
[100,-1];
options
=
optimoptions(@lsqnonlin,'algorithm','trust-region-reflective');
x
=
lsqnonlin(fun,x0,[],[],options)
运行结果
x
=
498.8309

-0.1013

%即x1=498.8309,x2=-0.1013
析鹏蒿鹏翼
2020-04-21 · TA获得超过3739个赞
知道大有可为答主
回答量:3058
采纳率:32%
帮助的人:436万
展开全部
叠代的初始值.y=U-x(1)*I.^x(2)
就是这里x(1),x(2)的初始值.
x0
=
[0.3
0.4]
%可以这么设定,大小自己可以修改
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
包瑜寻博延
2020-03-21 · TA获得超过3795个赞
知道大有可为答主
回答量:3171
采纳率:26%
帮助的人:247万
展开全部
在默认option情况下,如果你知道结果,那么选择与结果相差不大的.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式