《计算方法》第四章 插值方法
- 格式:ppt
- 大小:1.91 MB
- 文档页数:91
实验一插值方法一. 实验目的(1)熟悉数值插值方法的基本思想,解决某些实际插值问题,加深对数值插值方法的理解。
(2)熟悉Matlab 编程环境,利用Matlab 实现具体的插值算法,并进行可视化显示。
二. 实验要求用Matlab 软件实现Lagrange 插值、分段线性插值、三次Hermite 插值、Aitken 逐步插值算法,并用实例在计算机上计算和作图。
三. 实验内容1. 实验题目 (1)已知概率积分dxe y xx ⎰-=22π的数据表构造适合该数据表的一次、二次和三次Lagrange 插值公式,输出公式及其图形,并计算x =0.472时的积分值。
答:①一次插值公式:输入下面内容就可以得到一次插值结果 >> X=[0.47,0.48];Y=[0.4937452,0.5027498]; >> x=0.472;>> (x-X(2))/(X(1)-X(2))*Y(1)+(x-X(1))/(X(2)-X(1))*Y(2)ans =0.495546120000000>>②两次插值公式为:输入下面内容就可以得到两次插值结果>> X=[0.46,0.47,0.48];Y=[0.4846555,0.4937452,0.5027498]; >> x=0.472;>>(x-X(2))*(x-X(3))/((X(1)-X(2))*(X(1)-X(3)))*Y(1)+(x-X(1))*(x-X(3))/((X(2)-X(1))*(X(2)-X(3)))*Y(2)+(x-X(2))*(x-X(1))/((X(3)-X(2))*(X(3)-X(1)))*Y(3)i 0123x 0.46 047 0.48 0.49 y0.4846555 0.4937452 0.5027498 0.5116683ans =0.495552928000000>>③三次插值公式为:输入下面内容就可以得到三次插值结果>> X=[0.46,0.47,0.48,0.49];Y=[0.4846555,0.4937452,0.5027498,0.5116683];>> x=0.472;>>(x-X(2))*(x-X(3))*(x-X(4))/((X(1)-X(4))*(X(1)-X(2))*(X(1)-X(3)))*Y(1)+(x-X(4))*( x-X(1))*(x-X(3))/((X(2)-X(4))*(X(2)-X(1))*(X(2)-X(3)))*Y(2)+(x-X(4))*(x-X(2))*( x-X(1))/((X(3)-X(4))*(X(3)-X(2))*(X(3)-X(1)))*Y(3)+(x-X(3))*(x-X(2))*(x-X(1))/(( X(4)-X(1))*(X(4)-X(2))*(X(4)-X(3)))*Y(4)ans =0.495552960000000输入下面内容,绘出三点插值的图:>> X=[0.46,0.47,0.48,0.49];Y=[0.4846555,0.4937452,0.5027498,0.5116683];>> x=linspace(0.46,0.49);>>y=(x-X(2)).*(x-X(3)).*(x-X(4))/((X(1)-X(4))*(X(1)-X(2))*(X(1)-X(3)))*Y(1)+(x-X(4) ).*(x-X(1)).*(x-X(3))/((X(2)-X(4))*(X(2)-X(1))*(X(2)-X(3)))*Y(2)+(x-X(4)).*(x-X(2) ).*(x-X(1))/((X(3)-X(4))*(X(3)-X(2))*(X(3)-X(1)))*Y(3)+(x-X(3)).*(x-X(2)).*(x-X(1) )/((X(4)-X(1))*(X(4)-X(2))*(X(4)-X(3)))*Y(4);>>plot(x,y)(注意上面的“.*”不能用“*”替代);(2)将区间[-5,5]分为10等份,求作211)(x x f +=的分段线性插值函数,输出函数表达式及其图形,并计算x =3.3152时的函数值。
计算方法拉格朗日插值拉格朗日插值是一种用于在给定数据点间进行插值的方法,它基于拉格朗日多项式的性质来进行计算。
拉格朗日插值可以用于任何数量的数据点,无论是线性插值还是高阶插值。
拉格朗日插值的基本思想是,使用多个插值点的拉格朗日多项式来逼近给定数据点。
具体而言,对于给定的插值点(x0, y0),(x1, y1),...,(xn, yn),我们需要找到一个多项式P(x)来满足以下条件:P(xi) = yi,其中 i = 0, 1, ..., n。
假设我们要计算的插值点为x,那么根据拉格朗日插值的公式,多项式P(x)可以写为:P(x) = Σyi * Li(x),其中 i = 0, 1, ..., n。
在上述公式中,Li(x)是拉格朗日基函数,可以用以下公式表示:Li(x) = Π(x - xj) / Π(xi - xj),其中j ≠ i,i, j = 0,1, ..., n。
现在我们可以根据上述公式进行计算,以下是拉格朗日插值的详细步骤:1. 输入数据点的坐标 (x0, y0),(x1, y1),...,(xn, yn) 和待插值点的坐标 x。
2. 对于每个插值点(xi, yi),计算拉格朗日基函数Li(x)。
3. 对于每个插值点(xi, yi),计算插值多项式中对应的项 yi *Li(x)。
4.将所有项相加,得到插值多项式P(x)。
5.根据插值多项式P(x),计算插值点x的函数值,即P(x)=y。
拉格朗日插值的优点是简单易懂,计算过程相对简单,但它也存在一些缺点。
拉格朗日插值的计算复杂度为O(n^2),这意味着当数据点的数量较多时,计算会变得非常耗时。
此外,拉格朗日插值在边界点附近的插值结果可能会出现较大的误差。
为了减小计算量和提高插值的准确性,还有其他更高效的插值方法,如牛顿插值和样条插值。
这些方法在实际应用中经常被使用,具有更好的性能和更准确的插值结果。
习题44.1 给出概率积分dx ex f xx⎰-=22)(π的数据表:试用二次插值计算)472.0(f .4.3 设j x 为互异节点(n j ,,1,0 =),求证(1)),,1,0()(0n k x x l xnj kj kj=≡∑=(2) ),,1,0(0)()(0n k x l x xnj j kj=≡-∑=4.4 若1)(57++=x x x f ,则=]2,,2,2[710 f ,=]2,,2,2[810 f 。
4.5 若n n y 2=,求n y 2∆和n y 4∆.4.6 设)5,4,3,2,1,0(=i x i 为互异节点,)(x l i 为对应的5次Lagrange 插值基函数,则∑==+++523)()12(i i i i ix l x x x___________________。
4.7 证明两点三次Hermite 插值余项是),(,)())((!41)(1212)4(3++∈--=k k k k x x x x x x fx R ξξ4.8 设ji j nji j i x x x x x l --=∏≠=1)(是Lagrange 基函数,则⎩⎨⎧=)(j i x l 。
4.9求一个次数不超过4次的多项式)(x P ,使它满足,1)2(,1)1()1(,0)0()0(=='=='=P P P P P ,并写出其余项表达式。
4.10 求一个四次插值多项式)(x H ,使0=x 时,2)0(',1)0(-=-=H H ;而1=x 时,20)1(",10)1(',0)1(===H H H ,并写出插值余项的表达式。
4.11 构造适合下列数据表的三次样条插值函数S (x )4.12 已知实验数据试用最小二乘法求经验直线x a a y 10+=。
4.13利用最小二乘法求一个形如2210)(x a x a a x y ++=的经验公式,使它与下列数据拟合:4.14 用最小二乘法求一个形如2bx a y +=的经验公式,使与下列数据相拟合。
计算方法报告——插值1.原理简介插值法是利用函数f (x)在某区间中已知的若干点的函数值,作出适当的特定函数,在区间的其他点上用这特定函数的值作为函数f (x)的近似值。
根据算法和插值要求的不同,有多种插值方法。
拉格朗日插值:有平面上点集{(x i,y i)}共n个点,现作函数f(x)图像使其过这n个点P i(x)=∏x−x j x i−x jnj=0 j≠i L n(x)=∑P i(x)×y ini=1则f(x)=L n(x)牛顿插值:同样点集,用不同方法构造插值多项式。
定义差商:f[x0,x1]=f(x0)−f(x1) x0−x1f[x0,x1……x k]=f[x0,x1……x k−1]−f[x1,x2……x k]x0−x k则有:N(x)=f[x0]+∑f[x0,x1……x k](x−x0)(x−x1)…(x−x k−1)nk=1理论上牛顿插值与拉格朗日插值所得插值多项式完全相同,只是不同写法。
2.算法描述分析函数:homework1.C 画图函数:DrawPlot.cpp为简化程序,将Lagrange插值与Newton插值算法作为子函数调用。
子函数Lagrange()中,输入插值点个数n,插值点集x[n],y[n],即可得到x点的Lagrange插值函数值L(x)。
同样,Newton()中输入相同信息可得到x点Newton插值函数值N(x)。
主函数main()中,先根据设定选择样点为等距分割还是Chebyshev分割,取得点集point_x[n+1]和point_y[n+1],取点范围(-1,1)。
再调用子函数分别计算各x[i]点下的真实函数值,牛顿插值函数值,拉格朗日插值函数值及各种误差,在循环结束后将需要的误差L_inf 和L1输出到屏幕。
最后利用root TGraph把计算得到的数组画出函数图像,并存到rootfile 中。
在误差计算中只用了-1~0上的点,画图时扩大范围画到-1~1全部点DrawPlot函数中读取了homework1.C中画的函数图像,将其整合到一起,设置线条颜色及宽度,加上一个图例,重新生成一张图像。
第四章函数插值§1 引言§2 Lagrange插值法§3 Newton插值法§4 等距节点插值§5 Hermite插值§6 分段插值§7 三次样条插值西北工业大学理学院欧阳洁1§1 引言问题提出仅有采样值,但需要知道非采样点处的函数值。
解决上述问题的一种思路:对用数据表给出的未知函数,建立一个便于计算的近似函数作为表达式。
函数插值法是建立近似函数表达式的一种基本方法。
西北工业大学理学院欧阳洁2西北工业大学理学院欧阳洁4二插值多项式的存在唯一性⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡=⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎣⎡)()()()(111210210212110200n n n n n n n n x f x f x f x f a a a a x x x x x x x x x M M L L L L L L L L 当节点互异, 系数矩阵非奇异, 故得到:{}ni i x 0=定理满足插值条件的不超过n 次的插值多项式存在唯一。
n n xa x a x a a x ++++=L 2210)(ϕ设求多项式函数ϕ(x ),满足,等价于确定多项式ϕ(x )的系数,使得满足n i x f x i i ,,1,0),()(L ==ϕ⎪⎩⎪⎨⎧=++++==++++=)()()()(2210002020100n n n n n n nn n x f x a x a x a a x x f x a x a x a a x L L L L L ϕϕ即西北工业大学理学院欧阳洁18§3 Newton 插值法Lagrange 插值公式的特点:1+n M 当未知,无法估计误差。
当增加插值节点时,在实际计算中不方便(当需要增加插值节点时, 拉格朗日插值基函数都要随之发生变化)。
形式对称;0⇐A )()(00x l x f A A +⇐)()(11x l x f A A +⇐)()(x l x f A A n n +⇐LL 通常用于理论分析;∑==ni i i n x l x f x L 0)()()(Hermite插值多项式的构造给定m+1个插值条件,构造次数不超过m次的插值多项式。