文档介绍:数值分析实验报告
学院 专业 姓名 学号
电气工程与自动化学院 控制理论与控制工程
» 1 5)
0. 001265825500391
图2表二数据的解
实验总结
通过对插值法算法编程,加深了对插值方法的理解,熟悉了 MATLAB编写脚 本函数。通过计算机求解,能更加方便快捷求解。
实验二函数逼近与曲线拟合
—、目的和意义
1、 掌握曲线拟合的最小二乘法;
2、 最小二乘法亦可用于解超定线代数方程组;
3、 探索拟合函数的选择与拟合精度间的关系。
二、实验原理
对于给定的测量数据异炬1,2,…,n),设函数分布为 y(x) = £a 中(x)
j=0
特别的,取9 j(x)为多项式
中.(x) = xj (j=0, 1,…,m)
则根据最小二乘法原理,可以构造泛函
H(a ,a ,,a ) = X(f -ILa 9 (x ))
0 1 m i j j i
i=1 j=0
令
2H ——=0 (k=0, 1,…,m)
da k
则可以得到法方程
-(9 ,9 ) (9°,9)
0: 1
(91,90)
(9 ,9 ) 11
:
…(9m ,9 0) -
…(9 , 9 ) m 1
「a ]
0
a
—
=
「(f,9 0) ] (f W
|_(9 ,9 )
0 m
(9 ,9 )
1m
…(9 , 9 )」
mm
a
m
L(f,9 )」
m
求该解方程组,则可以得到解a ,a ,…,a,因此可得到数据的最小二乘解 0 1 m
f (x) *Y a 9 (x)
j=0
三、实验要求
1、用最小二乘法进行曲线拟合;
2、 近似解析表达式为中(t) = at + a 12 + at 3 ;
3、 打印出拟合函数中(t),并打印出中(t.)与y(t.)的误差,j = 1,2,...,12 ;
4、 另外选取一个近似表达式,尝试拟合效果的比较;
5、 绘制出曲线拟合图。
四、实验步骤:
进入mat lab开发环境;
根据实验内容和要求编写程序如下;代码一公式 S(x)二a1*t+a2*t"2+a3*t"3;代码二公式 S(x)=a2*t"2+a3*t"3+a4*t"4.
代码一:
function error二mintwomultiply(A)
%S(x)二a1*t+a2*t"2+a3*t"3
[a,b]=size(A);
M=zeros(3);
N=zeros(3,1);
error=0;
for i=1:a
M(1,1)=M(1,1)+A(i,1)*A(i,1);
M(1,2)=M(1,2)+A(i,1)*A(i,1厂2;
M(2,1)=M(1,2);
M(1,3)=M(1,3)+A(i,1)*A(i,1厂3;
M(3,1)=M(1,3);
M(2,2)=M(2,2)+A(i,1厂2*A(i,1厂2;
M(2,3)=M(2,3)+A(i,1厂2*A(i,1厂3;
M(3,2)=M(2,3);
M(3,3)=M(3,3)+A(i,1厂3*A(i,1厂3;
N(1,1)=N(1,1)+A(i,1)*A(i,2);
N(2,1)=N(2,1)+A(i,1厂2*A(i,2);
N(3,1)=N(3,1)+A(i,1厂3*A(i,2);
end
%[a1,a2,a3]=solve(M,N)
I=M\N;
for i=1:a
A(i,3)=I(1,1)*A(i,1)+I(2,1)*A(i,1)"2+I(3,1)*A(i,1)"3;
error二error+(A(i,3)-A(i,2))”2;
end
hold on;
plot(A(:,1),A(:,3),'r','LineWidth' ,2);
plot(A(:,1),A(:,2),'b','LineWidth' ,2);
legendC原始图像',拟合图像',2);
hold off;
代码二:
function error二mintwomultiply2(A)
%S(x)=a2*t"2+a3*t"3+a4*t”4
[a,b]=size(A);
M=zeros(3);
N=zeros(3,1);
error=0;
for i=1:a
M(1,1)=M(1,1)+A(i,1)"2*A(i,1)"2;
M(1,2)=M(1,2)+A(i,1)"2*A(i,1)"3;
M(2,1)=M(1,2);
M(1,3)=M(1,3)+A(i,1)