插值拟合与MATLAB编程Word文档下载推荐.docx

上传人:b****5 文档编号:15781801 上传时间:2022-11-16 格式:DOCX 页数:10 大小:202.77KB
下载 相关 举报
插值拟合与MATLAB编程Word文档下载推荐.docx_第1页
第1页 / 共10页
插值拟合与MATLAB编程Word文档下载推荐.docx_第2页
第2页 / 共10页
插值拟合与MATLAB编程Word文档下载推荐.docx_第3页
第3页 / 共10页
插值拟合与MATLAB编程Word文档下载推荐.docx_第4页
第4页 / 共10页
插值拟合与MATLAB编程Word文档下载推荐.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

插值拟合与MATLAB编程Word文档下载推荐.docx

《插值拟合与MATLAB编程Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《插值拟合与MATLAB编程Word文档下载推荐.docx(10页珍藏版)》请在冰豆网上搜索。

插值拟合与MATLAB编程Word文档下载推荐.docx

xi可以是一个标量,也可以是一个向量,是向量时,必须单调,method可以下列方法之一:

‘nearest’:

最近邻点插值,直接完成计算;

‘spline’:

三次样条函数插值;

‘linear’:

线性插值(缺省方式),直接完成计算;

‘cubic’:

三次函数插值;

对于[min{xi},max{xi}]外的值,MATLAB使用外推的方法计算数值。

例1:

已知某产品从1900年到2010年每隔10年的产量为:

75.995,91.972,105.711,123.203,131.699,150.697,179.323,203.212,226.505,249.633,256.344,267.893,计算出1995年的产量,用三次样条插值的方法,画出每隔一年的插值曲线图形,同时将原始的数据画在同一图上。

解:

程序如下

year=1900:

10:

2010;

product=[75.995,91.972,105.711,123.203,131.699,150.697,179.323,203.212,226.505,249.633,256.344,267.893]

p1995=interp1(year,product,1995)

x=1900:

y=interp1(year,product,x,'

cubic'

);

plot(year,product,'

o'

x,y);

计算结果为:

p1995=252.9885。

 

2、二维插值

,即已知在点集

上的函数值

,构造一个解析函数(其图形为一曲面)通过这些点,并能够求出这些已知点以外的点的函数值,这一过程称为二维插值。

MATLAB函数:

Zi=interp2(X,Y,Z,Xi,Yi,method)

该命令用指定的算法找出一个二元函数

返回数据矩阵

,Xi,Yi是向量,且必须单调,

和meshgrid(Xi,Yi)是同类型的。

method可以下列方法之一:

例2:

已知1950年到1990年间每隔10年,服务年限从10年到30年每隔10年的劳动报酬表如下:

表:

某企业工作人员的月平均工资(元)

服务年限

年份

10

20

30

1950

150.697

169.592

187.652

1960

179.323

195.072

250.287

1970

203.212

239.092

322.767

1980

226.505

273.706

426.730

1990

249.633

370.281

598.243

试计算1975年时,15年工龄的工作人员平均工资。

程序如下:

years=1950:

1990;

service=10:

30;

wage=[150.697169.592187.652

179.323195.072250.287

203.212239.092322.767

226.505273.706426.730

249.633370.281598.243];

mesh(service,years,wage)%绘原始数据图

w=interp2(service,years,wage,15,1975);

%求点(15,1975)处的值

235.6288

例3:

设有数据x=1,2,3,4,5,6,y=1,2,3,4,在由x,y构成的网格上,数据为:

12,10,11,11,13,15

16,22,28,35,27,20

18,21,26,32,28,25

20,25,30,33,32,20

求通过这些点的插值曲面。

程序为:

x=1:

6;

y=1:

4;

t=[12,10,11,11,13,15

16,22,28,35,27,20

18,21,26,32,28,25;

20,25,30,33,32,20]

subplot(1,2,1)

mesh(x,y,t)

x1=1:

0.1:

y1=1:

[x2,y2]=meshgrid(x1,y1);

t1=interp2(x,y,t,x2,y2,'

subplot(1,2,2)

mesh(x1,y1,t1);

结果如右图。

作业:

已知某处山区地形选点测量坐标数据为:

x=00.511.522.533.544.55

y=00.511.522.533.544.555.56

海拔高度数据为:

z=8990878592919693908782

9296989995918986848284

9698959290888584838185

8081828995969392898686

8285879899969788858283

8285899495939291868488

8892939495898786838192

9296979896939584828184

8585818280808185909395

8486819899989796958487

8081858283848790958688

8082818485868382818082

8788899899979698949287

1、画出原始数据图;

2、画出加密后的地貌图,并在图中标出原始数据。

二、拟合

曲线拟合

,构造一个解析函数(其图形为一曲线)使

在原离散点

上尽可能接近给定的

值,这一过程称为曲线拟合。

最常用的曲线拟合方法是最小二乘法,该方法是寻找函数

使得

最小。

p=polyfit(x,y,n)

[p,s]=polyfit(x,y,n)

说明:

x,y为数据点,n为多项式阶数,返回p为幂次从高到低的多项式系数向量p。

x必须是单调的。

矩阵s用于生成预测值的误差估计。

(见下一函数polyval)

多项式曲线求值函数:

polyval()

调用格式:

y=polyval(p,x)

[y,DELTA]=polyval(p,x,s)

y=polyval(p,x)为返回对应自变量x在给定系数P的多项式的值。

[y,DELTA]=polyval(p,x,s)使用polyfit函数的选项输出s得出误差估计YDELTA。

它假设polyfit函数数据输入的误差是独立正态的,并且方差为常数。

则YDELTA将至少包含50%的预测值。

例5:

求如下给定数据的拟合曲线,x=[0.5,1.0,1.5,2.0,2.5,3.0],

y=[1.75,2.45,3.81,4.80,7.00,8.60]。

MATLAB程序如下:

x=[0.5,1.0,1.5,2.0,2.5,3.0];

y=[1.75,2.45,3.81,4.80,7.00,8.60];

p=polyfit(x,y,2)

x1=0.5:

0.05:

3.0;

y1=polyval(p,x1);

plot(x,y,'

*r'

x1,y1,'

-b'

p=0.56140.82871.1560

此结果表示拟合函数为:

,用此函数拟合数据的效果如图所示。

由离散数据

x

.1

.2

.3

.4

.5

.6

.7

.8

.9

1

y

1.4

1.6

1.9

1.5

2

拟合出多项式。

程序:

x=0:

.1:

1;

y=[.3.511.41.61.9.6.4.81.52]

n=3;

xi=linspace(0,1,100);

z=polyval(p,xi);

%多项式求值

plot(x,y,’o’,xi,z,’k:

’,x,y,’b’)

legend(‘原始数据’,’3阶曲线’)

结果:

p=

16.7832-25.745910.9802-0.0035

多项式为:

16.7832x3-25.7459x2+10.9802x-0.0035

曲线拟合图形:

也可由函数给出数据。

20,y=x+3*sin(x)

20;

y=x+3*sin(x);

p=polyfit(x,y,6)

xi=linspace(1,20,100);

à

Ï

î

Ê

½

Ç

ó

Ö

µ

º

¯

ý

xi,z,'

k:

'

x,y,'

b'

0.0000-0.00210.0505-0.59713.6472-9.729511.3304

再用10阶多项式拟合

p=polyfit(x,y,10)

Columns1through7

0.0000-0.00000.0004-0.01140.1814-1.806511.2360

Columns8through11

-42.086188.5907-92.815540.267

可用不同阶的多项式来拟合数据,但也不是阶数越高拟合的越好。

1.已知x=[0.1,0.8,1.3,1.9,2.5,3.1],y=[1.2,1.6,2.7,2.0,1.3,0.5],利用其中的部分数据,分别用线性函数插值,3次函数插值,求x=2.0处的值。

2.已知二元函数

在点集

上的值为

,其中,左

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 可爱清新

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1