当前位置:文档之家› 数值分析实验报告--最小二乘拟合

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

实验过程:
一、根据所给数据作出温度随时间变化的散点图。

>> 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];
>>y2=-0.0936*x.^2+2.5943*x+8.4157;
>>plot(x,y2,'-m',x,y,'d')
这是拟合出来的二次函数的图像与散点图的对比
>>function y3=f3(x)
>>y3=-0.0080*x.^3+0.1931*x.^2-0.1022.*x+13.2513;
>> 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];
>>plot(x,y3,'g',x,y,'d')
这是拟合出来的三次函数的图像与散点图的对比
>>function y4=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.604 1;
>>plot(x,y4,'r',x,y,'d')
这是拟合出来的四次函数的图像与散点图的对比
>>function y5=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);
>>plot(x,y5,'k',x,y,'d')
这是拟合出来的指数函数的图像与散点图的对比。

将以上图形置于同一张图中
(二次、三次、四次、指数函数的图象分别为梅红色、绿色、红色、黑色)
实验总结:。

相关主题