2. 第二章_数值插值方法
- 格式:ppt
- 大小:687.50 KB
- 文档页数:2
数值分析插值法插值法是数值分析中的一种方法,用于通过已知数据点的函数值来估计介于这些数据点之间的未知函数值。
插值法在科学计算、数据处理、图像处理等领域中得到广泛应用。
插值法的基本思想是通过已知数据点构造一个函数,使得该函数逼近未知函数,并在已知数据点处与未知函数值相等。
插值法的关键是选择适当的插值函数,以保证估计值在插值区间内具有良好的近似性质。
常用的插值法有拉格朗日插值法、牛顿插值法和埃尔米特插值法等。
以下将分别介绍这些插值法的原理及步骤:1. 拉格朗日插值法:拉格朗日插值法通过构造一个多项式函数来逼近未知函数。
假设已知n+1个数据点(x0, y0), (x1, y1), ..., (xn, yn),其中x0, x1, ..., xn为给定的节点,y0, y1, ..., yn为对应的函数值。
拉格朗日插值多项式的一般形式为:L(x) = y0 * l0(x) + y1 * l1(x) + ... + yn * ln(x)其中l0(x), l1(x), ..., ln(x)为拉格朗日基函数,定义为:li(x) = (x - x0)(x - x1)...(x - xi-1)(x - xi+1)...(x - xn) / (xi - x0)(xi - x1)...(xi - xi-1)(xi - xi+1)...(xi - xn)拉格朗日插值法的步骤为:a. 计算基函数li(xi)的值。
b.构造插值多项式L(x)。
c.计算L(x)在需要估计的插值点上的函数值f(x)。
2.牛顿插值法:牛顿插值法通过构造一个差商表来逼近未知函数。
差商表的第一列为已知数据点的函数值,第二列为相邻数据点的差商,第三列为相邻差商的差商,以此类推。
最终,根据差商表中的数值,构造一个差商表与未知函数值相等的多项式函数。
牛顿插值法的步骤为:a.计算差商表的第一列。
b.计算差商表的其他列,直至最后一列。
c.根据差商表构造插值多项式N(x)。
第二章 插值法⏹ 多项式插值的存在性 ⏹ Lagrange 插值 ⏹ Newton 插值 ⏹ Hermit 插值 ⏹ 分段低次插值 ⏹ 三次样条插值在生产实践和科学研究所遇到的大量函数中,相当一部分是通过测量或实验得到的。
虽然其函数关系)(x f y =在某个区间[]b a ,是客观存在的,但是却不知道具体的解析表达式,只能通过观察、测量或实验得到函数在区间a ,b]上一些离散点上的函数值、导数值等,因此,希望对这样的函数用一个比较简单的函数表达式来近似地给出整体上的描述。
还有些函数,虽然有明确的解析表达式,但却过于复杂而不便于进行理论分析和数值计算,同样希望构造一个既能反映函数的特性又便于计算的简单函数,近似代替原来的函数。
插值法就是寻求近似函数的方法之一.在用插值法寻求近似函数的过程中,根据所讨论问题的特点,对简单函数的类型可有不同的选取,如多项式、有理式、三角函数等,其中多项式结构简单,并有良好的性质,便于数值计算和理论分析,因此被广泛采用。
本章主要介绍多项式插值、分段多项式插值和样条插值. 2.1 插值多项式的存在唯一性 2.1.1 插值问题设函数)(x f y =在区间],[b a 上有定义,且已知函数在区间],[b a 上n+1个互异点n x x x ,,,10 处的函数值)(i i x f y = i=0,1,…,n ,若存在一个简单函数)(x p y =,使其经过)(x f y =上的这n+1个已知点),(,),,(),,(1100n n y x y x y x (图5-1),即n i y x p i i ,,1,0 ,)( == (2.1.1)那么,函数)(x p 称为插值函数,点n x x x ,,,10 称为插值节点,],[b a 称为插值区间,求)(x p 的方法称为插值法,)(x f 称为被插函数。
若)(x p 是次数不超过n 的多项式,记为)(x p n ,即n n n x a x a a x p +++= 10)(则称)(x p n 为n 次插值多项式,相应的插值法称为多项式插值;若)(x p 为分段多项式,称为分段插值,多项式插值和分段插值称为代数插值。
数值分析--第2章插值法第2章 插值法在科学研究与工程技术中,常常遇到这样的问题:由实验或测量得到一批离散样点,要求作出一条通过这些点的光滑曲线,以便满足设计要求或进行加工。
反映在数学上,即已知函数在一些点上的值,寻求它的分析表达式。
此外,一些函数虽有表达式,但因式子复杂,不易计算其值和进行理论分析,也需要构造一个简单函数来近似它。
解决这种问题的方法有两类:一类是给出函数)(x f 的一些样点,选定一个便于计算的函数)(x ϕ形式,如多项式、分式线性函数及三角多项式等,要求它通过已知样点,由此确定函数)(x ϕ作为)(x f 的近似,这就是插值法;另一类方法在选定近似函数的形式后,不要求近似函数过已知样点,只要求在某种意义下在这些样点上的总偏差最小。
这类方法称为曲线(数据)拟合法。
设已知函数f 在区间],[b a 上的1+n 个相异点ix 处的函数值(),0,,iif f x i n ==,要求构造一个简单函数()x ϕ作为函数()f x 的近似表达式()()f x x ϕ≈,使得()(),0,1,,iiix f x f i n ϕ=== (2-1) 这类问题称为插值问题。
称f 为被插值函数;()x ϕ为插值函数;nx x ,,0 为插值节点;(2-1)为插值条件。
若插值函数类{()}x ϕ是代数多项式,则相应的插值问题为代数插值。
若{()}x ϕ是三角多项式,则相应的插值问题称为三角插值。
若{()}x ϕ是有理分式,则相应的插值问题称为有理插值。
§1 Lagrange 插值1.1 Lagrange 插值多项式设函数f 在1+n 个相异点01,,,nx x x 上的值n i x f f ii ,,1,0),( ==是已知的,在次数不超过n 的多项式集合n P 中,求()nL x 使得(),0,1,,n i iL x f n n == (2-2) 定理2.1 存在惟一的多项式nn P L ∈满足插值条件(2-2)。
第二章插值法2.在区间[-1,1]上分别取n=10,20用两组等距节点对龙哥函数f(x)=1/(1+25*x^2)做多项式插值及三次样条插值,对每个n值,分别画出插值函数及f(x)的图形。
(1)多项式插值①先建立一个多项式插值的M-file;输入如下的命令(如牛顿插值公式):function [C,D]=newpoly(X,Y)n=length(X);D=zeros(n,n)D(:,1)=Y'for j=2:nfor k=j:nD(k,j)=(D(k,j-1)- D(k-1,j-1))/(X(k)-X(k-j+1));endendC=D(n,n);for k=(n-1):-1:1C=conv(C,poly(X(k)))m=length(C);C(m)= C(m)+D(k,k);end②当n=10时,我们在命令窗口中输入以下的命令:clear,clf,hold on;X=-1:0.2:1;Y=1./(1+25*X.^2);[C,D]=newpoly(X,Y);x=-1:0.01:1;y=polyval(C,x);plot(x,y,X,Y,'.');grid on;xp=-1:0.2:1;z=1./(1+25*xp.^2);plot(xp,z,'r')得到插值函数和f(x)图形:③当n=20时,我们在命令窗口中输入以下的命令:clear,clf,hold on;X=-1:0.1:1;Y=1./(1+25*X.^2);[C,D]=newpoly(X,Y);x=-1:0.01:1;y=polyval(C,x);plot(x,y,X,Y,'.');grid on;xp=-1:0.1:1;z=1./(1+25*xp.^2);plot(xp,z,'r')得到插值函数和f(x)图形:(2)三次样条插值①先建立一个多项式插值的M-file;输入如下的命令:function S=csfit(X,Y,dx0,dxn)N=length(X)-1;H=diff(X);D=diff(Y)./H;A=H(2:N-1);B=2*(H(1:N-1)+H(2:N));C=H(2:N);U=6*diff(D);B(1)=B(1)-H(1)/2;U(1)=U(1)-3*(D(1));B(N-1)=B(N-1)-H(N)/2;U(N-1)=U(N-1)-3*(-D(N));for k=2:N-1temp=A(k-1)/B(k-1);B(k)=B(k)-temp*C(k-1);U(k)=U(k)-temp*U(k-1);endM(N)=U(N-1)/B(N-1);for k=N-2:-1:1M(k+1)=(U(k)-C(k)*M(k+2))/B(k);endM(1)=3*(D(1)-dx0)/H(1)-M(2)/2;M(N+1)=3*(dxn-D(N))/H(N)-M(N)/2;for k=0:N-1S(k+1,1)=(M(k+2)-M(k+1))/(6*H(k+1));S(k+1,2)=M(k+1)/2;S(k+1,3)=D(k+1)-H(k+1)*(2*M(k+1)+M(k+2))/6;S(k+1,4)=Y(k+1);end②当n=10时,我们在命令窗口中输入以下的命令:clear,clcX=-1:0.2:1;Y=1./(25*X.^2+1);dx0= 0.0739644970414201;dxn= -0.0739644970414201; S=csfit(X,Y,dx0,dxn)x1=-1:0.01:-0.5;y1=polyval(S(1,:),x1-X(1));x2=-0.5:0.01:0;y2=polyval(S(2,:),x2-X(2));x3=0:0.01:0.5; y3=polyval(S(3,:),x3-X(3));x4=0.5:0.01:1;y4=polyval(S(4,:),x4-X(4));plot(x1,y1,x2,y2,x3,y3,x4,y4, X,Y,'.')结果如图:②当n=20时,我们在命令窗口中输入以下的命令:clear,clcX=-1:0.1:1;Y=1./(25*X.^2+1);dx0= 0.0739644970414201;dxn= -0.0739644970414201; S=csfit(X,Y,dx0,dxn)x1=-1:0.01:-0.5;y1=polyval(S(1,:),x1-X(1));x2=-0.5:0.01:0;y2=polyval(S(2,:),x2-X(2));x3=0:0.01:0.5; y3=polyval(S(3,:),x3-X(3));x4=0.5:0.01:1;y4=polyval(S(4,:),x4-X(4));plot(x1,y1,x2,y2,x3,y3,x4,y4, X,Y,'.')结果如图:第三章函数逼近与快速傅里叶变换2. 由实验给出数据表x 0.0 0.1 0.2 0.3 0.5 0.8 1.0y 1.0 0.41 0.50 0.61 0.91 2.02 2.46试求3次、4次多项式的曲线拟合,再根据数据曲线形状,求一个另外函数的拟合曲线,用图示数据曲线及相应的三种拟合曲线。
复习:1.数值计算方法的含义 2.误差及误差限 3.误差与有效数字4.数值计算中应注意的问题第二章 插值方法一.插值的含义 问题提出:已知函数()y f x =在n+1个点01,,,n x x x 上的函数值01,,,n y y y ,求任意一点x '的函数值()f x '。
说明:函数()y f x =可能是未知的;也可能是已知的,但它比较复杂,很难计算其函数值()f x '。
解决方法:构造一个简单函数()P x 来替代未知(或复杂)函数()y f x =,则用()P x '作为函数值()f x '的近似值。
二、泰勒(Taylor )插值 1.问题提出:已知复杂函数()y f x =在0x 点的函数值()0f x ,求0x 附近另一点0x h +的函数值()0f x h +。
2.解决方法:构造一个代数多项式函数()n P x ,使得()n P x 与()f x 在0x x =点充分逼近。
泰勒多项式为:()()()()()()()()()200000002!!n n n f x f x P x f x f x x x x x x x n '''=+-+-++-显然,()n P x 与()f x 在0x x =点,具有相同的i 阶导数值(i=0,1,…,n )。
3.几何意义为:()n P x 与()f x 都过点()()00,x f x ;()n P x 与()f x 在点()()00,x f x 处的切线重合; ()n P x 与()f x 在点()()00,x f x 处具有相同的凹凸性;其几何意义可以由下图描述,显然函数()3f x 能相对较好地在0x 点逼近()f x 。
4.误差分析(泰勒余项定理):()()()()()()1101!n n n f P x f x x x n ξ++-=-+,其中ξ在0x 与x 之间。
5.举例:已知函数()f x ()115f 。
数值分析第2章插值法插值法是数值分析中常用的一种数值逼近方法,用于在给定一组有限数据点的情况下,通过构造合适的数学模型来估计这些数据点之间的未知数值。
插值法的应用广泛,包括图像处理、计算机辅助设计、数值计算等领域。
常见的插值方法有拉格朗日插值、牛顿插值、埃尔米特插值以及样条插值等。
这些方法都是基于多项式的插值形式,通过构造一个多项式函数来逼近数据点,并据此对未知点进行估计。
拉格朗日插值是一种基于拉格朗日多项式的插值方法。
对于给定的n+1个不同的数据点 (x0, y0), (x1, y1), ..., (xn, yn),拉格朗日插值构造了一个n次多项式Ln(x),满足:Ln(x) = y0L0(x) + y1L1(x) + ... + ynLn(x)其中,L0(x),L1(x),...,Ln(x)是拉格朗日基函数,定义为:Lk(x) = ∏(i≠k)(x - xi)/(xk - xi) (k = 0, 1, ..., n)拉格朗日插值方法的优点是简单易用,但随着数据点数量的增加,拉格朗日多项式的计算复杂度也会大大增加。
牛顿插值是另一种基于多项式的插值方法,它使用差商的概念来构造插值多项式。
对于给定的n+1个不同的数据点 (x0, y0), (x1, y1), ..., (xn, yn),牛顿插值构造了一个n次多项式Nn(x),满足:Nn(x) = y0 + c0(x - x0) + c1(x - x0)(x - x1) + ... + cn(x -x0)(x - x1)...(x - xn-1)其中,c0 = Δy0/(x0 - x1),ci = Δyi/(xi - xi+1) (i = 0, 1, ..., n-1),Δyi = yi+1 - yi。
牛顿插值方法相比于拉格朗日插值方法,在计算多项式时具有更高的效率,尤其是在需要更新数据点时。
此外,牛顿插值方法还可以通过迭代的方式得到更高次数的插值多项式。