第七讲 MATLAB在插值与逼近中的应用
1 插值与逼近 为何要逼近
数学上来讲,逼近就是在精度要求的范围内对要研究函数给出近似的函数值,乃至函数表达式。为何咱们不直接计算要研究的函数或函值本身 ?理由如下:
用给定函数表达式计算函值很困难乃至根本不可能。如,sinx、tgx、Inx等。 由实验与测量取得的变量间对应关系常常是一函数值表(此后咱们也称为表列函数)。但表所表示函在表某个中间位置的函数值却是无法明白的。
函数可能被隐含地概念,而事实上又不能用一个直接规律给出。例如,由方程
ey+y+sinx=0肯定的隐含数。
计算逼近函数的值往往比计算函值本身更快。特别地,当原来函数以无穷级数的形式给出,只能如此。
运算机存储量有限,而其计算量相对来讲却专门大,从某种意义上来讲,逼近实际上也是为了扬长避短。如,咱们不可能将所有的sinx的值都存在运算机内,但咱们将会看到,利用琏近咱们的却能够很方便地算出任一点的函数值。 实际应用中,只要函数值符合某一个精度要求也就够了。 逼近的分类
逼近函数是为了更方便地计算函数,更简单地表达函数。因此,常常利用一些简单函数或这些简单函数的线性组合来逼近。通常的逼近形式有:
1.多项式:p(x)??akxk;k?0m2.分段多项式:在不同的区间上。用不同的多项式来逼近;3.三角多项式:?[aksinkx?bkcoskx];k?0m4.有理分式:两个多项式之比pn(x)/pm(x),其中pn(x)??aix,pm(x)??bjxj;ii?0j?0nm5.指数函数:?akexp(bkx);k?0m6.其它形式,如,x,sinx,Inx,ex等的线性组合。上述1.2.3.6中逼近形式可统一表示为f(x)??ai?i(x)i?0m
咱们称ф(x),i=0,1,2,…,m为逼近函数,f(x)称为逼近函数。
逼近的原则
已知函数f(x)在n+1个点xi(i=0,1,2,…,n)的函数值为f(xi)(i=0,1,2,…,n)。要求出f(x)的逼近函数g(x),则要选定逼近基函数,肯定上式中的常数ai(i=0,1,2,…,m)。基函数选定往往跟实际问题有关;而肯定常数ai(I=0,1,2,…,m)以保证逼近函数g(x)能更近似地表示函数f(x),则是咱们这里要解决的问题。为此,就要第一给出一个准则,来描述“更近似”。
概念距离:
??e=??|g(x)?f(xi)|p??i?0??m1p
其中,p>0为一实数。则“更近似“即指“e更小“。因此,肯定ai(i=0,1,2,…,m)使得e取得最小即可。e称为逼近误差。若p=1,称为一致逼近,p=2,称为平方逼近。
从上式不难看出,就此式而言,e最好的最小值为零,现在,g(xi)=f(xi),逼近函数g(x)恰好通过所有n+1个已知点(xi,f(xi)),(i=0,1,2,…,n)。
什么叫插值
给定n+1个数据点(x0,y0),(x1,y1),…,(xn,yn),若逼近函数通过n+1个数据点,即在已知数据点上的逼近误差为零,则称逼近函数为插值函数,简称为插值。 若存在P(xi)=yi (i=0,1,…,n)
称P(x)为y=f(x)的插值函数,求插值函数P(x)的方式称为插值法。主要算法有Lagrange 插值、Newton插值、分段线性插值、Hermite插值及三次样条插值等。 Lagrange 插值 1.5.1 线性插值
过函数y=f(x)上的两点 (x0,y0) (x1,y1)作一直线p1(x)近似地替代f(x) 即:p1(x0)=y0 p1(x1)=y1 由点斜式
y1?y0(x?x0)x1?x0x?x0x?x0 ?y0?y0?y1x1?x0x1?x0x?x1x?x0 ?y0?y1x0?x1x1?x0p1(x)?y0?x?x1x?x0,l1(x)?x0?x1x1?x0则 l0(x0)?1,l0(x1)?0 l1(x0)?0,l1(x1)?1令 l0(x)?
p1(x)?l0(x)y0?l1(x)y11.5.2 抛物插值
过函数y=f(x)上的三点 (x0,y0),(x1,y1),(x2,y2)作一抛物线p2(x)近似地替代f(x) 即: p2(x0)=y0 p2(x1)=y1 p2(x2)=y2 作二次式l0(x),使其知足
l0(x0)=1,l0(x1)=0,l0(x2)=0, 易推出:
假设 l0(x)?c(x?x1)(x?x2)由 l0(x0)?1 得l0(x)?
同理
(x?x1)(x?x2)(x0?x1)(x0?x2)l1(x)?
(x?x0)(x?x2)(x1?x0)(x1?x2)(x?x0)(x?x1)(x2?x0)(x2?x1)l2(x)? 则
p2(x)?l0(x)y0?l1(x)y1?l2(x)y2
1.5.3 Lagrange 插值
设函数y=f(x) 在给定的两两互异的节点x0,x1,…,xn上的函数值为y0,y1,…,yn,求作一个次数≤n的多项式
pn(x)?a0?a1x?a2x2?...?anxn
使它知足
pn(xi)?yi i?0,1,2,...,n
?0 i?j假设 pn(x)??li(x)yi 其中 li(xj)??i?0?1 i?jnli(x)?c(x?x0)...(x?xi?1)(x?xi?1)...(x?xn)?c?(x?xj)j?0j?in所以 li(x)??j?0j?innx?xjxi?xjn pn(x)??yi?i?0j?0j?ix?xjxi?xj这就是Lagrange 插值多项式
1.5.4 Lagrange插值的流程图
第七讲MATLAB在插值和逼近中的应用
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)