利用matlab实现插值与拟合Word格式文档下载.docx

上传人:b****6 文档编号:21053167 上传时间:2023-01-27 格式:DOCX 页数:10 大小:151.83KB
下载 相关 举报
利用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

一维插值

插值与拟合实际建模与分析

非线性最小二乘拟合法和事例

多项式拟合和事例

拟合的方法

图1插值与拟合分析流程图

 

二:

拉格朗日插值原理和插值多项式构造

一般地,已知函数y=f(x)在互异的n+1个点x0,x1,…….xn处的函数值y0,y1,y2…….yn就是构造一个多项式Ln(x)。

如果一个n次多项式

在n+1个互异的节点x0,x1,…….xn满足

则称

为节点

上的n次插值基函数,那么我们可以求出插值基函数为:

于是满足条件

,则称n次插值多项式Ln(x)为

则Ln(x)为拉格朗日插值多项式。

记插值余项为以下:

于是:

上面公式为完整的拉格朗日插值公式。

三:

拉格朗日插值事例分析

1:

Matlab在计算一维插值函数时使用函数interp1,该函数提供了四种插值函数方法选着,分别是:

线性插值,三次样条插值,三次插值和最近点插值(linear,spline,cubic,nearest),其基本格式是:

Intrer1(x,y,cx,’method’)

其中x,y分别表示为数据点的横纵坐标,x必须单调,cx为需要的插值的坐标,不能超过x的范围,

例:

在12个小时内,东海某一特殊区域每相隔一小时水温大致分布如下:

5,7,9,16,24,28,31,29,22,25,27,24.现在利用此数据分析东海该区域在第3.5小时,6.3小时.7.2小时的水温。

解:

在matlab程序中输入以下程序

hours=1:

12;

temps=[5,7,9,16,24,28,31,29,22,25,27,24];

t=interp1(hours,temps,[3.5,6.3,7.2]);

t=

12.500028.900030.6000

2:

在我们海洋测绘专业中,二维插值无处不在,在画海图的时候计算其水深分布,危险物分布,水温分布等,在山区测绘工作中用的十分广泛,例如画山区山形图,山形图像处理(如平滑,锐化)等,让其图像更清晰等,而matlab二维插值有以下:

‘nearest’最邻近插值;

‘linear’双线性插值;

‘cubic’双三次插值;

缺省时双线性插值

其格式为:

z=interp2(x0,y0,z0,x,y,’method’)方法和一维一样的

现在以书上的例题为例(p308):

输入以下命令:

x=1:

5;

y=1:

3;

temps=[8281808284;

7963616581;

8484828586];

mesh(x,y,temps)

图2:

原水温分布图

xi=1:

0.2:

yi=1:

zi=interp2(x,y,temps,xi'

yi,'

cubic'

);

mesh(xi,yi,zi)

图3平滑后的水温分布

四:

拟合的方原理和方法

所谓拟合是指已知某函数的若干离散函数值{f1,f2,…,fn},通过调整该函数中若干待定系数f(λ1,λ2,…,λn),使得该函数与已知点集的差别最小。

如果待定函数是线性,就叫线性拟合或者线性回归(主要在统计中),否则叫作非线性拟合或者非线性回归。

表达式也可以是分段函数,这种情况下叫作样条拟合。

多项式拟合

假设给定数据点

(i=0,1,…,m),

为所有次数不超过

的多项式构成的函数类,现求一

使得

(1)

当拟合函数为多项式时,称为多项式拟合,满足式

(1)的

称为最小二乘拟合多项式。

如果利用matlab拟合,则可以简化大部分步骤,因为matlb里面提供了函数polyfit(x,y,m),多项式在x处的y的值可以用一下命令计算:

Y=ployval(A,x)

对于以下数据:

利用多项式拟合有:

x=0:

0.1:

1;

y=[-0.4471.9783.286.167.087.347.669.569.489.3011.2];

A=polyfit(x,y,2)

z=polyval(A,x);

plot(x,y,'

k+'

x,z,'

r'

图4多项式曲线拟合图

非线性最小二乘拟合

在最小二乘法中,如果我们寻求函数f(x)是任意的非线性函数,则称为非线性最小二乘拟合,matlab中提供函数lsqcurvefit。

已知数据点:

xdata=(xdata1,xdata2,…,xdatan),

ydata=(ydata1,ydata2,…,ydatan)

lsqcurvefit用以求含参量x(向量)的向量值函数F(x,xdata)=(F(x,xdata1),…,F(x,xdatan))T

中的参变量x(向量),使得

输入格式为:

(1)x=lsqcurvefit(‘fun’,x0,xdata,ydata);

(2)x=lsqcurvefit(‘fun’,x0,xdata,ydata,options);

(3)x=lsqcurvefit(‘fun’,x0,xdata,ydata,options,’grad’);

(4)[x,options]=lsqcurvefit(‘fun’,x0,xdata,ydata,…);

(5)[x,options,funval]=lsqcurvefit(‘fun’,x0,xdata,ydata,…);

(6)[x,options,funval,Jacob]=lsqcurvefit(‘fun’,x0,xdata,

ydata,…);

对下面一组数据拟合为

编写m文件

functionf=curvefun1(x,tdata)

f=x

(1)+x

(2)*exp(-0.02*x(3)*tdata)

%其中x

(1)=a;

x

(2)=b;

x(3)=k;

tdata=100:

100:

1000

cdata=1e-03*[4.54,4.99,5.35,5.65,5.90,6.10,

6.26,6.39,6.50,6.59];

x0=[0.2,0.05,0.05];

x=lsqcurvefit('

curvefun1'

x0,tdata,cdata)

f=curvefun1(x,tdata)

f=0.00430.00510.00560.00590.0061

0.00620.00620.00630.00630.0063

x=0.0063-0.00340.2542

五:

基于前面所述插值与拟合的基础上,分析插值与拟合在本专业中应用

问题的提出

在测绘专业中时常会提到曲线放样,我国的公路的平面曲线设计中,主要是以直导线与圆曲线的组合以及直导线与复曲线的组合为主,在解决曲线的顺应性(光滑性)方面,也只用了缓和曲线来进行直线,曲线的过度,在这种设计模式下,在地形和其他条件受到限制条件下必然使设计标准降低,设计效果不能很好的满足规范要求,所以在一些先进的国家中试图突破以往设计模式。

在我国吉林辉南县到靖宇县,地处长白山脚小,为山区,地形复杂,冬季多雪,经测的数据如下(为了计算方便,设曲线两端的连线方向为坐标为x轴方向,以连线法线为y坐标):

X:

50100150200250

y:

2343.250.14323.25

且知道二级公路曲线半径为60米,现在试寻找一种方法,设计一条平面曲线,是之能够通过限定恨死的地形点,而能通过满足规范规定的曲线要素要求,并通过计算加密施工控制点进行敷衍设平面曲线。

问题分析和模型建立

从公路设计的平面应满足行车安全,经济等,以及在一定条件下美观来考虑,公路平面曲线必须光滑并使其有连续的二阶导数,这样才能保证行车转角变化连续,即使汽车行驶轨迹曲率变化连续,从而保证行车舒服安全。

考虑已知的实际问题:

在已知五点坐标条件下设计应该满足以上要求的具有连续的二阶导数是的平面曲线,显然我们可以采用插值与拟合,得到一个含有xn的一项函数s(x)满足:

S(Xi)=yi(j=0,1,…….n)

函数s(x)上如何地方连续二阶导数存在

3:

已知两端点的直线相连使得:

s(x0)”=s(xn)”

满足上面条件有含有x3的函数,可以利用插值与拟合的到,其中三次样条插值最为精确,主要是最后一个条件确定的。

matlab编程实现

x=50:

50:

250;

y=[23,43.2,50.1,43,23.25];

h=50:

2.5:

t=interp1(x,y,h,'

spline'

plot(x,y,'

+'

h,t,x,y,'

r:

'

xlabel('

x'

),ylabel('

y’)

title(‘公路曲线三次样条插值图’)

图像对比如下(绿色为三次样条图)

图5:

原图和插值图对比

当然也可使用曲线拟合,但是未必能满足最后一个约定条件,其代码如下:

y=[23,43.2,50.1,43,23.25];

25:

a=polyfit(x,y,3)

z=polyval(a,h);

plot(x,y);

holdon;

plot(h,z,'

a=

0.0000-0.00290.8310-11.4400

从上面看出第一项为0,表明不存在x3项,所以拟合不精确,因为最后一个条件约束

六:

总结

总的来说,插值与拟合在测绘专业无处不在,利用matlab实现插值与拟合,方法简单,可视化效果好,本论文认真分析了拉格朗日插值原理,实现了一维二维插值以及拟合等,并通过了插值和拟合分析了实际例子,从实验结果表明,插值利于计算与插值节点近的点,而拟合在整体上使得误差最小,已知点未必在拟合的图像上,在实际生活中因具体使用。

2012年6月2日

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

当前位置:首页 > 高等教育 > 工学

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

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