- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
10.4最小二乘优化问题
10.4
LS (Least Sqaures)
m
2 ′ n
min F(x) ∑r (x) r r x =∈R , m ≤n
i
i 1
r r (x) (r (x), r (x), , r (x)) r (x )
1 2 m i
MATLAB
lsqnonlin
10.4.1 lsqnonlin
1.
lsqnonlin
lsqnonlin
min sum{fun(x).^2} fun x
2.
x= lsqnonlin (fun,x0) x0M
fun (x) fun
funfun (x)
x= lsqnonlin (fun,x0,lb,lu) lbub
lb x ub
10.4.1(x1 −1)2 +(x 2 −2)2
x= lsqnonlin ([x(1)-1,x(2)-2],[0,1])
x =
1 2
10.4.2 lsqcurvefit
1
lsqcurvefit
lsqcurvefit
min sum{(fun (beta,xdata-ydata).^2}
x
funxdataydata, beta
2
[beta,norm]=lsqcurvefit (fun,beta0,xdata,ydata)
beta0fun(beta,x)ydata
betafun betaxdata
norm
beta=lsqcurvefit (fun,beta0,xdata,ydata,lb,lu) lbub
lb x ub
10.4.2
xdata=[3.6 7.7 9.3 4.1 8.6 2.8 1.3 7.9 10.0 5.4];
ydata=[16.5 150.6 263.1 24.7 208.5 9.9 2.7 163.9 325.0 54.3];
y ax2 +b sin x +cx3
Mtestfun.m
function y=testfun(beta,x)
y=beta(1)*x.^2+beta(2)*sin(x)+beta(3)*x.^3;
xdata=[3.6 7.7 9.3 4.1 Optimization terminated
8.6 2.8 1.3 7.9 10.0 5.4]; successfully:
ydata=[16.5 150.6 263.1 Relative function value
24.7 208.5 9.9 2.7 163.9 changing by less than
325.0 54.3]; OPTIONS.TolFun
beta0=[10 10 10]; beta =
[beta,resnorm]= 0.2269 0.3385 0.3021
lsqcurvefit(@testfun,beta0 resnorm =
,xdata,ydata) 6.2950
文档评论(0)