数值分析实验,matlab
实验3.1最小二乘拟合
一、实验内容
编制以函数 xk k 0为基的多项式最小二乘拟合程序,并用于对下表中数据作3次
n
取权数
i
n
akx
k
1,求拟合曲线
k 0
中的参数 ak 、平方误差 2,并作离散
数据 xi,yi 的拟合函数y
*(x)
的图形.
二、实验程序 function chapter3 x0=-1:0.5:2;
y0=[-4.447 -0.452 0.551 0.048 -0.447 0.549 4.552]; n=3;
alph=polyfit(x0,y0,n); y=polyval(alph,x0); r=(y0-y)*(y0-y)'; x=-1:0.01:2;
y=polyval(alph,x); plot(x,y,'k--');
xlabel('x');ylabel('y0 * and polyfit. y-.'); hold on;
plot(x0,y0,'*');
title('离散数据的多项式拟合'); grid on;
disp(['平方误差:',sprintf('%g',r)]); disp(['参数alph:',sprintf('%g\t',alph)])
三、实验结果及分析
输出结果:
平方误差:2.17619e-005
参数alph:1.99911 -2.99767 -3.96825e-005 0.549119
离散数据的拟合函数图形为: