曲线拟合线性最小二乘法及其MATLAB程序Word下载.docx
- 文档编号:4858564
- 上传时间:2023-05-04
- 格式:DOCX
- 页数:21
- 大小:53.24KB
曲线拟合线性最小二乘法及其MATLAB程序Word下载.docx
《曲线拟合线性最小二乘法及其MATLAB程序Word下载.docx》由会员分享,可在线阅读,更多相关《曲线拟合线性最小二乘法及其MATLAB程序Word下载.docx(21页珍藏版)》请在冰点文库上搜索。
x=[-2.5-1.7-1.1-0.800.11.52.73.6];
fi=al.★x.A3+a2・*x・A2+a3・*x4-a4
运行后屏幕显示关于gg心和如的线性方程组
fi=[-125/8*al+25/4*a2-5/2*a3+a4,
-4913/1000*al+289/100*a2-17/10*a3+a4z-1331/1000*al+121/100*a2-ll/10*a3+a4,-64/125*al+16/25*a2-4/5*a3+a4,
a4,l/1000*al+l/100*a2+l/10*a3+a4,
27/8*al+9/4*a2+3/2*a3+a4,19683/1000*al+729/100*a2+27/10*a3+a4,5832/125*al+324/25*a2+18/5*a3+a4]
编写构造误差平方和的MATLAB程序
y=[-192.9-85.50-36.15-26.52-9.10-8.43-13.126.50
fi=[-125/8*al+25/4*a2-5/2*a3+a4,
-4913/1000*al+289/100*a2-17/10*a3+a4r
-1331/1000*al+121/100*a2-ll/10*a3+a4<
-64/125*al+16/25*a2-4/5*a3+a4za4,
!
/1000*al+l/100*a2+l/10*a3+a4z
27/8*al+9/4*a2+3/2*a3+a4z
19683/1000*al+729/100*a2+27/10*a3+a4<
5832/125*al+324/25*a2+18/5*a3+a4];
fy=fi-y;
fy2=fy・A2;
J=sum(fy・八2)
运行后屏幕显示误差平方和如下
J=
(-125/8*al+25/4*a2-5/2*a3+a4+1929/10)A2+<
-4913/1000*al+289/100*a2-17/10*a3+a4+171/2)A2+(-1331/1000*al+121/100*a2-ll/10*a3+a4+723/20)A2+(-64/125*al+16/25*a2-4/5*a3+a4+663/25)A2+(a4+91/10)A2+(l/1000*al+l/100*a2+l/10*a3+a4+843/100)A2+(27/8*al+9/4*a2+3/2*a3+a4+328/25)A2+(19683/1000*al+729/100*a2+27/10*a3+a4-13/2)A2+(5832/125*al+324/25*a2+18/5*a3+a4-1701/25)A2
为求⑷"
4“使丿达到最小.只需利用极值的必要条件—=0伙=123,4),
得到关于⑷心心心的线性方程组,这可以由下而的MATLAB程序完成,即输入程序
J=(-125/8*al+25/4*a2-5/2*a3+a4+1929/10)A2+<
-4913/1000*al+289/100*a2-17/10*a3+a4•・・+171/2)A2+(-1331/1000*al+121/100*a2-ll/10*a3+a4+723/20)A2+(-64/125*al+16/25*a2-4/5*a3+a4+663/25)A2+(a4+91/10)A2+(!
/1000*al+l/100*a2+l/10*a3+a4+843/100)A2+(27/8*al+9/4*a2+3/2*a3+a4+328/25)A2+(19683/1000*al+729/100*a2+27/10*a3+a4-13/2)A2+(5832/125*al+324/25*a2+18/5*a3+a4-1701/25)A2;
Jal=diff(Jzal);
Ja2=diff(J,a2);
Ja3=diff(Jza3);
Ja4=diff(Jza4);
Jall=simple(Jal),Ja21=simple(Ja2)zJa31=simple(Ja3)/
Ja41=simple(Ja4)/运行后屏幕显示J分别对5,“2,心X/4的偏导数如下
Jall=
56918107/10000*al+32097579/25000*a2+1377283/2500*a3+23667/25074-8442429/625
Ja21=
32097579/25000*al+1377283/2500*a2+23667/250*a3+67*a4+767319/625
Ja31=
1377283/2500*al+23667/250*a2+67*a3+18/5*a4-232638/125
Ja41=
23667/250*al+67*a2+18/5*a3+18*a4+14859/25
解线性方程组Jcl\\=0»
Jci2\=0>
Jd3\=0f肋41=0,输入卜列程序
A=[56918107/10000a32097579/25000,1377283/2500,
23667/250;
32097579/25000,1377283/2500,23667/250,67;
1377283/2500,23667/250,67,18/5;
23667/250,67,18/5,18];
B=[8442429/625,-767319/625,232638/125,-14859/25];
C=B/A,f=poly2sym(C)
运行后屏幕显示拟合函数/及其系数C如下
C=5.0911-14.19056.4102-8.2574
f=716503695845759/140737488355328*xA3
-7988544102557579/562949953421312*xA2
+1804307491277693/281474976710656*x-4648521160813215/562949953421312故所求的拟合曲线为
/(%)=5.0911x3-14.1905x2+6.4102x-8.2574.
(4)编写下而的MATLAB程序估计其误差,并作岀拟合曲线和数据的图形•输入程序
xi=[-2.5-1.7-1.10800.11.52.73.6];
y=[-192.9-85.50-36.15-26.52-9.10-8.43-13.126.5068.04];
n=length(xi);
f=5.0911.*xi.A3-14.1905.*xi.A2+6.4102.*xi-8.2574;
X=-2.5:
0.01:
3.6;
F=5.0911/X.A3-14.1905/X.A2+6.4102/X-8.2574;
fy=abs(f-y);
fy2=fy.A2;
Ew=max(fy),
E1=sum(fy)/n,E2=sqrt((sum(fy2))/n)
plot(xi,yy'
j,holdon,plot(x,F;
bJ),holdofflegendf数据点(xi,yi儿拟合曲线y=f(x)t),xlabelfx*),ylabel(y),
titled例721的数据点(xi,yi)和拟合曲线y=f(x)的图形•)
运行后屏幕显示数据(兀,儿)与拟合函数/的最大误差圧,平均误差Z和均方根误差E:
及其数据点(曲,儿)和拟合曲线的图形(略).
Ew=El=E2=
OS/TTcT-(q*S/8T)dxe4E)+“(00T/L8^T-(q*0T/Lc)dxe¥
p)+3V(001/699-(q*c/€)^e*e)+cv(00T/L8TT-(q*0l/T3)dxe¥
e)+3V(00T/L83T-(q*S/S)dxe*^)+3v(00T/L^€T-(q*9/£
T)dxe*p)+cv(00T/L£
cS-(q*S/LT)d^^*^)+3v(S3/8^9-(q*S/8T)+sv(08/E80E-心¥
乙/6)dx.E)+"
(00I/LT6S-(q*0I/
Tg)dxe^E)+"
(S/8S8-(q*S/惩)dx»
E)+“(00T/Z-C86T-(qMl/U)dx*E)+Sv(00T/I83S-(qMT:
/厶8)dxje)+"
(0$/£
96丸一(q^/空)dxjE)=i?
qesuiAs<
<
岀哉Y酚胎’舉事岀葩红\n丄V驸切蚩山甲方也宴
v(0S/IIcl-(q*S/8T)d^e*^)+3v(00I/L8^T-(q*0l/Lc)dxe^e)+sv(001/699-(4早乙/£
)&
*&
¥
引+"
(00T/L8TT-(q“l/M)dx*E)+“(00I/L83T-(q*c/S)dxe¥
P)+Sv(OOT/L^£
T-(q*9/ST)dxe*p)+cv(00T/L8cS-(q*S/£
T)dxe¥
e)+sv(Sc/8^9-(q早S/8l)dx6¥
E)+"
(0S/£
80Z-(q¥
"
6)dx»
E)+“(00T/LT6S-(q*0T/TS)dxe*E)+3v(g/Q38-(q*S/7£
)d^e*^)+Sv(00T/Lc86T-(q$0l/"
)dx*E)+Cv(OOT/T8S9-(qjl/ig)dxgw)+3V(0S/€96c3-(q*S/LT)dxe^e)
=C
f[丸・皿V讥'
69・9yL8eTTV8•乙
L£
-3cy36-SSy99-T^/LT-6Sy09-S9T/LS-86T/T8-3S/93-69^]=A«
山|埠期葩avi±
vw轲时*去巽迫衷创丘呀
((q*S/8T)<
3^^*^7(q*0T/L3)dxe*E'
(q早乙/£
)dxm^E
(q*0T/Tc)d^^*^7(q¥
Z/S)dx&
E'
(q*S/£
T)dxe^E'
(q^S/厶I)
z(q¥
7/6)dx^¥
E7(q^Ol/lS)'
(q^S/yS)
y(q*0l/T£
)<
5xe¥
ey(q*0T/L8)z(q^s/^I)dxe¥
E]
=TJ
苗葩*粋褊胡勺咄“壬关士酉畫均些◎密
(x厂q_)dxe*・e=tj仃9・£
-'
厶•乙-WT-'
T
乙-V•乙-'
9・E-[・£
-"
9・£
-yr-'
0「—y・9-q・l-q・8-W・—〕=x
国滋函胡®
("
k)刃(x)/虜」!
刹討时1LV代皈丄丘黔(£
•(别)I咄写轴阴出廉土酉豈斟些马密(-開竽朋胡(”F)£
•匕妙2m
7(^JieqeiA'
(耳门咛“
(.(tA^tx)舉廉珮滚1)Puab©
T7(Z.虫収)4Ojd
[3c-73/L8^T/69-9/L8-TI^8*61'
MXlW芮/S6-S3/99-T^/LT-6S/09-S9TzL3-86l/I8-3S/9S-69^]=^
仃9・—w-y・i-w-
'
名•乙_z9・乙・£
9.g—'
S・9一(\・L_(L・8_]=x<
刹商Y翰□职#工訳"
VW#(D搦
•翳聊呂絳阳非僚遼甘44卵半g时(£
厶)WL)出北'
翳聊呂诽奉浪途二屮會科翳出黑'
(况•陀28予「69928578
力TI7£
•况*36•%499H71"
69‘09"
99173-861418•圧‘92飞纺)=心〈再刨叫兩聊修'
(9£
一7N-t*1-X•乙一9N-497-争・£
一'
9・£
一W巾一'
01'
9-“8"
9-X工一7"
8-写*8-)从再刨笺帝謝切(’“上)写秦滋雜滾苗一阳隔厂£
・"
@
i/Banivw(r)rz
)A2;
Ja=diff(Jza);
Jb=diff(J,b);
Jal=simple(Ja)rJbl=simple(Jb)r运行后屏幕显示J分别对gb的偏导数如下
Jal=
2*a*exp(3*b)+2*a*exp(17*b)+2*a*exp(87/5*b)+2*exp(68/5*b)*a+2*exp(9*b)*a+2*a*exp(34/5*b)-669/50*exp(3/2*b)-1487/50*exp(27/10*b)-2507/25*exp(18/5*b)-22963/25*exp(17/2*b)-5281/50*exp(87/10*b)-19827/50*exp(71/10*b)-2237/50*exp(17/5*b)-1656/5*exp(34/5*b)-1347/50*exp(13/5*b)-5917/50*exp(51/10*b)-1287/50*exp(5/2*b)-2083/25*exp(9/2*b)-1187/50*exp(21/10*b)+4*a*exp(36/5*b)+2*a*exp(26/5*b)+2*a*exp(71/5*b)+2*a*exp(51/5*b)+2*a*exp(5*b)+2*a*exp(21/5*b)+2*a*exp(27/5*b)
Jbl=
l/500*a*(2100*a*exp(21/10*b)A2+8500*a*exp(17/2*b)八2+6800*a*exp(34/5*b)A2-10035*exp(3/2*b)-40149*exp(27/10*b)-180504*exp(18/5*b)-3903710*exp(17/2*b)-459447*exp(87/10*b)-1407717*exp(71/10*b)-76058*exp(17/5*b)-1126080*exp(34/5*b)-35022*exp(13/5*b)-301767*exp(51/10*b)-32175*exp(5/2*b)-187470*exp(9/2*b)-24927*exp(21/10*b)+7100*a*exp(71/10*b)A2+5100*a*exp(51/10*b)A2+4500*a*exp(9/2*b)A2+7200*a*exp(18/5*b)A2+3400*a*exp(17/5*b)A2+2600*a*exp(13/5*b)A2+2500*a*exp(5/2*b)A2+1500*a*exp(3/2*b)A2+2700*a*exp(27/10*b)A2+8700*a*exp(87/10*b)A2)
用解二元非线性方程组的牛顿法的MATLAB程序求解线性方程组hi=0,得
a=b=
2.81100.5816
故所求的拟合曲线(7.13)为
/(x)=2.8110e_<
)58,6\(7.14)
(4)根据(7.2),(73),(7.4)和(7.14)式编写下而的MATLAB程序估计其误差,并做岀拟合曲线和数据的图形•输入程序
xi=[-8.5-8.7-7.1-6.8-5.10-4.5-3.6-3.4-2.6-2.5
-2.1-1.5-2.7-3.6];
y=[459.2652.81198.27165.6059.1741.6625.9222.37
13.4712.8711.876.6914.8724.22];
n=length(xi);
f=2.8110・*exp(一0・5816・*xi);
x=-9:
0・01:
-1;
F=2.8110・*exp(-0・5816・*x);
fy=abs(f-y);
fy2=fy・A2;
Ew=max(fy)/
El=sum(fy)/nzE2=sqrt((sum(fy2))/n),plot(xizy,1r*1)zholdonplot(xzFz'
b-'
),holdoff,
legend(•数据点(xi,yi)1「拟合曲线y=f(x)f)
xlabel(•x'
),ylabelf'
y1)/
title(■例7.3.1的数据点(xi,yi)和拟合曲线尸f(x)的图形'
运行后屏幕显示数据(£
兀)与拟合函数/的最大误差Eh=390.1415,平均误差£
1=36.9422和均方根误差£
2=106.0317及其数据点(心片)和拟合曲线y=f(x)的图形(略)•
7.4多项式拟合及其MATLAB程序
例7.4.1给出一组数据点(石,儿)列入表7-3中,试用线性最小二乘法求拟合曲线,
并用(72),(7.3)和(7.4)式估讣英误差,作出拟合曲线.
表7-3例7.4.1的一组数据(心必)
Xi
-2・9
-1・9
-1・1
0・1
3・6
yt
53・94
33・68
20.88
16.92
8.79
8・98
4・17
9・12
19.88
解
(1)首先根据表7-3给出的数据点用下列MATLAB程序画出散点图.
在MATLAB工作窗口输入程序
x=[-2.9-1.9-1.1-0.800.11.52.73.6];
y=[53.9433.6820.8816.928.798.984.179.12
19.88];
plot(xzy,'
r*1)zlegend(f数据点(xi,yi)1)xlabel('
x1)rylabel('
y'
),title「例7・4.1的数据点(xizyi)的散点图1)运行后屏幕显示数据的散点图(略)・
(3)用作线性最小二乘拟合的多项式拟合的MATLAB程序求待定系数心伙=1,2,3).输入程序
a=polyfit(xzy,2)运行后输出(7」6)式的系数
a=
2.8302-7.37219.1382
故拟合多项式为
f(x)=2.8302,_7.372lx+9.1382.
(4)编写下而的MATLAB程序估il•其误差,并做出拟合曲线和数据的图形•输入程序
xi=[-2.9-1.9-1.1-0.800.11.52.73.6];
y=[53.9433.6820.8816.928.798.984.179.1219.88];
n=length(xi);
f=2・8302.*xi.A2-7.3721.*xi+9.1382x=-2.9:
0.001:
3.6;
F=2.83O2.*x.A2-7.3721.*x+8.79;
Ew=max(fy)fEl=sum(fy)/nr
E2=sqrt((sum(fy2))/n),plot(xizyz'
r*1r'
),
legend(f数据点(xizyi)•「拟合曲线y=f(x)1)xlabel(•x1),ylabel(・y
title(■例7.4.1的数据点(xi.yi)和拟合曲线yN(x)的图形f)
运行后屏幕显示数据)与拟合函数f的最大误差E.平均误差E1和均方根误差E:
及其数据点(XJ)和拟合曲线尸心)的图形(略).
0.7457f0.3892,0.4363
7.5拟合曲线的线性变换及其MATLAB程序
例7.5.1给出一组实验数据点(石,),J的横坐标向量为x=(7.56.85.104.53.63.42.62.52.11.52.73.6),纵横坐标向量为j=(359.26165.6059.17
41.6625.9222.3713.4712.8711.876.6914.8724.22),试用线性变换和线性
最小二乘法求拟合曲线,并用(7.2),(7.3)和(7.4)式估计其误差,作出拟合曲线.
解
(1)首先根据给出的数据点(旺,兀),用下列MATLAB程序画出散点图.
x=[7.56.85.104.53.63.42.62.52.11.52.7
3.6];
y=[359.26165.6059.1741.6625.9222.3713.4712.87
11.876.6914.8724.22];
plot(x,y,fr*r),legend(r数据点(xi,yi)f)xlabel(^1),ylabel(^1),
tit*「例7•5•1的数据点(xi,yi)的散点图•)
运行后屏幕显示数据的散点图(略)•
(2)根据数据散点图,取拟合曲线为
y=aebx@>
0上工0),(7.19)
英中是待定系数.令Y=lny,A=lna,3=b,则(7.19)化为Y=A+Bx.在MATLAB工作窗口输入程序
3.6];
y=[359.26165.6059.1741.6625.9222.3713.47
12.8711.876.6914.8724.22];
Y=log(y);
a=polyfit(xzYz1);
B=a
(1);
A=a
(2);
b=Bfa=exp(A)n=length(x);
X=8:
-0.01:
1;
Y=a*exp(b・*X);
f=a*exp(b・*x);
plot(xAyzxlabel(rxf),ylabe:
L「y'
legend(1数据点(xi,yi),J拟合曲线y=f(x)f)
title(■例7.5.1的数据点(xi,yi)和拟合曲线y=f(x)的图形1)fy=abs(f-y);
Ew=max(fy),El=sum(fy)/n,E2=sqrt((sum(fy2))/n)
运行后屏幕显示y=W的系数b=0.6241,"
=2.7039,数据(呂,兀)与拟合函数/的最大误差E"
=67
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 曲线拟合 线性 最小二乘法 及其 MATLAB 程序