matlab数值分析程序--高等数学,数值代数的matlab实现-文字版, matlab电子书, 和matlab 有关的电子书:

7.4 多项式拟合及其MATLAB程序

7.4  多项式拟合及其MATLAB程序

例7.4.1  给出一组数据点列入表7–3中,试用线性最小二乘法求拟合曲线,并用(7.2),(7.3)和(7.4)式估计其误差,作出拟合曲线.

表7–3  例7.4.1的一组数据

xi

-2.9   -1.9   -1.1   -0.8      0     0.1     1.5    2.7     3.6

yi

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.8  0  0.1  1.5  2.7  3.6];

y=[53.94  33.68  20.88  16.92  8.79  8.98  4.17  9.12  19.88];

plot(x,y,'r*'), legend('数据点(xi,yi)')

xlabel('x'), ylabel('y'),

title('例7.4.1的数据点(xi,yi)的散点图')

运行后屏幕显示数据的散点图(略).

(3)用作线性最小二乘拟合的多项式拟合的MATLAB程序求待定系数 .输入程序

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

运行后输出(7.16)式的系数

a =

2.8302   -7.3721    9.1382

故拟合多项式为 

.

(4)编写下面的MATLAB程序估计其误差,并做出拟合曲线和数据的图形.输入程序

>>  xi=[-2.9 -1.9  -1.1  -0.8  0  0.1  1.5  2.7  3.6];

y=[53.94  33.68  20.88  16.92  8.79  8.98  4.17  9.12 19.88];

n=length(xi); f=2.8302.*xi.^2-7.3721.*xi+9.1382

x=-2.9:0.001:3.6;F=2.8302.*x.^2-7.3721.*x+8.79;

fy=abs(f-y); fy2=fy.^2; Ew=max(fy), E1=sum(fy)/n,

E2=sqrt((sum(fy2))/n), plot(xi,y,'r*', x,F,'b-'),

legend('数据点(xi,yi)','拟合曲线y=f(x)')

xlabel('x'), ylabel('y'),

 title('例7.4.1 的数据点(xi,yi)和拟合曲线y=f(x)的图形')

运行后屏幕显示数据与拟合函数f的最大误差Ew,平均误差E1和均方根误差E2及其数据点(xi,yi)和拟合曲线y=f(x)的图形(略).

Ew =             E1 =                E2 =

0.745 7,          0.389 2,            0.436 3

欢迎转载,转载请注明来自一手册:http://yishouce.com/book/3/3070400.html
友情链接It题库(ittiku.com)| 版权归yishouce.com所有| 友链等可联系 admin#yishouce.com|粤ICP备16001685号-1