您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > 工程数学作业第六次方健(1113)
姓名:方健学号:652081701073专业:化学工程问题:利用MATLAB对一组数据进行插值,对于不同的插值方法进行熟悉,以及改变插值点,以及插值范围观察结果变化。对于已知x=[0:10],y=[00.84150.90930.1411-0.7568-0.9589-0.27940.65700.98940.4121-0.5440];(y=sinx),比较一维线性、线性最近、立方和三次样条插值所得xi=0,0.15,0.30,0.45,…,10处的值yi。如果初始数据点为x=0,2,4,…,10,y=sinx,以上方法插值效果。对于一维插值方法作出比较。对于一维插值interp1函数的运用:调用格式:yi=interp1(x,y,xi)已知数据向量(x,y),计算并返回在插值向量xi处的函数值yi=interp1(x,y,xi,‘method’)yi=interp1(x,y,xi,‘method’,‘extrap’)‘method’用于指定插值算法,其值可以是:‘nearest’——最近插值‘linear’——线性插值(默认值)‘spline’——分段三次样条插值‘pchip’——分段三次Hermite插值‘cubic’——与‘pchip’相同首先看线性插值的情况,在matlab的commandwindow中输入如下命令x=0:1:10;%首先取函数值0到10,步长为1y=sin(x);plot(x,y,'co'),holdonxi=0:0.05:10;yi=interp1(x,y,xi);plot(xi,yi,'r+'),text(0.7028,0.4649,'线性插值\rightarrow')%在图中作出标记plot(x,y,'*'),holdonfplot(@sin,[010])可得如下结果:下面改变插值的初始值,观察插值情况的变化x=0:2:10;y=sin(x);plot(x,y,'co'),holdonxi=0:0.1:10;yi=interp1(x,y,xi);plot(xi,yi,'r+'),text(0.7028,0.4649,'线性插值\rightarrow')plot(x,y,'*'),holdonfplot(@sin,[010])012345678910-1-0.8-0.6-0.4-0.200.20.40.60.81线性插值发现插值效果不如数据点多的好。下面使用临近点插值算法插值,比较一下效果x=0:1:10;y=sin(x);plot(x,y,'co'),holdonxi=0:0.05:10;yi2=interp1(x,y,xi,'nearst');plot(xi,yi2,'c*'),text(6.947,-0.258,'\leftarrow最近插值')plot(x,y,'*'),holdonfplot(@sin,[010])结果如下:012345678910-1-0.8-0.6-0.4-0.200.20.40.60.81线性插值立方插值的情况:x=0:1:10;y=sin(x);plot(x,y,'co'),holdonxi=0:0.05:10;yi3=interp1(x,y,xi,'cubic');plot(xi,yi3,'md'),text(2.408,0.8333,'\leftarrow立方插值')plot(x,y,'*'),holdonfplot(@sin,[010])012345678910-1-0.8-0.6-0.4-0.200.20.40.60.81最近插值三次样条插值(spline)x=0:1:10;y=sin(x);plot(x,y,'co'),holdonxi=0:0.05:10;yi4=interp1(x,y,xi,'spline');plot(xi,yi4,'kh'),text(4.62,0.8158,'三次样条插值\rightarrow')plot(x,y,'*'),holdonfplot(@sin,[010])012345678910-1-0.8-0.6-0.4-0.200.20.40.60.81立方插值改变三次样条插值的点不同的情况变化,以及插值范围的变化改变插值点的条件变化如下所示:x=0:1:10;y=sin(x);plot(x,y,'co'),holdonxi=0:1:10;yi4=interp1(x,y,xi,'spline');plot(xi,yi4,'kh'),text(4.62,0.8158,'三次样条插值\rightarrow')plot(x,y,'*'),holdonfplot(@sin,[010])012345678910-1-0.8-0.6-0.4-0.200.20.40.60.81三次样条插值观察初试数据的变化对于插值的影响:x=0:2:10;y=sin(x);plot(x,y,'go'),holdonezplot(@sin,[010])xi=0:0.15:10;yi=interp1(x,y,xi);plot(xi,yi,'r+'),text(0.5876,0.2537,'\leftarrow线性插值')yi2=interp1(x,y,xi,'nearst');plot(xi,yi2,'c*'),text(6.947,-0.258,'\leftarrow最近插值')yi3=interp1(x,y,xi,'pchip');plot(xi,yi3,'md'),text(2.408,0.8333,'\leftarrow立方插值')yi4=interp1(x,y,xi,'spline');plot(xi,yi4,'kh'),text(1.601,1.138,'\leftarrow三次样条插值')012345678910-1-0.8-0.6-0.4-0.200.20.40.60.81三次样条插值结论与分析:可以看出,分段线性插值的光滑性较差(特别是在附近弯曲处),建议选用三次样条插值的结果。Spline插值效果较好。分段低次多项式插值通常有较好的收敛性和稳定性,算法简单,但插值函数光滑性变差。而且多项式插值是经过数据点的曲线,样条插值在端点的误差与线性插值相比误差较大,而线性插值的数据偏离不大。而线性插值一般是在对于数据点的变化比较小的时候使用。插值函数一般是已知函数的线性组合或者称为加权平均。在已知数据点较少时,插值技术在工程实践和科学实验中有着广泛而又十分重要的应用。例如在信息技术中的图像重建、图像放大过程中为避免图像失真、扭曲而增加的插值补点,建筑工程的外观设计,化学工程试验数据与模型分析,天文观测数据、地理信息数据的处理,社会经济现象的统计分析等方面,插值技术的应用是不可或缺的。分段线性插值函数(仅连续)与三次样条插值函数(二阶导数连续)虽然光滑性差,但他们都克服了拉格朗日插值函数的缺点,不仅收敛性、稳定性强,而且方法简单实用,计算量小。因而应用十分广泛。但是要注意高次插值多项式的龙格(Runge)现象,一般把这种多项式次数越高而插值结果越偏离原函数的现象称为龙格现象,所以在工程应用过程中不熟悉曲线运动趋势的前提下,不要轻易使用高次插值。012345678910-1-0.500.51xsin线性插值最近插值立方插值三次样条插值
本文标题:工程数学作业第六次方健(1113)
链接地址:https://www.777doc.com/doc-2444580 .html