数值分析课程报告

合集下载

数值分析(计算方法)课程设计实验报告(附程序)

数值分析(计算方法)课程设计实验报告(附程序)

n=4 时,max[L(X)-h(X)]=0.4020;
n=8 时,max[L(X)-h(X)]=0.1708;
n=10 时,max[L(X)-h(X)]=0.1092。
图象分析: 从图象可以看出随着插值节点数的增加出现异常的摆动,中间能较好的接近 原函数,但两边却出现很大的误差。
(3).对定义在(-5,5)上的函数
程序代码 2:
x=[-1:0.2:1]; y=1./(1+25.*x.^2); x0=[-1:0.01:1]; y0=lagrange(x,y,x0); y1=1./(1+25.*x0.^2);
plot(x0,y0,'--r'); hold on; plot(x0,y1,'-b'); x2=abs(y0-y1); max(x2) ; 程序代码3: n=3; for i=1:n x(i)=cos(((2.*i-1).*pi)./(2.*(n+1))); y(i)=1./(1+25.*x(i).*x(i)); end x0=-1:0.01:1; y0=lagrange(x,y,x0); y1=1./(1+25.*x0.^2); plot(x0,y0,'--r') hold on plot(x0,y1,'-b')
以 x1,x2,„,xn+1 为插值节点构造上述各函数的 Lagrange 插值多项式, 比较其 结果。
设计过程: 已知函数 f(x)在 n+1 个点 x0,x1,…,xn 处的函数值为 y0,y1,…,yn 。 求一 n 次多 项式函数 Pn(x),使其满足: Pn(xi)=yi,i=0,1,…,n. 解决此问题的拉格朗日插值多项式公式如下

数值分析报告

数值分析报告

一、问题描述、模型确立,以及符号说明一个蹦极爱好者准备从一高空热气球跳下,所用橡皮带长度为L 。

为保证安全,必须要预知最大加速度、速度和总下落高度,确保使力不会太大而且气球足够高以保证蹦极者的不会撞到地面。

考虑空气动力学阻力,控制方程为2202(/)()()()Jd x dx kc sign dx dt x L u x L g dt dt m ++--=, 其中29.8/g m s =为重力加速度;0c 和阻力系数成比例,单位为1m -;k 为橡皮带的弹性系数,单位为/N m ;J m 为蹦极者的质量;()sign z 为符号函数,()u z 为单位阶跃函数,即1,0,()0,0,1,0,z sign z z z >⎧⎪==⎨⎪-<⎩1,0,()0,0.z u z z >⎧⎨≤⎩如果10150,70,10/,0.00324J L m m kg k N m c m -====,初始条件为零。

(1)确定最大下落高度、最大下降速度,以及最大加速度。

(2)画出位移、速度、加速度曲线。

二、模型求解2.1 模型标准化问题描述中已经给出数学模型,只需将二阶常微分方程转换成一阶常微分方程组,便可用数值方法求解。

以求精度,这里选用变步长四阶Runge Kutta -法求解。

这里令()x(t)h t =,()dxv t dt=。

转换后的一阶常微分方程组为 20()()()g [()][()]c [()][()]J h t v t k v t h t L u h t L sign t t m νν'=⎧⎪⎨'=----⎪⎩记1(,(),())(t)f t h t t νν=220(,(),())g (())(())c (())(())Jkf t h t t h t L u h t L sign t t m ννν=----;再将微分方程组转换成差分方程组n+1123411234h (22)6(L 22)6n n n h K K K K v v L L L δδ+⎧=++++⎪⎪⎨⎪=++++⎪⎩其中11(,,)n n n K f t h ν=; 12L (,,)n n n f t h ν=;2111(,K ,)222n n n K f t h L δδδν=+++; 2211(,K ,)222n n n L f t h L δδδν=+++; 3122K (,K ,)222n n n f t h L δδδν=+++; 3222(,K ,)222n n n L f t h L δδδν=+++;4133K (,,)n n n f t h K L δδνδ=+++; 4233(,,)n n n L f t h K L δδνδ=+++;2.2 Matlab 程序%单位阶跃函数FunStep.m ,即()u z 函数程序 function y=FunStep(x) if (x>0) y=1; else y=0; end end%符号函数FunSign.m ,即()sign z 函数程序 function y=FunSign(x) if (x>0) y=1; else if (x<0) y=-1; elsey=0; endendend%由于1(,(),())f t h t tν比较简单,可以不用单独编写相应的函数%函数FunF2.m对应2(,(),())f t h t tνfunction y=FunF2(x)L=150;mj=70;k=10;c0=0.00324;g=9.8;y=g-k/mj*FunStep(x(1)-L)*(x(1)-L)-c0*FunSign(x(2))*x(2)^2; end%迭代函数FunIter.mfunction y=FunIter(x,h)K1=x(2);L1=FunF2(x);K2=x(2)+h/2*L1;L2=FunF2(x+h/2*[K1,L1]);K3=x(2)+h/2*L2;L3=FunF2(x+h/2*[K2,L2]);K4=x(2)+h*L3;L4=FunF2(x+h*[K3,L3]);y(1)=x(1)+h/6*(K1+2*K2+2*K3+K4);y(2)=x(2)+h/6*(L1+2*L2+2*L3+L4);y(3)=L4;end%变步长函数FunVarStepS.mfunction y=FunVarStepS(x,h)y1=FunIter(x,h);y2=FunIter(x,h/2);y2=FunIter(y2(1:2),h/2);sum=2;%变量sum表示步长多次折半后的总的步数,初始值为2while(abs(y2-y1)>1.0e-06)sum=2*sum;y2=FunIter(x,h/sum);for i=2:sumy2=FunIter(y2(1:2),h/sum);endendy=y2;end%脚本文件%用矩阵y的第一行存储位移值h,第二行存储速度值v,第三行存储加速度a y(1,1)=0;%矩阵y第一行的第一个数值为位移初始值y(2,1)=0;%矩阵y第二行的第一个数值为速度初始值y(3,1)=9.8;%矩阵y第三行的第一个数值为加速度初始值MaxDpm=0;%变量MaxDpm存放下落高度最大值MaxVel=0;%变量MaxVel存放下落速度最大值MaxAcc=9.8;%变量MaxAcc存放最大加速度值h=0.001;%h为步长n=100000;%n为迭代次数for i=2:ny(:,i)=FunVarStepS(y(1:2,i-1)',h);if(MaxDpm<y(1,i))MaxDpm=y(1,i);endif(MaxVel<y(2,i))MaxVel=y(2,i);endif(abs(MaxAcc)<abs(y(3,i)))MaxAcc=y(3,i);endendMaxDpm %显示最大下降高度MaxVel %显示最大下降速度MaxAcc %显示最大加速度%显示位移、速度和加速度曲线图n1=find(y(1,:)==MaxDpm);n1=n1/1000;n2=find(y(2,:)==MaxVel);n2=n2/1000;n3=find(y(3,:)==MaxAcc);n3=n3/1000;plot(1:n,y(1,:));title('位移曲线');xlabel('t(10^-3s)');ylabel('h(m)');text(n1,MaxDpm,['(',num2str(n1),'s',',',num2str(MaxDpm),'m',')']);figure;plot(1:n,y(2,:));title('速度曲线');xlabel('t(10^-3s)');ylabel('v(m/s)');text(n2,MaxVel,['(',num2str(n2),'s',',',num2str(MaxVel),'m/s',')']);figure;plot(1:n,y(3,:));title('加速度曲线');xlabel('t(10^-3s)');ylabel('a(m/s^2)');text(n3,MaxAcc,['(',num2str(n3),'s',',',num2str(MaxAcc),'m/s^2',')']) ;2.3程序运行结果>> SolveOdeMaxDpm =308.2827MaxVel =44.3510MaxAcc =-12.81182.4 位移、速度,以及加速度曲线012345678910x 10450100150200250300350位移曲线t (10-3s )h (m )012345678910x 104-30-20-1001020304050速度曲线t (10-3s )v (m /s )三总结通过程序运行结果可知,经过11.474s 达到最大下落高度308.2827m ,经过6.536s 达到最大下落速度44.3510/m s ,经过11.474s 最大加速度为—12.81182/m s 。

数值分析实验报告心得(3篇)

数值分析实验报告心得(3篇)

第1篇在数值分析这门课程的学习过程中,我深刻体会到了理论知识与实践操作相结合的重要性。

通过一系列的实验,我对数值分析的基本概念、方法和应用有了更加深入的理解。

以下是我对数值分析实验的心得体会。

一、实验目的与意义1. 巩固数值分析理论知识:通过实验,将课堂上学到的理论知识应用到实际问题中,加深对数值分析概念和方法的理解。

2. 培养实际操作能力:实验过程中,我学会了使用Matlab等软件进行数值计算,提高了编程能力。

3. 增强解决实际问题的能力:实验项目涉及多个领域,通过解决实际问题,提高了我的问题分析和解决能力。

4. 培养团队协作精神:实验过程中,我与同学们分工合作,共同完成任务,培养了团队协作精神。

二、实验内容及方法1. 实验一:拉格朗日插值法与牛顿插值法(1)实验目的:掌握拉格朗日插值法和牛顿插值法的原理,能够运用这两种方法进行函数逼近。

(2)实验方法:首先,我们选择一组数据点,然后利用拉格朗日插值法和牛顿插值法构造插值多项式。

最后,我们将插值多项式与原始函数进行比较,分析误差。

2. 实验二:方程求根(1)实验目的:掌握二分法、Newton法、不动点迭代法、弦截法等方程求根方法,能够运用这些方法求解非线性方程的根。

(2)实验方法:首先,我们选择一个非线性方程,然后运用二分法、Newton法、不动点迭代法、弦截法等方法求解方程的根。

最后,比较不同方法的收敛速度和精度。

3. 实验三:线性方程组求解(1)实验目的:掌握高斯消元法、矩阵分解法等线性方程组求解方法,能够运用这些方法求解线性方程组。

(2)实验方法:首先,我们构造一个线性方程组,然后运用高斯消元法、矩阵分解法等方法求解方程组。

最后,比较不同方法的计算量和精度。

4. 实验四:多元统计分析(1)实验目的:掌握多元统计分析的基本方法,能够运用这些方法对数据进行分析。

(2)实验方法:首先,我们收集一组多元数据,然后运用主成分分析、因子分析等方法对数据进行降维。

武汉理工大学计算机学院数值分析实验报告

武汉理工大学计算机学院数值分析实验报告

武汉理工大学计算机学‎院数值分析实验报告‎武汉理工大学计算机学‎院数值分析实验报告‎‎篇一:数‎值分析实验报告学‎生实验报告‎书实验课程名称开‎课学院指导教‎师姓名学生姓‎名学生专业班级数‎值分析计算机科学与‎技术学院熊盛武 2‎01X—— 201X‎学年第二学期‎实验课程名称:‎数值分析‎篇‎二:数值分‎析实验报告武汉理工‎大学学生实验‎报告书实验课‎程名称:数‎值分析开课‎名学生姓名‎:201X‎1—— 201X学年‎第二学期第一‎次试验(1)‎二分法计算流程图:‎简单迭代法算‎法流程图:(‎2)(3)牛‎顿迭代法流程图:‎(4)弦截法算法‎程序流程图:‎‎篇三:‎数值分析实验报告湖‎北民族学院理学院《数‎值分析》课程实验报告‎(一)湖北民‎族学院理学院《数值分‎析》课程实验报告‎(二) xn?)篇‎四:数值分析‎实验报告数值分析实‎验报告姓名:‎学号:学院‎:老师:‎ XXX XXX‎X实验一一‎、实验内容用雅克比‎迭代法和高斯塞德尔迭‎代法求解课本例‎3.1,设置精度为1‎0-6。

?8-32‎??x1??20??‎?411?‎1??x233‎??6312??x?‎?36? ??3‎??二、实验‎公式 ?? 雅克‎比迭代法的基本思想:‎设方程组Ax‎?b的系数矩阵的对角‎线元素 ??aii?‎0(i?1,2,..‎.,n),根据方程组‎A x?b推导出一个迭‎代公式,然后将任意选‎取的?(0)?‎(1)?(1)‎?(2) xx‎x x一初始向量代入迭‎代公式,求出,再以代‎入同一迭代公式,求出‎,1、雅克比‎迭代法 ?(k)?(‎k) {x}{x}收‎敛时,如此反复进行,‎得到向量序列。

当其极‎限即为原方程组的解。

‎2、高斯塞德‎尔迭代法:‎在雅可比(Jacbi‎)迭代法中,如果当新‎的分量求出后,马上用‎它来代替旧的分量,‎则可能会更快地接近方‎程组的准确解。

基于这‎种设想构造的迭代公式‎称为高斯-塞德尔(G‎a uss-Seide‎l)迭代法。

数值分析实验报告总结

数值分析实验报告总结

一、实验背景数值分析是研究数值计算方法及其理论的学科,是计算机科学、数学、物理学等领域的重要基础。

为了提高自身对数值分析理论和方法的理解,我们进行了数值分析实验,通过实验加深对理论知识的掌握,提高实际操作能力。

二、实验目的1. 理解数值分析的基本理论和方法;2. 掌握数值分析实验的基本步骤和技巧;3. 培养实验设计和数据分析能力;4. 提高编程和计算能力。

三、实验内容本次实验主要分为以下几个部分:1. 线性方程组求解实验:通过高斯消元法、LU分解法等求解线性方程组,并分析算法的稳定性和误差;2. 矩阵特征值问题计算实验:利用幂法、逆幂法等计算矩阵的特征值和特征向量,分析算法的收敛性和精度;3. 非线性方程求根实验:运用二分法、牛顿法、不动点迭代法等求解非线性方程的根,比较不同算法的优缺点;4. 函数插值实验:运用拉格朗日插值、牛顿插值等方法对给定的函数进行插值,分析插值误差;5. 常微分方程初值问题数值解法实验:运用欧拉法、改进的欧拉法、龙格-库塔法等求解常微分方程初值问题,比较不同算法的稳定性和精度。

四、实验过程1. 线性方程组求解实验:首先,编写程序实现高斯消元法、LU分解法等算法;然后,对给定的线性方程组进行求解,记录计算结果;最后,分析算法的稳定性和误差。

2. 矩阵特征值问题计算实验:编写程序实现幂法、逆幂法等算法;然后,对给定的矩阵进行特征值和特征向量的计算,记录计算结果;最后,分析算法的收敛性和精度。

3. 非线性方程求根实验:编写程序实现二分法、牛顿法、不动点迭代法等算法;然后,对给定的非线性方程进行求根,记录计算结果;最后,比较不同算法的优缺点。

4. 函数插值实验:编写程序实现拉格朗日插值、牛顿插值等方法;然后,对给定的函数进行插值,记录计算结果;最后,分析插值误差。

5. 常微分方程初值问题数值解法实验:编写程序实现欧拉法、改进的欧拉法、龙格-库塔法等算法;然后,对给定的常微分方程初值问题进行求解,记录计算结果;最后,比较不同算法的稳定性和精度。

数值分析实验报告模板

数值分析实验报告模板

数值分析实验报告模板篇一:数值分析实验报告(一)(完整)数值分析实验报告12345篇二:数值分析实验报告实验报告一题目:非线性方程求解摘要:非线性方程的解析解通常很难给出,因此线性方程的数值解法就尤为重要。

本实验采用两种常见的求解方法二分法和Newton法及改进的Newton法。

利用二分法求解给定非线性方程的根,在给定的范围内,假设f(x,y)在[a,b]上连续,f(a)xf(b) 直接影响迭代的次数甚至迭代的收敛与发散。

即若x0 偏离所求根较远,Newton法可能发散的结论。

并且本实验中还利用利用改进的Newton法求解同样的方程,且将结果与Newton法的结果比较分析。

前言:(目的和意义)掌握二分法与Newton法的基本原理和应用。

掌握二分法的原理,验证二分法,在选对有根区间的前提下,必是收敛,但精度不够。

熟悉Matlab语言编程,学习编程要点。

体会Newton使用时的优点,和局部收敛性,而在初值选取不当时,会发散。

数学原理:对于一个非线性方程的数值解法很多。

在此介绍两种最常见的方法:二分法和Newton法。

对于二分法,其数学实质就是说对于给定的待求解的方程f(x),其在[a,b]上连续,f(a)f(b) Newton法通常预先要给出一个猜测初值x0,然后根据其迭代公式xk?1?xk?f(xk) f'(xk)产生逼近解x*的迭代数列{xk},这就是Newton法的思想。

当x0接近x*时收敛很快,但是当x0选择不好时,可能会发散,因此初值的选取很重要。

另外,若将该迭代公式改进为xk?1?xk?rf(xk) 'f(xk)其中r为要求的方程的根的重数,这就是改进的Newton 法,当求解已知重数的方程的根时,在同种条件下其收敛速度要比Newton法快的多。

程序设计:本实验采用Matlab的M文件编写。

其中待求解的方程写成function的方式,如下function y=f(x);y=-x*x-sin(x);写成如上形式即可,下面给出主程序。

数值分析课程实验报告

数值分析课程实验报告

数值分析课程实验报告
《数值分析》课程实验报告
实验名称用二分法和迭代法求方程的根
成绩
一、实验目的
掌握利用二分法以及迭代法求方程近似根的方法,并学会运用matlab软件编写程序,求解出方程的根,对迭代法二分法进一步认识并灵活运用。

二、实验内容
比较求方程50xxe的根,要求精确到小数点后的第4位1.在区间[0,1]内用二分法;
2.用迭代法1/5kxkxe,取初值00.25x.三、算法描述
1、二分法:二分法是最简单的求根方法,它是利用连续函数的零点定理,将汗根区间逐次减半缩小,取区间的中点构造收敛点列{}来逼近根x.
2、迭代法:迭代法是一种逐次逼近的方法,其步骤是首先给定一个粗糙的初始值,然后用一个迭代公式反复修正这个值,知道满足要求为止。

四、实验步骤
11、二分法:
(1)计算f(x)在区间[0,1]端点处的值f(0)和f(1)的值;
(2)计算f(x)在区间【0,1】的中点(0+1)/2=1/2处的
值f((a+b)/2);
(3)如果函数值f(1/2)=0,则1/2是f(x)=0的实根,输出根x,终止;
否则继续转(4)继续做检验。

由于f(1/2)≠0,所以继续做检验。

(4)如果函数值f(0)*f(1/2)。

数值分析实验报告

数值分析实验报告
i −1 1 (bi − ∑ aij x j − aii j =1
高斯-赛德尔迭代流程图如图 2 所示。
计算 xi =
j =i + 1
∑a
n
1j
x (j0 ) )
k=k+1
x (0 )=x

x − x (0 ) < ε


k>N
输出x

结束
3.设计算法求解 设计算法为“共轭梯度—高斯赛德尔联合迭代法” 。单纯的共轭梯度算法在求解此病 态矩阵时精度不够高,但迭代时间非常短;高斯赛德尔迭代精度可达很高,但迭代时间 很长。所以,将两种算法联合起来,先利用共轭梯度算法迭代产生具有一定精度的解, 将此解作为高斯赛德尔迭代的初值求解更高精度的解。这样既缩短了求解时间,又可得 到足够精确的解。 “共轭梯度—高斯赛德尔联合迭代法”流程图如图 3 所示。
3
生成矩阵 A 和 b 平衡处理 A 和 b 生成 x 和 x1
注: x—精确解向量 x1—迭代向量
ε —共轭梯度迭代精度
输出 x1
Y
x − x1 ∞ < ε
N 共轭梯度迭代求解
图 3 “共轭梯度法”流程图
(三)实验结果 1.列主元高斯消去算法求解 依图 1 所示流程图利用 matlab 编程求解。 5 阶 hilbert 矩阵 A 的列主元消去过程为 以 例说明所编程序为列主元消去。消去过程:
Hn x = b
1/ 2 L 1/ n 1 1/ 2 L 1/(n + 1) ; 1/ 3 H n = (hij ) = M M M 1/ n 1/(n + 1) L 1/(2n − 1)
(1)
式中:
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

插值法和多项式拟合的研究摘要在科研和生产实践中,常常需要通过一组测量数据来寻找变量x与y的函数关系近似表达式。

解决这类问题的方法有两种:一种是插值法,另一种是拟合法。

插值法的原理是用一个简单函数逼近被计算函数,然后用该简单函数的函数值近似替代被计算函数的函数值。

拟合法能够是从给定的一组实验数据出发,寻找函数的一个近似表达式,该近似表达式能反映数据的基本趋势而又不一定过全部的点,即曲线拟合。

本文主要介绍拉格朗日插值法、埃尔米特插值法、三次样条插值法以及基于最小二乘法的多项式拟合。

关键词:拉格朗日插值,埃尔米特插值,样条插值,多项式拟合1方法的意义在许多实际问题及科学研究中,因素之间往往存在着函数关系,然而,这种关系经常很难有明显的解析表达,通常只是由观察与测试得到一些离散数值。

有时,即使给出了解析表达式,却由于表达式过于复杂,不仅使用不便,而且不易于进行计算与理论分析。

解决这类问题的方法有两种:一种是插值法,另一种是拟合法。

插值法的原理是用一个简单函数逼近被计算函数,然后用该简单函数的函数值近似替代被计算函数的函数值。

它要求给出函数的一个函数表,然后选定一种简单的函数形式,比如多项式、分段线性函数及三角多项式等,通过已知的函数表来确定一个简单的函数()x ϕ作为()f x 的近似,概括地说,就是用简单函数为离散数组建立连续模型。

插值法在实际应用中非常广泛,但是它也有明显的缺陷,一是测量数据常常带有测试误差,而插值多项式又通过所有给出的点,这样就是插值多项式保留了这些误差;二是如果实际得到的数据过多,则必然得到次数较高的插值多项式,这样近似的效果并不理想。

拟合法能够很好的解决这些问题,它从给定的一组实验数据出发,寻找函数的一个近似表达式y=()x ϕ,该近似表达式能反映数据的基本趋势而又不一定过全部的点,即曲线拟合的问题,函数的近似表达式y=()x ϕ称为拟合曲线。

常用最小而二乘法来确定拟合曲线。

2插值法的介绍2.1 插值法定义设 f (x )为[a ,b ]上的函数,在互异点n x x x ,...,,10处的函数值分别为 )(),...,(),(10n x f x f x f ,构造一个简单函数 ϕ(x ) 作为函数 f (x ) 的近似表达式y = f (x ) ≈ ϕ(x ),使)()(i i x f x =ϕ , i =0, 1, 2, …,n (1.0) 则称ϕ(x ) 为关于节点n x x x ,...,,10的插值函数;称n x x x ,...,,10 为插值节点;称))((i i x f x , i =1,2,… , n 为插值点;f (x ) 称为被插值函数。

式(1.0)称为插值条件。

这类问题称为插值问题。

插值的任务就是由已知的观测点,为物理量(未知量)建立一个简单的、连续的解析模型,以便能根据该模型推测该物理量在非观测点处的特性。

常用的插值函数类{()x ϕ}是代数多项式,相应插值问题是代数插值,本文主要介绍三种代数差值:拉格朗日插值,埃尔米特插值和样条插值。

2.2拉格朗日插值2.2.1两点插值问题已知)(i i x f y = )1,0(=i ,求满足插值条件i i y x P =)(1 )1,0(=i 的插值多项式)(1x P 。

根据解析几何知识可知,所求的)(1x P 为过点),(),,(1100y x y x 的直线,即:)()(0010101x x x x y y y x P ---+= 上式经整理可改写为:式中1010)(x x x x x l --=,0101)(x x x x x l --=。

显然{)1(0)0(1)(0===i i x l i ,{)1(1)0(0)(1===i i x l i ,且)(0x l ,)(1x l 为由插值节点唯一确定的线性函数。

)(0x l ,)(1x l 为节点10,x x ,上的一次插值基函数。

可以看出,节点10,x x 上的插值基函数的次数为插值节点个数减一,基函数组中所含的函数个数与插值节点数相同。

而满足i i y x P =)(1 )1,0(=i 的插值多项式)(1x P就是节点10,x x 上插值基函数的线性组合,其组合系数分别为10,y y 。

这种表示为插值基函数线性组合的一次插值多项式也就是一次拉格朗日插值多项式。

当给定n+1个插值节点后,可类似定义n 次插值基函数,并以此构造n 次拉格朗日多项式。

2.2.2 n 次拉格朗日插值多项式n 次插值基函数:))...()()...(())...()()...(()(110110n 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 l --------=+-+- )...,1,0(n k = 显然)(x l k 具有以下性质:性质1,{)(0)(1)(k i k i x l i k === )...,1,0(n k = 性质2,)(x l k )...,1,0(n k =为由插值节点n x x x ,...,,10唯一确定的n 次函数。

性质3, 基函数组所含的基函数个数与插值节点个数相同。

以n 次插值基函数为基础,可得拉格朗日插值多项式为:k nk n k k k k k k n k k n k k k n y x x x x x x x x x x x x x x x x y x l x L ∑∑=+-+-=--------==01101100))...()()...(())...()()...(()()( 00()n n i k k i k ii k x x y x x ==≠-=-∑∏ 若记∏=+-=n i i n x x x 01)()(ω,则有∏≠=+-='nki i i k k n x x x 01)()(ω。

于是)(x L n 也可写成:k n k k n k n n y x x x x x L ∑=++'-=011)()()()(ωω2.2.3拉格朗日插值多项式的余项)()()(x L x f x R n n -=称为拉格朗日插值多项式的余项,也叫截断误差。

用简单的插值多项式)(x L n 代替复杂的函数)(x f ,这种做法是否有效,取决于截断误差是否满足精度要求。

拉格朗日型余项:)()!1()()()()(11x n f x L x f x R n n n n +++=-=ωξ 其中∏=+-=ni i n x x x 01)()(ω,),(b a ∈ξ且依赖于0x 。

一般情况下,),(b a ∈ξ的具体数值无法知道,但是若能够求出1)1()(max ++≤≤=n n bx a M x f ,则可以得出插值多项式的截断误差限为:)(max )!1()(11x n M x R n bx a n n +≤≤++≤ω 由此看出,)(x R n 的大小除了与1+n M 有关外,还与插值节点有密切关系。

当给定M 个点出的函数值,但仅选用其中)1(1m n n <++个作为插值条件而求某点x 处函数值时,n+1个节点n x x x ,...,,10的选取应该尽可能的接近x ,使得计算的函数值的误差限尽可能的小。

2.3埃尔米特插值许多实际问题不但要求插值多项式与被插值函数在节点处的函数值相当,而且还需要求其导数值相等。

满足这种要求的插值多项式就是埃尔米特插值多项式。

一般情形的埃尔米特插值问题一般情形的埃尔米特插值问题是指所满足的插值条件中函数值的个数与导数值的个数相等。

即当函数)(x f 在区间],[b a 上n+1个节点i x ),...,1,0(n i =处的函数值)(i i x f y =及导数值)(i i x f m '=给定时,要求一个次数不超过2n+1的多项式)(12x H n +,使之满足:),...,1,0()()(1212n i m x H y x H i i n i i n =⎭⎬⎫='=++这里给出个2n+2个插值条件,可唯一确定一个形式为12121012...)(++++++=n n n x a x a a x H 的多项式,但是要确定2n+2个系数非常复杂,因此此时可以借用构造拉格朗日插值多项式的基函数。

设)(),(x x j j βα ),...,1,0(n j =为次数不超过2n+1的多项式,且满足:),...,1,0,()(,0)(0)(,)(n j i x x x x ij i j i j i j ij i j =⎪⎭⎪⎬⎫='=='=δββαδα 则满足上述条件的埃尔米特插值多项式可以写成用插值基函数表示的形式: ∑=++=n j j j i j n m x y x H 012])()([βα上式满足插值条件。

可以得到基函数)(),(x x j j βα的解析式为:)(1)(21)(20x l x x x x x j n j k k k j j j ⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡---=∑≠=α ),...,1,0(n j = )()()(2x l x x x j j j -=β ),...,1,0(nj = 式中)(x l j 为拉格朗日插值基函数。

因此埃尔米特插值多项式即为:j j n j j i nj j n j k k k j j n m x l x x y x l x x x x x H )()()(1)(21)(2002012∑∑∑==≠=+-+⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡---= 一般情形下的埃尔米特插值多项式的余项为:)()!22()()()()(12)22(1212x n f x H x f x R n n n n +++++=-=ωξ 式中),(b a ∈ξ,且与x 有关。

埃尔米特插值的几何意义:曲线)(12x H y n +=与曲线)(x f y =在插值节点处有相同的公共切线。

在带导数的插值问题中,有时插值条件中的函数值个数与导数值个数不等。

这时可以以一般情况的埃尔米特插值多项式为基础,运用待定系数法求出满足插值条件的多项式。

2.4样条插值在上述方法中,我们根据区间],[b a 上给出的节点得以得到函数)(x f 的插值多项式,但是并非插值多项式的次数越高,逼近函数)(x f 的精度越好,主要原因是因为对于任意的插值节点,当∞→n 时,插值多项式)(x P n 不一定收敛到)(x f 。

这种高次插值不准确的现象称为龙格现象。

为了避免高次插值的缺点,人们常常采用分段插值的方法,即将插值区间分为若干个小区间,在每个小区间上运用前面介绍的插值方法构造低次插值多项式。

采用分段现象插值与分段二次插值,可以构造一个整个连续的函数,而采用分段三次埃尔米特插值则可以构造一个整体上具有一节连续导数的插值函数。

相关文档
最新文档