搜档网
当前位置:搜档网 › 武汉大学数值分析分章复习(插值)

武汉大学数值分析分章复习(插值)

武汉大学数值分析分章复习(插值)
武汉大学数值分析分章复习(插值)

数值分析参考答案(第 二章)

第二章 插值法 1.当1,1,2x =-时,()0,3,4f x =-,求()f x 的二次插值多项式。 解: 0120121200102021101201220211,1,2, ()0,()3,()4;()()1 ()(1)(2)()()2()()1 ()(1)(2) ()()6 ()()1 ()(1)(1) ()()3 x x x f x f x f x x x x x l x x x x x x x x x x x l x x x x x x x x x x x l x x x x x x x ==-===-=--==-+-----==------= =-+-- 则二次拉格朗日插值多项式为 2 20()()k k k L x y l x ==∑ 0223()4() 14 (1)(2)(1)(1)23537623l x l x x x x x x x =-+=---+-+=+- 2.给出()ln f x x =的数值表 用线性插值及二次插值计算ln0.54的近似值。 解:由表格知, 01234012340.4,0.5,0.6,0.7,0.8;()0.916291,()0.693147()0.510826,()0.356675()0.223144 x x x x x f x f x f x f x f x ======-=-=-=-=- 若采用线性插值法计算ln0.54即(0.54)f , 则0.50.540.6<<

2 112 1 221 11122()10(0.6)()10(0.5)()()()()() x x l x x x x x x l x x x x L x f x l x f x l x -==----= =---=+ 6.93147(0.6) 5.10826(0.5)x x =--- 1(0.54)0.62021860.620219L ∴=-≈- 若采用二次插值法计算ln0.54时, 1200102021101201220212001122()() ()50(0.5)(0.6) ()() ()() ()100(0.4)(0.6) ()()()() ()50(0.4)(0.5) ()() ()()()()()()() x x x x l x x x x x x x x x x x l x x x x x x x x x x x l x x x x x x x L x f x l x f x l x f x l x --==------==-------= =----=++ 500.916291(0.5)(0.6)69.3147(0.4)(0.6)0.51082650(0.4)(0.5) x x x x x x =-?--+---?--2(0.54)0.615319840.615320L ∴=-≈- 3.给全cos ,090x x ≤≤的函数表,步长1(1/60),h '==若函数表具有5位有效数字,研究用线性插值求cos x 近似值时的总误差界。 解:求解cos x 近似值时,误差可以分为两个部分,一方面,x 是近似值,具有5位有效数字,在此后的计算过程中产生一定的误差传播;另一方面,利用插值法求函数cos x 的近似值时,采用的线性插值法插值余项不为0,也会有一定的误差。因此,总误差界的计算应综合以上两方面的因素。 当090x ≤≤时, 令()cos f x x = 取0110,( )606018010800 x h ππ ===?=

《数值分析课程设计-三次样条插值》 报告

掌握三次样条插值函数的构造方法,体会三次样条插值函数对被逼近函数的近似。 三次样条插值函数边界条件由实际问题对三次样条插值在端点的状态要求给出。 以第1 边界条件为例,用节点处二阶导数表示三次样条插值函数,用追赶法求解相关方程组。通过Matlab 编制三次样条函数的通用程序,可直接显示各区间段三次样条函数体表达式,计算出已给点插值并显示各区间分段曲线图。 引言 分段低次样条插值虽然计算简单、稳定性好、收敛性有保证且易在电子计算机上实现,但只能保证各小段曲线在连接处的连续性,不能保证整件曲线的光滑性。利用样条插值,既可保持分段低次插值多项式,又可提高插值函数光滑性。故给出分段三次样条插值的构造过程算法步骤,利用Matlab软件编写三次样条插值函数通用程序,并通过数值算例证明程序的正确性。 三次样条函数的定义及特征 定义:设[a,b] 上有插值节点,a=x1<x2<…xn=b,对应函数值为y1,y2,?yn。若函数S(x) 满 足S(xj) = yj ( j = 1,2, ?,n ), S(x) 在[xj,xj+1] ( j =1,2,?,n-1)上都是不高于三的多项式(为了与其对应j 从1 开始,在Matlab 中元素脚标从1 开始)。当S(x) 在 [a,b] 具有二阶连续导

数。则称S(x) 为三次样条插值函数。要求S(x) 只需在每个子区 间[xj,xj+1] 上确定 1 个三次多项式,设为: Sj(x)=ajx3+bjx2+cjx+dj, (j=1,2,?,n-1) (1) 其中aj,bj,cj,dj 待定,并要使它满足: S(xj)=yj, S(xj-0)=S(xj+0), (j=2,?,n-1) (2) S'(xj-0)=S'(xj+0), S"(xj-0)=S"(xj+0), (j=2,?,n-1) (3) 式(2)、(3)共给出n+3(n-2)=4n-6 个条件, 需要待定4(n-1) 个系数,因此要唯一确定三次插值函数,还要附加2 个边界条件。通常由实际问题对三次样条插值在端点的状态要求给 出。常用边界的条件有以下3 类。 第 1 类边界条件:给定端点处的一阶导数值,S'(x1)=y1',S'(xn) =yn'。 第 2 类边界条件:给定端点处的二阶导数值,S"(x1)=y1",S"(xn) =yn"。特殊情况y1"=yn"=0,称为自然边界条件。 第 3 类边界条件是周期性条件,如果y=f(x)是以b-a 为周期的函 数,于是S(x) 在端点处满足条件S'(x1+0)=S'(xn-0),S"(x+0) =S"(xn-0)。 下以第 1 边界条件为例,利用节点处二阶导数来表示三次样条插值

数值分析 第二章 2.当1,1,2x =-时,()0,3,4f x =-,求()f x 的二次插值多项式。 解: 0120121200102021101201220211,1,2, ()0,()3,()4;()()1 ()(1)(2)()()2()()1 ()(1)(2) ()()6 ()()1 ()(1)(1) ()()3 x x x f x f x f x x x x x l x x x x x x x x x x x l x x x x x x x x x x x l x x x x x x x ==-===-=--==-+-----==------= =-+-- 则二次拉格朗日插值多项式为 2 20 ()()k k k L x y l x ==∑ 0223()4() 14 (1)(2)(1)(1)23 537623 l x l x x x x x x x =-+=---+ -+= +- 6.设,0,1,,j x j n =L 为互异节点,求证: (1) 0()n k k j j j x l x x =≡∑ (0,1,,);k n =L (2)0 ()()0n k j j j x x l x =-≡∑ (0,1,,);k n =L 证明 (1) 令()k f x x = 若插值节点为,0,1,,j x j n =L ,则函数()f x 的n 次插值多项式为0 ()()n k n j j j L x x l x == ∑。 插值余项为(1)1() ()()()()(1)! n n n n f R x f x L x x n ξω++=-= + 又,k n ≤Q

(1)()0 ()0 n n f R x ξ+∴=∴= 0()n k k j j j x l x x =∴=∑ (0,1,,);k n =L 0 000 (2)()() (())()()(()) n k j j j n n j i k i k j j j i n n i k i i k j j i j x x l x C x x l x C x x l x =-==-==-=-=-∑∑∑∑∑ 0i n ≤≤Q 又 由上题结论可知 ()n k i j j j x l x x ==∑ ()()0 n i k i i k i k C x x x x -=∴=-=-=∑原式 ∴得证。 7设[]2 (),f x C a b ∈且()()0,f a f b ==求证: 21 max ()()max ().8 a x b a x b f x b a f x ≤≤≤≤''≤- 解:令01,x a x b ==,以此为插值节点,则线性插值多项式为 10 101010 ()() ()x x x x L x f x f x x x x x --=+-- =() () x b x a f a f b a b x a --=+-- 1()()0()0 f a f b L x ==∴=Q 又 插值余项为1011 ()()()()()()2 R x f x L x f x x x x x ''=-= -- 011 ()()()()2 f x f x x x x x ''∴= --

实验报告:牛顿差值多项式&三次样条 问题:在区间[-1,1]上分别取n=10、20用两组等距节点对龙格函数21()25f x x 作多项式插值及三次样条插值,对每个n 值,分别画出插值函数及()f x 的图形。 实验目的:通过编程实现牛顿插值方法和三次样条方法,加深对多项式插值的理解。应用所编程序解决实际算例。 实验要求: 1. 认真分析问题,深刻理解相关理论知识并能熟练应用; 2. 编写相关程序并进行实验; 3. 调试程序,得到最终结果; 4. 分析解释实验结果; 5. 按照要求完成实验报告。 实验原理: 详见《数值分析 第5版》第二章相关内容。 实验内容: (1)牛顿插值多项式 1.1 当n=10时: 在Matlab 下编写代码完成计算和画图。结果如下: 代码: clear all clc x1=-1:0.2:1; y1=1./(1+25.*x1.^2); n=length(x1); f=y1(:); for j=2:n for i=n:-1:j f(i)=(f(i)-f(i-1))/(x1(i)-x1(i-j+1)); end end syms F x p ; F(1)=1;p(1)=y1(1); for i=2:n F(i)=F(i-1)*(x-x1(i-1)); p(i)=f(i)*F(i); end

syms P P=sum(p); P10=vpa(expand(P),5); x0=-1:0.001:1; y0=subs(P,x,x0); y2=subs(1/(1+25*x^2),x,x0); plot(x0,y0,x0,y2) grid on xlabel('x') ylabel('y') P10即我们所求的牛顿插值多项式,其结果为:P10(x)=-220.94*x^10+494.91*x^8-9.5065e-14*x^7-381.43*x^6-8.504e-14*x^5+123.36*x^4+2.0 202e-14*x^3-16.855*x^2-6.6594e-16*x+1.0 并且这里也能得到该牛顿插值多项式的在[-1,1]上的图形,并和原函数进行对比(见Fig.1)。 Fig.1 牛顿插值多项式(n=10)函数和原函数图形 从图形中我们可以明显的观察出插值函数在两端点处发生了剧烈的波动,产生了极大的误差,即龙格现象,当n=20时,这一现象将更加明显。 1.2 当n=20时: 对n=10的代码进行修改就可以得到n=20时的代码。将“x1=-1:0.2:1;”改为“x1=-1:0.1:1;”即可。运行程序,我们得到n=20时的牛顿插值多项式,结果为:P20(x)= 260188.0*x^20 - 1.0121e6*x^18 + 2.6193e-12*x^17 + 1.6392e6*x^16 + 2.248e-11*x^15 - 1.4429e6*x^14 - 4.6331e-11*x^13 + 757299.0*x^12 + 1.7687e-11*x^11 - 245255.0*x^10 + 2.1019e-11*x^9 + 49318.0*x^8 + 3.5903e-12*x^7 - 6119.2*x^6 - 1.5935e-12*x^5 + 470.85*x^4 + 1.3597e-14*x^3 - 24.143*x^2 - 1.738e-14*x + 1.0 同样的,这里得到了该牛顿插值多项式的在[-1,1]上的图形,并和原函数进行对比(见Fig.2)。

CENTRAL SOUTH UNIVERSITY 数值分析实验报告

三次样条插值方法的应用 一、问题背景 分段低次插值函数往往具有很好的收敛性,计算过程简单,稳定性好,并且易于在在电子计算机上实现,但其光滑性较差,对于像高速飞机的机翼形线船体放样等型值线往往要求具有二阶光滑度,即有二阶连续导数,早期工程师制图时,把富有弹性的细长木条(即所谓的样条)用压铁固定在样点上,在其他地方让他自由弯曲,然后沿木条画下曲线,称为样条曲线。样条曲线实际上是由分段三次曲线并接而成,在连接点即样点上要求二阶导数连续,从数学上加以概括就得到数学样条这一概念。下面我们讨论最常用的三次样条函数及其应用。 二、数学模型 样条函数可以给出光滑的插值曲线(面),因此在数值逼近、常微分方程和偏微分方程的数值解及科学和工程的计算中起着重要的作用。 设区间[]b ,a 上给定有关划分b x x n =<<<= 10x a ,S 为[]b ,a 上满足下面条件的函数。 ● )(b a C S ,2∈; ● S 在每个子区间[]1,+i i x x 上是三次多项式。 则称S 为关于划分的三次样条函数。常用的三次样条函数的边界条件有三种类型: ● Ⅰ型 ()()n n n f x S f x S ''0'',==。 ● Ⅱ型 ()()n n n f x S f x S ''''0'''',==,其特殊情况为()()0''''==n n x S x S 。 ● Ⅲ型 ()() 3,2,1,0,0==j x S x S n j j ,此条件称为周期样条函数。 鉴于Ⅱ型三次样条插值函数在实际应用中的重要地位,在此主要对它进行详细介绍。 三、算法及流程 按照传统的编程方法,可将公式直接转换为MATLAB 可是别的语言即可;另一种是运用矩阵运算,发挥MATLAB 在矩阵运算上的优势。两种方法都可以方便地得到结果。方法二更直观,但计算系数时要特别注意。这里计算的是方法一的程序,采用的是Ⅱ型边界条件,取名为spline2.m 。 Matlab 代码如下: function s=spline2(x0,y0,y21,y2n,x) %s=spline2(x0,y0,y21,y2n,x) %x0,y0 are existed points,x are insert points,y21,y2n are the second

数值计算方法作业 实验4.3 三次样条差值函数 实验目的: 掌握三次样条插值函数的三弯矩方法。 实验函数: dt e x f x t ? ∞ -- = 2 221)(π 实验内容: (1) 编程实现求三次样条插值函数的算法,分别考虑不同的边界条件; (2) 计算各插值节点的弯矩值; (3) 在同一坐标系中绘制函数f(x),插值多项式,三次样条插值多项式的曲线 比较插值结果。 实验4.5 三次样条差值函数的收敛性 实验目的: 多项式插值不一定是收敛的,即插值的节点多,效果不一定好。对三次样条插值函数如何呢?理论上证明三次样条插值函数的收敛性是比较困难的,通过本实验可以证明这一理论结果。 实验内容: 按照一定的规则分别选择等距或非等距的插值节点,并不断增加插值节点的个数。 实验要求: (1) 随着节点个数的增加,比较被逼近函数和三样条插值函数的误差变化情 况,分析所得结果并与拉格朗日插值多项式比较; (2) 三次样条插值函数的思想最早产生于工业部门。作为工业应用的例子,考

虑如下例子:某汽车制造商根据三次样条插值函数设计车门曲线,其中一 算法描述: 拉格朗日插值: 错误!未找到引用源。 其中错误!未找到引用源。是拉格朗日基函数,其表达式为:() ∏ ≠=--=n i j j j i j i x x x x x l 0) ()( 牛顿插值: ) )...()(](,...,,[.... ))(0](,,[)0](,[)()(1102101210100----++--+-+=n n n x x x x x x x x x x f x x x x x x x f x x x x f x f x N 其中????? ?? ?? ?????? --=--= --= -)/(]),...,[],...,[(]...,[..],[],[],,[)()(],[01102110x x x x x f x x x f x x x f x x x x f x x f x x x f x x x f x f x x f n n n n i k j i k j k j i j i j i j i 三样条插值: 所谓三次样条插值多项式Sn(x)是一种分段函数,它在节点Xi(a

第一章绪论(1-4) 一、误差来源及分类 二、误差的基本概念 1.绝对误差及绝对误差限 2.相对误差及相对误差限 3.有效数字 三、数值计算的误差估计 1.函数值的误差估计 2.四则运算的误差估计 四、数值计算的误差分析原则 第二章插值(1.2.4-8) 一、插值问题的提法(定义)、插值条件、插值多项式的存在唯一性 二、拉格朗日插值 1.拉格朗日插值基函数的定义、性质 2.用拉格朗日基函数求拉格朗日多项式 3.拉格朗日插值余项(误差估计) 三、牛顿插值 1.插商的定义、性质 2.插商表的计算 3.学会用插商求牛顿插值多项式 四、等距节点的牛顿插值 1.差分定义、性质及计算(向前、向后和中心) 2.学会用差分求等距节点下的牛顿插值公式 五、学会求低次的hermite插值多项式 六、分段插值 1.分段线性插值 2.分段三次hermite插值 3.样条插值 第三章函数逼近与计算(1-6) 一、函数逼近与计算的提法(定义)、常用两种度量标准(一范数、二范数\平方逼近) 二、基本概念 连续函数空间、最佳一次逼近、最佳平方逼近、内积、内积空间、偏差与最小偏差、偏差点、交错点值、平方误差 三、学会用chebyshev定理求一次最佳一致逼近多项式,并估计误差(最大偏差) 四、学会在给定子空间上通过解方程组求最佳平方逼近,并估计误差(平方误差) 五、正交多项式(两种)定义、性质,并学会用chebyshev多项式性质求特殊函数的(降阶)最佳一次逼近多项式 六、函数按正交多项式展开求最佳平方逼近多项式,并估计误差 七、一般最小二乘法(多项式拟合)求线性拟合问题 第四章数值分析(1-4) 一、数值求积的基本思想及其机械求积公式

第二章插值法 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:n for k=j:n D(k,j)=(D(k,j-1)- D(k-1,j-1))/(X(k)-X(k-j+1)); end end C=D(n,n); for k=(n-1):-1:1 C=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)图形:

第二章复习与思考题 1.什么是拉格朗日插值基函数它们是如何构造的有何重要性质 答:若n 次多项式()),,1,0(n j x l j Λ=在1+n 个节点n x x x <<<Λ10上满足条件 (),,,1,0,, ,0, ,1n k j j k j k x l k j Λ=?? ?≠== 则称这1+n 个n 次多项式()()()x l x l x l n ,,,10Λ为节点n x x x ,,,10Λ上的n 次拉格朗日插值基函数. 以()x l k 为例,由()x l k 所满足的条件以及()x l k 为n 次多项式,可设 ()()()()()n k k k x x x x x x x x A x l ----=+-ΛΛ110, 其中A 为常数,利用()1=k k x l 得 ()()()()n k k k k k k x x x x x x x x A ----=+-ΛΛ1101, 故 ()()()() n k k k k k k x x x x x x x x A ----= +-ΛΛ1101 , 即 ()()()()()()()()∏ ≠=+-+---=--------=n k j j j k j n k k k k k k n k k k x x x x x x x x x x x x x x x x x x x x x l 0110110)(ΛΛΛΛ. 对于()),,1,0(n i x l i Λ=,有 ()n k x x l x n i k i k i ,,1,00 Λ==∑=,特别当0=k 时,有 ()∑==n i i x l 0 1. 2.什么是牛顿基函数它与单项式基{ }n x x ,,,1Λ有何不同 答:称()()()(){ }10100,,,,1------n x x x x x x x x x x ΛΛ为节点n x x x ,,,10Λ上的牛顿基函数,利用牛顿基函数,节点n x x x ,,,10Λ上的n 次牛顿插值多项式()x P n 可以表示为 ()()()()10010---++-+=n n n x x x x a x x a a x P ΛΛ 其中[]n k x x x f a k k ,,1,0,,,,10ΛΛ==.与拉格朗日插值多项式不同,牛顿插值基函数在增加节点时可以通过递推逐步得到高次的插值多项式,例如 ()()()()k k k k x x x x a x P x P --+=++Λ011,

实验报告:牛顿差值多项式&三次样条 问题:在区间[-1,1]上分别取n=10、20用两组等距节点对龙格函数2 1()25f x x 作多项式插值及三次样条插值,对每个n 值,分别画出插值函数及()f x 的图形。 实验目的:通过编程实现牛顿插值方法和三次样条方法,加深对多项式插值的理解。应用所编程序解决实际算例。 实验要求: 1. 认真分析问题,深刻理解相关理论知识并能熟练应用; 2. 编写相关程序并进行实验; 3. 调试程序,得到最终结果; 4. 分析解释实验结果; 5. 按照要求完成实验报告。 实验原理: 详见《数值分析 第5版》第二章相关内容。 实验内容: (1)牛顿插值多项式 1.1 当n=10时: 在Matlab 下编写代码完成计算和画图。结果如下: 代码: clear all clc x1=-1:0.2:1; y1=1./(1+25.*x1.^2); n=length(x1); f=y1(:); for j=2:n for i=n:-1:j f(i)=(f(i)-f(i-1))/(x1(i)-x1(i-j+1)); end end syms F x p ; F(1)=1;p(1)=y1(1); for i=2:n F(i)=F(i-1)*(x-x1(i-1)); p(i)=f(i)*F(i);

end syms P P=sum(p); P10=vpa(expand(P),5); x0=-1:0.001:1; y0=subs(P,x,x0); y2=subs(1/(1+25*x^2),x,x0); plot(x0,y0,x0,y2) grid on xlabel('x') ylabel('y') P10即我们所求的牛顿插值多项式,其结果为:P10(x)=-220.94*x^10+494.91*x^8-9.5065e-14*x^7-381.43*x^6-8.504e-14*x^5+123.36*x^4+2.0202e-1 4*x^3-16.855*x^2-6.6594e-16*x+1.0 并且这里也能得到该牛顿插值多项式的在[-1,1]上的图形,并和原函数进行对比(见Fig.1)。 Fig.1 牛顿插值多项式(n=10)函数和原函数图形 从图形中我们可以明显的观察出插值函数在两端点处发生了剧烈的波动,产生了极大的误差,即龙格现象,当n=20时,这一现象将更加明显。 1.2 当n=20时: 对n=10的代码进行修改就可以得到n=20时的代码。将“x1=-1:0.2:1;”改为“x1=-1:0.1:1;”即可。运行程序,我们得到n=20时的牛顿插值多项式,结果为:P20(x)= 260188.0*x^20 - 1.0121e6*x^18 + 2.6193e-12*x^17 + 1.6392e6*x^16 + 2.248e-11*x^15 - 1.4429e6*x^14 - 4.6331e-11*x^13 + 757299.0*x^12 + 1.7687e-11*x^11 - 245255.0*x^10 + 2.1019e-11*x^9 + 49318.0*x^8 + 3.5903e-12*x^7 - 6119.2*x^6 - 1.5935e-12*x^5 + 470.85*x^4 + 1.3597e-14*x^3 - 24.143*x^2 - 1.738e-14*x + 1.0 同样的,这里得到了该牛顿插值多项式的在[-1,1]上的图形,并和原函数进行对比(见Fig.2)。

第二章 习 题 1. 已知函数()f x 在3,1,4x =的值分别为4,2,5,求Lagrange 插值多项式的表达式. 2. 已知函数 ()f x 在3x =和 4的值分别为0.5和0.64,用线性插值求此函数在 3.8x =的函数值. 3. 证明:对于 ()f x 的以01x x <为节点的一次插值多项式1()p x ,有 2 101()()()8 x x f x p x M ??≤,01x x x ≤≤, 其中01 max ()x x x M f x ≤≤′′= . 4. 已知函数 ()f x 的函数值表: x 0.1 0.2 0.3 0.4 0.5 ()f x 0.70010 0.40160 0.10810 -0.17440 -0.43750 试利用这个函数表求函数()f x 在0.3和0.4之间的零点. 5. 设 01,,,n x x x ???为1n +个互异的节点,()k l x 为n 阶 Lagrange 插值基函数, 0()()n k k x x x ω==?∏.证明: (1) 0()1n k k l x =≡∑; (2) 0(),0,1,2,,k n j j k k x l x x j n =≡=???∑; (3) ()()0,0,1,2,,n j k k k x x l x j n =?≡=???∑; (4)() ()()() k k k x l x x x x ωω= ′?.

6. 若73()1f x x x =?+,求0172,2,,2f ???????和018 2,2,,2f ???????. 7. 设 53()1f x x x =++,求以1x =?,-0.8,0,0.5,1为插值节点的Newton 插值多 项式和插值余项. 8. 已知函数值表: x 0 1 4 3 6 ()f x -7 8 5 14 求Newton 插值多项式的表达式. 9. 分别在下列情况下计算 1n ?次多项式()p t 在指定点t 的的值,各需要多少次乘 法运 算? (a)多项式()p t 按照单项式基函数展开; (b)多项式()p t 按照Lagrange 基函数展开; (c)多项式()p t 按照Newton 基函数展开. 10. 在区间[]0,/2π上使用5个等距节点对函数sin t 进行插值,试计算最大误差. 在 []0,/2π上选取若干点,比较函数值和插值多项式的值,验证误差界. 如果希望最大误 差为10 10 ?,需要多少个插值节点? 11. 一直平面曲线()y f x =过点(0,1) ,(1,3),(2,4),试求一个三次多项式3()p x ,使其经过这3个点,并且满足3(1)1p ′=;然后给出余项3()()()R x f x p x =?的表达式. 12. 试求一个四次多项式4()p x ,使其满足44 44(0)(0)0(1)(1)1p p p p ′′====,,4(2)1p =. 13. 能否通过使用分段二次多项式进行插值,使插值函数是二次连续可微的?为什么? 14. 设[]4 (),f x C a b ∈. 求三次多项式()p x ,使之满足插值条件 11 ()(),0,1,2, ()(),i i p x f x i p x f x ==?? ′′=?

《数值分析》课程实验一:插值与拟合 一、实验目的 1. 理解插值的基本原理,掌握多项式插值的概念、存在唯一性; 2. 编写MATLAB 程序实现Lagrange 插值和Newton 插值,验证Runge 现象; 3. 通过比较不同次数的多项式拟合效果,理解多项式拟合的基本原理; 4. 编写MATLAB 程序实现最小二乘多项式曲线拟合。 二、实验内容 1. 用Lagrange 插值和Newton 插值找经过点(-3, -1), (0, 2), (3, -2), (6, 10)的三次插值公式,并编写MATLAB 程序绘制出三次插值公式的图形。 2. 设 ]5,5[,11 )(2 -∈+= x x x f 如果用等距节点x i = -5 + 10i /n (i = 0, 1, 2, …, n )上的Lagrange 插值多项式L n (x )去逼近它。不妨取n = 5和n = 10,编写MATLAB 程序绘制出L 5(x )和L 10(x )的图像。 3. 在某冶炼过程中,根据统计数据的含碳量与时间关系如下表,试求含碳量与时间t 的拟合曲线。

(1) 用最小二乘法进行曲线拟合; (2) 编写MATLAB 程序绘制出曲线拟合图。 三、实验步骤 1. (1) Lagrange 插值法:在线性空间P n 中找到满足条件: ?? ?≠===j i j i x l ij j i , 0,, 1)(δ 的一组基函数{}n i i x l 0)(=,l i (x )的表达式为 ∏ ≠==--= n i j j j i j i n i x x x x x l ,0),,1,0()( 有了基函数{}n i i x l 0)(=,n 次插值多项式就可表示为 ∑==n i i i n x l y x L 0)()( (2) Newton 插值法:设x 0, x 1, …, x n 是一组互异的节点,y i = f (x i ) (i = 0, 1, 2, …, n ),f (x )在处的n 阶差商定义为 1102110] ,,,[],,,[],,,[x x x x x f x x x f x x x f n n n n --= - 则n 次多项式 ) ())(](,,[) )(](,,[)](,[)()(11010102100100----++--+-+=n n n x x x x x x x x x f x x x x x x x f x x x x f x f x N 差商表的构造过程:

《数值分析》课程设计 三次样条插值算法 院(系)名称信息工程学院 专业班级09普本信计1班 学号 学生姓名 指导教师

数值分析课程设计评阅书

课程设计任务书 2008—2009学年第二学期 专业班级:09普本信计1班学号:姓名: 课程设计名称:数值分析 设计题目:三次样条插值 完成期限:自2012 年 6 月8 日至2012 年 6 月13 日共 1 周 设计依据、要求及主要内容: 一、设计目的 熟练掌握三次样条插值算法的原理和推导过程,并且能够应用Matlab软件编写相应的程序和使用Matlab软件函数库软件。 二、设计要求 (1)用Matlab函数库中相应函数对选定的问题,求出具有一定精度的结果。 (2)使用所用的方法编写Matlab程序求解,对数值结果进行分析。 (3)对于使用多个方法解同一问题的,在界面上设计成菜单形式。 三、设计内容 首先构造三次样条插值函数的定义和一般特征,并对实例问题进行实例分析,并总结 四、参考文献 [1] 黄明游,冯果忱.数值分析[M].北京:高等教育出版社,2008. [2]马东升,雷勇军.数值计算方法[M].北京:机械工业出版社,2006. [3] 石博强,赵金.MATLAB数学计算与工程分析范例教程[M].北京:中国铁道出版社.2005. [4]郝红伟,MATLAB 6,北京,中国电力出版社,2001 [5]姜健飞,胡良剑,数值分析及其MATLAB实验,科学出版社,2004 [6]薛毅,数值分析实验,北京工业大学出版社,2005 计划答辩时间:2012年6月18日

指导教师(签字):教研室主任(签字):批准日期:年月

《数值分析课程设计》 报告 专业: 学号: 学生姓名: 指导教师:

7.掌握三次样条插值函数的构造方法,体会三次样条插值函数对被逼近函数的近似。 三次样条插值函数边界条件由实际问题对三次样条插值在端点的状态要求给出。以第1 边界条件为例, 用节点处二阶导数表示三次样条插值函数,用追赶法求解相关方程组。通过Matlab 编制三次样条函数的通用程序,可直接显示各区间段三次样条函数体表达式,计算出已给点插值并显示各区间分段曲线图。 引言 分段低次样条插值虽然计算简单、稳定性好、收敛性有保证且易在电子计算机上实现,但只能保证各小段曲线在连接处的连续性,不能保证整件曲线的光滑性。利用样条插值,既可保持分段低次插值多项式,又可提高插值函数光滑性。故给出分段三次样条插值的构造过程算法步骤,利用Matlab软件编写三次样条插值函数通用程序,并通过数值算例证明程序的正确性。 三次样条函数的定义及特征 定义:设[a,b] 上有插值节点,a=x1<x2<…x n=b,对应函数值为y1,y2,?y n。若函数S(x) 满足S(x j) =y j (j =1,2, ?,n ),S(x) 在[x j,x j+1] (j =1,2,?,n-1)上都是不高于三的多项式(为了与其对应j 从1 开始,在Matlab 中元素脚标从1 开始)。当S(x) 在[a,b] 具有二阶连续导数。则称S(x) 为三次样条插值函数。要求S(x) 只需在每个子区间[x j,x j+1] 上确定1 个三次多项式,设为: Sj(x)=ajx3+bjx2+cjx+dj, (j=1,2,?,n-1) (1) 其中a j,b j,c j,d j 待定,并要使它满足: S(x j)=y j, S(x j-0)=S(x j+0), (j=2,?,n-1) (2) S'(x j-0)=S'(x j+0), S"(x j-0)=S"(x j+0), (j=2,?,n-1) (3) 式(2)、(3)共给出n+3(n-2)=4n-6 个条件, 需要待定4(n-1) 个系数,因此要唯一确定三次插值函数,还要附加2 个边界条件。通常由实际问题对三次样条插值在端点的状态要求给出。常用边界的条件有以下3 类。 第1 类边界条件:给定端点处的一阶导数值,S'(x1)=y1',S'(x n)=y n'。 第 2 类边界条件:给定端点处的二阶导数值,S"(x1)=y1",S"(x n)=y n"。特殊情况y1"=y n"=0,称为自然边界条件。 第3 类边界条件是周期性条件,如果y=f(x)是以b-a 为周期的函数,于是S(x) 在端点处满足条件S'(x1+0)=S'(x n-0),S"(x+0)=S"(x n-0)。 下以第1 边界条件为例,利用节点处二阶导数来表示三次样条插值函数,给出具体的推导过程。 2 三次样条插值函数的推导过程 注意到S(x) 在[x j, x j+1](j=1,2,?,n-1)上是三次多项式,于是S"(x)在[x j, x j+1] 上是一次多项式,如果S"(x) 在[x j,x j+1](j=1,2,?,n-1)两端点上的值已知,设S"(x j)=M j,S"(x j+1)=M j+1,其中h j =x j+1-x j,对S"(x) 进行两次积分,则得到1 个具有2个任意常数A j,B j 的S(x) 表达式。对S"(x) 求两次积分

数值分析--第2章插值法

第2章 插值法 在科学研究与工程技术中,常常遇到这样的问题:由实验或测量得到一批离散样点,要求作出一条通过这些点的光滑曲线,以便满足设计要求或进行加工。反映在数学上,即已知函数在一些点上的值,寻求它的分析表达式。此外,一些函数虽有表达式,但因式子复杂,不易计算其值和进行理论分析,也需要构造一个简单函数来近似它。 解决这种问题的方法有两类:一类是给出函数)(x f 的一些样点,选定一个便于计算的函数)(x ?形式,如多项式、分式线性函数及三角多项式等,要求它通过已知样点,由此确定函数)(x ?作为)(x f 的近似,这就是插值法;另一类方法在选定近似函数的形式后,不要求近似函数过已知样点,只要求在某种意义下在这些样点上的总偏差最小。这类方法称为曲线(数据)拟合法。 设已知函数f 在区间],[b a 上的1+n 个相异点i x 处的函数值(),0,,i i f f x i n ==,要求构造一个简单函数()x ?作为函数()f x 的近似表达式()()f x x ?≈,使得 ()(),0,1,,i i i x f x f i n ?=== (2-1) 这类问题称为插值问题。称f 为被插值函数;()x ?为插值函数;n x x ,,0 为插值节点;(2-1)为插值条件。 若插值函数类{()}x ?是代数多项式,则相应的插值问题为代数插值。若{()}x ?是三角多项式,则相应的插值问题称为三角插值。若{()}x ?是有理分式,则相应的插值问题称为有理插值。

§1 Lagrange 插值 1.1 Lagrange 插值多项式 设函数f 在1+n 个相异点0 1 ,,,n x x x 上的值n i x f f i i ,,1,0),( ==是已知的,在次数不超过n 的多项式集合n P 中,求()n L x 使得 (),0,1,,n i i L x f n n == (2-2) 定理2.1 存在惟一的多项式n n P L ∈满足插值条件(2-2)。 证明 我们采用构造性的证明方法。假如我们能够构造出n 次多项式()i l x ,使得 1,(),0,1,,0,i j ij i j l x i j n i j δ=?===?≠? , (2-3) 那么 ∑==n i i i n x l f x L 0) ()( (2-4) 是满足插值条件(2-2)的插值多项式。 余下的问题就是如何构造出满足式(2-3)的n 次多项式(),0,1,,i l x i n =。由于当j i ≠时,()0,0,1,,i j l x i j n ==,,即111,,,,,i i n x x x x -+是()i l x 的零点,因此()i l x 必然具有形式 ∏≠=+--=----=n i j j j i n i i i i x x c x x x x x x x x c x l 0110)()())(()()( 又因1)(=i i x l ,故∏≠=-=n i j j j i i x x c 0)(,因此 ∏ ∏∏≠=≠=≠=--=--= n i j j j i j n i j j j i n i j j j i x x x x x x x x x l 000) () () () ()( (2-5)

数值分析第三次作业解答 思考题: 1: (a )对给定的连续函数,构造等距节点上的Lagrange 插值多项式,节点数目越多,得到的插值多项式越接近被逼近的函数。×; (b) 对给定的连续函数,构造其三次样条函数插值,则节点数目越多,得到的样条函数越接近被逼近的函数。 √ (c) 高次的Lagrange 插值多项式很常用。 × (d) 样条函数插值具有比较好的数值稳定性。 √ 3. 以0.1,0.15,0.2为插值节点, 计算()f x = Lagrange 插值多项式 2()P x , 比较2(0)P 和(0)f ,问定理4.1的结果是否适用本问题? 解: 构造插值多项式: 0122022(0.15)(0.2) ()0.050.1 (0.1)(0.2)()0.050.05 (0.1)(0.15)()0.10.05()()()() (0)0;(0)0.1403 x x l x x x l x x x l x P x x x x f P --= ?--=?--=?=++== 在(0,2)区间,5''''''23()(0.2)118.585458 f x x f -=≤=

从而,对任意的 '''3()(0,0.2),(0)0.05933! f ξξω∈≤ 不存在'''32()(0,0.2),(0)(0)(0)0.14033! f f P ξξω∈=-=。 演示程序: x=0:0.01:0.2; y=x.^(1/2); plot(x,y,'r') pause,hold on x0=[0.1,0.15 ,0.2]; y0=x0.^(1/2); x=0:0.01:0.2; y1=lagrangen(x0,y0,x); plot(x,y1,'b') 5:(a )求()f x x =在节点 123452,0.5,0, 1.5,2x x x x x =-=-=== 的三次样条插值(150M M ==)。 解: 23452341.5,0.5, 1.5,0.5, 2/31/12001/122/31/4201/42/30h h h h M M M ====????????????=??????????????????

相关主题