MATLAB中的插值运算.docx_第1页
MATLAB中的插值运算.docx_第2页
MATLAB中的插值运算.docx_第3页
MATLAB中的插值运算.docx_第4页
MATLAB中的插值运算.docx_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

MATLAB中的插值运算 在数学中,有时需要查表,如对数表。在具体查表时,需要的数据表中可能没有,这时一般可以先找出它相邻的数,再从表中查出其相应结果,然后按一定的关系把这些相邻的数以及它相应的结果加以修正,就可求出要查数的数据结果的近似值,这个修正关系就是一种插值。在实践中,常常需要测量某些数据,但由于客观条件的限制,所测得的数据可能不够细密,满足不了实践的需要,这时便可以通过插值方法对数据进行加密处理。此外,对于给定的离散数据对,如果要找一个函数来近似描述其对应关系,常常也需要插值。与插值有关的MATLAB 函数 (一) POLY2SYM 函数 主要功能:把多项式的系数向量转换为符号多项式。调用格式一:poly2sym (C) 调用格式二:f1=poly2sym(C,V) 或 f2=poly2sym(C, sym (V) ), (二) POLYVAL 函数 主要功能:估计多项式的值。调用格式:Y = polyval(P,X) (三) POLY 函数 主要功能:把根转换为多项式的系数向量。调用格式:Y = poly (V)(四) CONV 函数 主要功能:计算卷积和多项式的和。调用格式:C =conv (A, B) (五) DECONV 函数 主要功能:计算逆卷积和多项式的除法、商和余式。调用格式:Q,R =deconv (B,A) (六) roots(poly(1:n)命令 调用格式:roots(poly(1:n) (七) det(a*eye(size (A) - A)命令 调用格式:b=det(a*eye(size (A) - A)1.Lagrange插值方法介绍 对给定的n个插值点及对应的函数值 ,利用n次Lagrange插值多项式,则对插值区间内任意x的函数值y可通过下式求的: MATLAB中没有直接实现拉格朗日算法的函数所以需建立M 文件:function y=lagrange (a,b,x) y=0; for i=1:length(a) l=1; for j=1:length(b) if j=i l=l; else l=l.*(x-a(j)/(a(i)-a(j); end end y=y+l*b(i); end算例:给出f(x)=ln(x)的数值表,用Lagrange计算ln(0.54)的近似值。 x=0.4:0.1:0.8; y=-0.916291,-0.693147,-0.510826,-0.356675,-0.223144; lagrange(x,y,0.54)ans = -0.6161优缺点: 拉格朗日插值法的公式结构整齐紧凑,在理论分析中十分方便,然而在计算中,当插值点增加或减少一个时,所对应的基本多项式就需要全部重新计算,于是整个公式都会变化,非常繁琐。这时可以用重心拉格朗日插值法或牛顿插值法来代替。此外,当插值点比较多的时候,拉格朗日插值多项式的次数可能会很高,因此具有数值不稳定的特点,也就是说尽管在已知的几个点取到给定的数值,但在附近却会和“实际上”的值之间有很大的偏差。这类现象也被称为龙格现象,解决的办法是分段用较低次数的插值多项式。2、Runge现象和分段插值问题的提出:根据区间a,b上给出的节点做插值多项式p(x)的近似值,一般总认为p(x)的次数越高则逼近f(x)的精度就越好,但事实并非如此。反例: 在区间-5,5上的各阶导数存在,但在此区间上取n个节点所构成的Lagrange插值多项式在全区间内并非都收敛。 取n=10,用Lagrange插值法进行插值计算。 x=-5:1:5; y=1./(1+x.2); x0=-5:0.1:5; y0=lagrange(x,y,x0); y1=1./(1+x0.2);%绘制图形 plot(x0,y0,-r)%插值曲线 hold on plot(x0,y1,-b)%原曲线 为解决Rung问题,引入分段插值。算法分析:所谓分段插值就是通过插值点用折线或低次曲线连接起来逼近原曲线。MATLAB实现: 可调用内部函数。命令 :interp1功能 : 一维数据插值(表格查找)。该命令对数据点之间计算内插值。它找出一元函数f(x)在中间点的数值。其中函数f(x)由所给数据决定。格式:yi = interp1(x,Y,xi,method) %用指定的算法计算插值: nearest:最近邻点插值,直接完成计算; linear:线性插值(缺省方式),直接完成计算; spline:三次样条函数插值。 cubic: 分段三次Hermite插值。例题:对 进行Lagrange插值 x0=-1+2*0:10/10; y0=1./(1+25*x0.2); x=-1:.01:1; y=lag

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论