函数逼近 matlab,函数逼近与曲线(面)拟合的MATLAB程序.doc

函数逼近与曲线(面)拟合的MATLAB程序

7.1 曲线拟合、误差及其MATLAB程序

例7.1.1 已知函数和一组数据列入表7–1中,比较最大误差,平均误差,均方根误差和误差平方和.

表7–1 例7.1.1的一组数据

xi-2.5 -1.7 -1.1 -0.8 0 0.1 0.5 3.6yi-43.50 5.69 11.34 14.16 0 1.02 -6.37 185.84

解 由给定的函数和数据,在MATLAB工作窗口输入

>> x=[-2.5,-1.7,-1.1,-0.8,0,0.1,0.5,3.6]; n=length(x);

y=[-43.50 5.69 11.34 14.16 0 1.02 -6.37 185.84];

f=5.*x.^3-14.*x+7.*(sin(2*pi*x)).^2; fy=abs(f-y);

fy2=fy.^2; [x',y',f',fy',fy2'], Ew=max(fy),

E1=sum(fy)/n, E2=sqrt((sum(fy2))/n), E=sum(fy2)

运行后屏幕显示如下

x y f fy fy2

-2.5000 -43.5000 -43.1250 0.3750 0.1406

-1.7000 5.6900 5.5666 0.1234 0.0152

-1.1000 11.3400 11.1634 0.1766 0.0312

-0.8000 14.1600 14.9716 0.8116 0.6586

0 0 0 0 0

0.1000 1.0200 1.0234 0.0034 0.0000

0.5000 -6.3700 -6.3750 0.0050 0.0000

3.6000 185.8400 185.2984 0.5416 0.2933

Ew = E1 = E2 = E =

0.8116 0.2546 0.3773 1.1390

7.2 曲线拟合的线性最小二乘法及其MATLAB程序

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

表7–2 例7.2.1的一组数据

xi-2.5 -1.7 -1.1 -0.8 0 0.1 1.5 2.7 3.6yi-192.9 -85.50 -36.15 -26.52 -9.10 -8.43 -13.12 6.50 68.04

解 (1)在MATLAB工作窗口输入程序

>> x=[-2.5 -1.7 -1.1 -0.8 0 0.1 1.5 2.7 3.6];

y=[-192.9 -85.50 -36.15 -26.52 -9.10 -8.43 -13.12 6.50 68.04];

plot(x,y,'r*'),

legend('实验数据(xi,yi)')

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

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

在处的函数值,即输入程序

>> syms a1 a2 a3 a4

x=[-2.5 -1.7 -1.1 -0.8 0 0.1 1.5 2.7 3.6];

fi=a1.*x.^3+ a2.*x.^2+ a3.*x+ a4

运行后屏幕显示关于a1,a2, a3和a4的线性方程组

fi =[ -125/8*a1+25/4*a2-5/2*a3+a4, -4913/1000*a1+289/100*a2-17/10*a3+a4, -1331/1000*a1+121/100*a2-11/10*a3+a4, -64/125*a1+16/25*a2-4/5*a3+a4,

a4, 1/1000*a1+1/100*a2+1/10*a3+a4, 27/8*a1+9/4*a2+3/2*a3+a4, 19683/1000*a1+729/100*a2+27/10*a3+a4, 5832/125*a1+32

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值