数值分析实验报告--最小二乘拟合

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验过程:

一、根据所给数据作出温度随时间变化的散点图。>> x=0:24;

>> y=[15 14 14 14 14 15 16 18 20 22 23 25 28 31 32 31 29 27 25 24 22 20 18 17 16];

>>stem(x,y,'k*')

点的标记是黑色的*.

这是温度随时间变化的散点图。

二、输入数据,拟合出各类函数的各个系数。(用polyfit

命令来求拟合系数)

(1)>> x=0:24;

>> y=[15 14 14 14 14 15 16 18 20 22 23 25 28 31 32 31 29 27 25 24 22 20 18 17 16];

>> b2=polyfit(x,y,2)

b2 =

-0.0936 2.5943 8.4157

---这是拟合出的二次多项式的各项系数。

(2)>> x=0:24;

>> y=[15 14 14 14 14 15 16 18 20 22 23 25 28 31 32 31 29 27 25 24 22 20 18 17 16];

>> b3=polyfit(x,y,3)

>>b3 =

-0.0080 0.1931 -0.1022 13.2513

---这是拟合出的三次多项式的各项系数。

(3)>> x=0:24;

>> y=[15 14 14 14 14 15 16 18 20 22 23 25 28 31 32 31 29 27 25 24 22 20 18 17 16];

>> b4=polyfit(x,y,4)

>>b4 =

0.0009 -0.0521 0.8658 -3.5257 16.6041

---这是拟合出的四次多项式的各项系数。

(4)

function y=f1(x)

for i=1:25

y(i)=log(x(i));

end

>> y1=f1( x);

>> b5=polyfit(x,y1,2)

b5 =

-0.0045 0.1253 2.3866

>> y_=f1(y);

>> b6=polyfit(x,y4,2)

>> b6=polyfit(x,y_,2)

b6 =

-0.0045 0.1253 2.3866

>> exp(0.0045*13.9222* 13.9222+2.3866)

ans =

26.0189

---这是拟合出来的指数函数的各系数。

三、计算误差平方和

1.二次函数的误差平方和

function y=f2(x)

x=0:24;

y=[15 14 14 14 14 15 16 18 20 22 23 25 28 31 32 31 29 27 25 24 22 20 18 17 16];

y2=-0.0936*x.^2+2.5943*x+8.4157;

s2=y2-y;

s21=0;

for i=1:25

s21=s21+s2(i)^2;

end

s21

s21 =

241.2445

2.三次函数的误差平方和

function y3=f3(x)

>> x=0:24;

y=[15 14 14 14 14 15 16 18 20 22 23 25 28 31 32 31 29 27 25 24 22 20 18 17 16];

y3=-0.0080*x.^3+0.1931*x.^2-0.1022.*x+13.2513;

s3=y3-y;

s31=0;

for i=1:25

s31=s31+s3(i)^2;

end

s31

s31 =

107.0314

3.四次函数的误差平方和

function y=f4(x)

>> x=0:24;

>>y=[15 14 14 14 14 15 16 18 20 22 23 25 28 31 32 31 29 27 25 24 22 20 18 17 16];

>>y4=0.0009*x.^4-0.0521*x.^3+0.8658*x.^2-3.5257.*x+16.6041;

>>s4=y4-y;

s41=0;

for i=1:25

s41=s41+s4(i)^2;

end

>>s41

s41 =

157.9107

4.指数函数2

)()(c x b ae x y --=的误差平方和

function y=f5(x) >> x=0:24;

>> y=[15 14 14 14 14 15 16 18 20 22 23 25 28 31 32 31 29 27 25 24 22 20 18 17 16];

>> y5=26.0189*exp(-0.0045*((x-13.9222).^2));

s5=y5-y;

s51=0;

for i=1:25

s51=s51+s5(i)^2;

end

s51

s51 =

184.3426

四、下面列程序作出图形。(最后一张为所有图形的比较)

>> function y2=f2(x)

>> x=0:24;

>> y=[15 14 14 14 14 15 16 18 20 22 23 25 28 31 32 31 29 27 25 24 22 20 18

17 16];

相关文档
最新文档