数值计算课程设计报告(插值法)

合集下载

数值计算中的插值方法-教案

数值计算中的插值方法-教案

数值计算中的插值方法-教案一、引言1.1数值计算与插值方法的背景1.1.1数值计算在现代科学和工程中的重要性1.1.2插值方法在数值计算中的应用1.1.3插值方法的基本概念和分类1.1.4教学目标和意义1.2插值方法的历史发展1.2.1古典插值方法的发展历程1.2.2现代插值方法的发展趋势1.2.3插值方法在不同领域的应用案例1.2.4学生对插值方法历史了解的重要性1.3教学方法和组织形式1.3.1采用的教材和参考资料1.3.2教学方法和策略1.3.3教学活动的组织形式1.3.4学生参与和互动的重要性二、知识点讲解2.1插值函数的构造2.1.1拉格朗日插值多项式2.1.2牛顿插值多项式2.1.3埃尔米特插值多项式2.1.4各种插值方法的优缺点比较2.2插值误差分析2.2.1插值多项式的余项2.2.2插值误差的估计2.2.3插值误差与数据点分布的关系2.2.4提高插值精度的方法2.3插值方法的应用2.3.1数据拟合与逼近2.3.2数值微积分2.3.3工程问题中的插值应用2.3.4学生实际操作和案例分析的必要性三、教学内容3.1拉格朗日插值多项式3.1.1拉格朗日插值多项式的定义3.1.2拉格朗日插值多项式的构造方法3.1.3拉格朗日插值多项式的性质3.1.4拉格朗日插值多项式的应用实例3.2牛顿插值多项式3.2.1牛顿插值多项式的定义3.2.2牛顿插值多项式的构造方法3.2.3牛顿插值多项式的性质3.2.4牛顿插值多项式的应用实例3.3埃尔米特插值多项式3.3.1埃尔米特插值多项式的定义3.3.2埃尔米特插值多项式的构造方法3.3.3埃尔米特插值多项式的性质3.3.4埃尔米特插值多项式的应用实例四、教学目标4.1知识与技能目标4.1.1理解插值方法的基本概念和分类4.1.2掌握拉格朗日、牛顿和埃尔米特插值多项式的构造方法4.1.3学会分析插值误差,并了解提高插值精度的方法4.1.4能够运用插值方法解决实际问题4.2过程与方法目标4.2.1培养学生的数学建模能力4.2.2培养学生的数据分析能力4.2.3培养学生的逻辑思维能力和问题解决能力4.2.4培养学生的合作与交流能力4.3情感态度与价值观目标4.3.1培养学生对数学学习的兴趣和热情4.3.2培养学生的科学精神和创新意识4.3.3培养学生的团队协作意识和责任感4.3.4培养学生的国际视野和跨文化交流能力五、教学难点与重点5.1教学难点5.1.1插值多项式的构造方法5.1.2插值误差的分析与估计5.1.3插值方法在实际问题中的应用5.1.4学生对插值方法的理解和应用能力5.2教学重点5.2.1插值方法的基本概念和分类5.2.2拉格朗日、牛顿和埃尔米特插值多项式的性质5.2.3插值方法在数值计算中的应用5.2.4学生对插值方法的应用和实践能力六、教具与学具准备6.1教具准备6.1.1多媒体设备6.1.2白板和笔6.1.3教学软件和应用程序6.1.4教学视频和演示文稿6.2学具准备6.2.1笔记本和文具6.2.2计算器和数学软件6.2.3相关教材和参考资料6.2.4学生自主学习的资源七、教学过程7.1导入新课7.1.1引入数值计算和插值方法的背景7.1.2提出问题,激发学生的兴趣7.1.3引导学生回顾相关知识点7.1.4提出教学目标和要求7.2知识讲解与演示7.2.1讲解插值方法的基本概念和分类7.2.2演示拉格朗日、牛顿和埃尔米特插值多项式的构造方法7.2.3分析插值误差,并介绍提高插值精度的方法7.2.4通过实例讲解插值方法在实际问题中的应用7.3学生练习与讨论7.3.1布置练习题,让学生独立完成7.3.2组织学生进行小组讨论和合作7.3.3引导学生提出问题和解决问题的方法7.3.4检查学生的练习情况,并进行点评和指导7.4.2引导学生思考插值方法在其他领域的应用7.4.3提供相关资料和资源,鼓励学生进行深入学习7.4.4布置作业,巩固学生的学习成果八、板书设计8.1板书设计概述8.1.1板书设计的重要性8.1.2板书设计的原则和策略8.1.3板书设计的内容和方法8.1.4学生对板书的理解和记忆能力8.2板书设计的内容8.2.1插值方法的基本概念和分类8.2.2拉格朗日、牛顿和埃尔米特插值多项式的构造方法8.2.3插值误差的分析与估计8.2.4插值方法在实际问题中的应用8.3板书设计的策略8.3.1采用图表和示意图进行辅助说明8.3.2使用颜色和标记进行突出和区分8.3.3运用逻辑结构和层次进行组织8.3.4结合多媒体和教具进行补充和拓展九、作业设计9.1作业设计概述9.1.1作业设计的重要性9.1.2作业设计的原则和策略9.1.3作业设计的内容和方法9.1.4学生对作业的理解和完成能力9.2作业设计的内容9.2.1基本概念和分类的回顾题9.2.2插值多项式的构造和应用题9.2.3插值误差的分析和计算题9.2.4实际问题的建模和解决题9.3作业设计的策略9.3.1设计不同难度层次的作业题9.3.2提供相关资料和资源进行辅助9.3.3鼓励学生进行合作和讨论9.3.4安排作业的批改和反馈机制十、课后反思及拓展延伸10.1课后反思10.1.1教学目标的达成情况10.1.2教学难点和重点的处理情况10.1.3教学方法和策略的有效性10.1.4学生的学习情况和反馈意见10.2拓展延伸10.2.1插值方法在其他领域的应用10.2.2相关的数学建模和数据分析方法10.2.3国际视野下的数值计算方法10.2.4学生自主学习和研究的机会重点关注环节及其补充说明:1.教学难点与重点:在讲解插值多项式的构造方法和插值误差分析时,应结合实例和图表进行详细解释,并引导学生进行实际操作和练习,以提高他们的理解和应用能力。

插值法实验报告

插值法实验报告

插值法实验报告插值法实验报告一、引言插值法是一种常用的数值分析方法,用于通过已知数据点的函数值来估计在其他位置的函数值。

它在科学计算、图像处理、工程设计等领域有广泛的应用。

本实验旨在通过实际操作,深入理解插值法的原理和应用。

二、实验目的1. 掌握拉格朗日插值法和牛顿插值法的原理和计算方法;2. 通过实验比较不同插值方法的精度和效率;3. 分析插值法在实际问题中的应用。

三、实验步骤1. 收集实验数据:在实验室内设置几个测量点,记录它们的坐标和对应的函数值;2. 使用拉格朗日插值法计算其他位置的函数值:根据已知数据点,利用拉格朗日插值公式计算其他位置的函数值;3. 使用牛顿插值法计算其他位置的函数值:根据已知数据点,利用牛顿插值公式计算其他位置的函数值;4. 比较不同插值方法的精度和效率:通过计算误差和运行时间,比较拉格朗日插值法和牛顿插值法的性能差异;5. 分析插值法在实际问题中的应用:结合实验结果,探讨插值法在实际问题中的优势和局限性。

四、实验结果与分析1. 拉格朗日插值法的计算结果:根据已知数据点,利用拉格朗日插值公式计算其他位置的函数值;2. 牛顿插值法的计算结果:根据已知数据点,利用牛顿插值公式计算其他位置的函数值;3. 误差分析:比较插值结果与真实函数值之间的误差,分析误差的来源和影响因素;4. 运行时间分析:比较不同插值方法的运行时间,分析其效率和适用场景。

五、实验结论1. 拉格朗日插值法和牛顿插值法都是常用的插值方法,它们在不同场景下有各自的优势;2. 插值法在实际问题中的应用需要考虑数据的分布、函数的性质和计算效率等因素;3. 本实验结果表明,拉格朗日插值法和牛顿插值法在精度和效率上存在差异,具体选择哪种方法应根据实际需求进行权衡。

六、实验总结通过本次实验,我们深入了解了插值法的原理和应用。

实验结果表明,插值法在科学计算和工程设计中具有重要的作用。

在实际应用中,我们需要根据具体问题的要求和数据的特点选择合适的插值方法,以达到更好的效果。

newton插值法实验报告

newton插值法实验报告

竭诚为您提供优质文档/双击可除newton插值法实验报告篇一:牛顿插值法matlab程序《计算方法》数值实验报告篇二:数值分析实验报告(插值法)武汉理工大学学生实验报告书实验课程名称数值分析开课学院计算机科学与技术学院指导老师姓名学生姓名学生专业班级20XX—20XX学年第一学期实验课程名称:数值分析篇三:c++实现牛顿插值法实验报告数值实验用newton商差公式进行插值姓名:陈辉学号:13349006院系:数据科学与计算机学院专业:计算机科学与技术班级:计科一班日期:20XX-10-11指导老师:纪庆革目录一、二、三、四、五、六、七、八、实验目的................................................. .........................................3实验题目................................................. .........................................3实验原理与基础理论................................................. .......................3实验内容................................................. .........................................6实验结果................................................. .......................................10心得体会................................................. .......................................14参考资料................................................. .......................................14附录(源代码)............................................... (14)一、实验目的编写一个程序,用牛顿差商公式进行插值。

数值分析实验报告--实验2--插值法

数值分析实验报告--实验2--插值法

1 / 21数值分析实验二:插值法1 多项式插值的震荡现象1.1 问题描述考虑一个固定的区间上用插值逼近一个函数。

显然拉格朗日插值中使用的节点越多,插值多项式的次数就越高。

我们自然关心插值多项式的次数增加时, 是否也更加靠近被逼近的函数。

龙格(Runge )给出一个例子是极著名并富有启发性的。

设区间[-1,1]上函数21()125f x x=+ (1)考虑区间[-1,1]的一个等距划分,分点为n i nix i ,,2,1,0,21 =+-= 则拉格朗日插值多项式为201()()125nn ii iL x l x x ==+∑(2)其中的(),0,1,2,,i l x i n =是n 次拉格朗日插值基函数。

实验要求:(1) 选择不断增大的分点数目n=2, 3 …. ,画出原函数f(x)及插值多项式函数()n L x 在[-1,1]上的图像,比较并分析实验结果。

(2) 选择其他的函数,例如定义在区间[-5,5]上的函数x x g xxx h arctan )(,1)(4=+=重复上述的实验看其结果如何。

(3) 区间[a,b]上切比雪夫点的定义为 (21)cos ,1,2,,1222(1)k b a b ak x k n n π⎛⎫+--=+=+ ⎪+⎝⎭(3)以121,,n x x x +为插值节点构造上述各函数的拉格朗日插值多项式,比较其结果,试分析2 / 21原因。

1.2 算法设计使用Matlab 函数进行实验, 在理解了插值法的基础上,根据拉格朗日插值多项式编写Matlab 脚本,其中把拉格朗日插值部分单独编写为f_lagrange.m 函数,方便调用。

1.3 实验结果1.3.1 f(x)在[-1,1]上的拉格朗日插值函数依次取n=2、3、4、5、6、7、10、15、20,画出原函数和拉格朗日插值函数的图像,如图1所示。

Matlab 脚本文件为Experiment2_1_1fx.m 。

可以看出,当n 较小时,拉格朗日多项式插值的函数图像随着次数n 的增加而更加接近于f(x),即插值效果越来越好。

插值运算实验报告

插值运算实验报告

#### 一、实验目的1. 理解插值运算的基本概念和原理。

2. 掌握几种常见的插值方法,如拉格朗日插值、牛顿插值等。

3. 通过实验,验证插值方法在数值计算中的应用效果。

4. 培养动手能力和分析问题的能力。

#### 二、实验原理插值运算是指根据已知数据点,构造一个近似函数来描述这些数据点之间的变化规律。

常见的插值方法有拉格朗日插值、牛顿插值、分段线性插值等。

#### 三、实验内容1. 数据准备准备一组数据点,例如:```x: [1, 2, 3, 4, 5]y: [2, 4, 6, 8, 10]```2. 拉格朗日插值根据给定的数据点,构造拉格朗日插值多项式。

以三次拉格朗日插值为例,其公式如下:```L(x) = y0 ((x - x1) (x - x2) (x - x3)) / ((x0 - x1) (x0 - x2) (x0 - x3))+ y1 ((x - x0) (x - x2) (x - x3)) / ((x1 - x0) (x1 - x2) (x1 - x3))+ y2 ((x - x0) (x - x1) (x - x3)) / ((x2 - x0) (x2 - x1) (x2 - x3))+ y3 ((x - x0) (x - x1) (x - x2)) / ((x3 - x0) (x3 - x1)(x3 - x2))```将数据点代入上述公式,得到拉格朗日插值多项式。

3. 牛顿插值根据给定的数据点,构造牛顿插值多项式。

以三次牛顿插值为例,其公式如下:```N(x) = y0 + (x - x0) (y1 - y0) / (x1 - x0) + (x - x0) (x - x1) (y2 - y1) / ((x1 - x0) (x2 - x1)) + (x - x0) (x - x1) (x - x2) (y3 - y2) / ((x1 - x0) (x2 - x1) (x3 - x2))```将数据点代入上述公式,得到牛顿插值多项式。

数值计算课程设计报告(插值法)

数值计算课程设计报告(插值法)

数值计算方法课程设计报告课程设计名称:数值计算方法课程设计题目:插值算法年级专业:信计1302班组员姓名学号:高育坤**********王冬妮1309064044韩建1309064046李婧1309064047 ***师:***完成时间:2015年6月17日插值算法一、问题提出插值法是实用的数值方法,是函数逼近的重要方法。

在生产和科学实验中,自变量x与因变量y的函数y = f(x)的关系式有时不能直接写出表达式,而只能得到函数在若干个点的函数值或导数值。

当要求知道观测点之外的函数值时,需要估计函数值在该点的值。

如何根据观测点的值,构造一个比较简单的函数y=φ(x),使函数在观测点的值等于已知的数值或导数值,进而用简单函数y=φ(x)在点x处的值来估计未知函数y=f(x)在x点的值。

寻找这样的函数φ(x),办法是很多的。

φ(x)可以是一个代数多项式,或是三角多项式,也可以是有理分式;φ(x)可以是任意光滑(任意阶导数连续)的函数或是分段函数;函数类的不同,自然地有不同的逼近效果。

二、背景分析在许多实际问题及科学研究中,因素之间往往存在着函数关系,然而,这种关系经常很难有明显的解析表达,通常只是由观察与测试得到一些离散数值。

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

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

插值法是一种古老的数学方法,它来自生产实践,早在一千多年前,我国科学家在研究历法上就应用了线性插值与二次插值,但它的基本理论却是在微积分产生之后才逐渐完善的,其应用也日益增多,特别是在计算机软件中,许多库函数,如 ,cos,sin ex 等的计算实际上归结于它的逼近函数的计算。

逼近函数一般为只含有算术运算的简单函数,如多项式、有理分式(即多项式的商)。

在工程实际问题当中,我们也经常会碰到诸如此类的函数值计算问题。

被计算的函数有时不容易直接计算,如表达式过于复杂或者只能通过某种手段获取该函数在某些点处的函数值信息或者导数值信息等。

插值数值实验报告(3篇)

插值数值实验报告(3篇)

第1篇一、实验目的1. 理解并掌握插值法的基本原理和常用方法。

2. 学习使用拉格朗日插值法、牛顿插值法等数值插值方法进行函数逼近。

3. 分析不同插值方法的优缺点,并比较其精度和效率。

4. 通过实验加深对数值分析理论的理解和应用。

二、实验原理插值法是一种通过已知数据点来构造近似函数的方法。

它广泛应用于科学计算、工程设计和数据分析等领域。

常用的插值方法包括拉格朗日插值法、牛顿插值法、样条插值法等。

1. 拉格朗日插值法拉格朗日插值法是一种基于多项式的插值方法。

其基本思想是:给定一组数据点,构造一个次数不超过n的多项式,使得该多项式在这些数据点上的函数值与已知数据点的函数值相等。

2. 牛顿插值法牛顿插值法是一种基于插值多项式的差商的插值方法。

其基本思想是:给定一组数据点,构造一个次数不超过n的多项式,使得该多项式在这些数据点上的函数值与已知数据点的函数值相等,并且满足一定的差商条件。

三、实验内容1. 拉格朗日插值法(1)给定一组数据点,如:$$\begin{align}x_0 &= 0, & y_0 &= 1, \\x_1 &= 1, & y_1 &= 4, \\x_2 &= 2, & y_2 &= 9, \\x_3 &= 3, & y_3 &= 16.\end{align}$$(2)根据拉格朗日插值公式,构造插值多项式:$$P(x) = \frac{(x-x_1)(x-x_2)(x-x_3)}{(x_0-x_1)(x_0-x_2)(x_0-x_3)}y_0 + \frac{(x-x_0)(x-x_2)(x-x_3)}{(x_1-x_0)(x_1-x_2)(x_1-x_3)}y_1 + \frac{(x-x_0)(x-x_1)(x-x_3)}{(x_2-x_0)(x_2-x_1)(x_2-x_3)}y_2 + \frac{(x-x_0)(x-x_1)(x-x_2)}{(x_3-x_0)(x_3-x_1)(x_3-x_2)}y_3.$$(3)计算插值多项式在不同点的函数值,并与实际值进行比较。

数值分析实验报告(插值法)

数值分析实验报告(插值法)

武汉理工大学学生实验报告书实验课程名称数值分析开课学院计算机科学与技术学院指导老师姓名学生姓名学生专业班级2010—2010学年第一学期实验课程名称:数值分析第二部分:实验调试与结果分析(可加页)一、调试过程(包括调试方法描述、实验数据记录,实验现象记录,实验过程发现的问题等)(1)用拉格朗日插值法计算时,输入及运行结果如下:拉格朗日插值法牛顿插值法(2)利用二次插值计算时,输入及运行结果如下:拉格朗日插值法牛顿插值法(3)用艾尔米特插值法计算时,f(x)的插值多项式H5(x)=(1+4*x)*(x-0.5)*(x-0.5)*(x-2)*(x-2)+(3.90807-6.03838*x)*(x-2)*(x-2)*x*x+(2.34573-4.16674*x)*x*x*(x-0.5)*(x-0.5)(4)各插值算法的精度差异比较经过比较,拉格朗日插值法要比牛顿插值法算法的计算量多一些,拉格朗日插值法后一次计算时用到了前一次计算的结果,提高了运算的效率,但拉格朗日插值法在构造艾尔米特插值法时很方便,将坐标点和对应的导数结合起来的精度比线性插值的精度又要高一些。

但从实验数据来看,在坐标不是很多的情况下,已知的点越多精度也就相对较高。

对于实验要求的第二组数据用拉格朗日插值法(或者牛顿插值法)实验结果如下:一下分别是二阶、三阶、四阶、五阶插值得到的结果以上只是实验结果的一部分,改变插值的位置时,得到的实验结果精度也是有所不同的。

由以上结果分析可知,插值次数并不是越多越好,多了反而会让结果更加偏离真实结果,这充分说明了高次插值存在“病态性质”,在已知点很多的情况下应该采用分段低次插值,将拉格朗日插值法和牛顿插值法运用到分段低次插值法当中,这样得到的结果可能胡更加精确。

数值分析插值实验报告

数值分析插值实验报告

数值分析插值实验报告引言插值是数值分析中常用的一种技术,通过已知点的函数值来推测未知点的函数值。

在实际应用中,我们经常需要根据有限的数据点来估计连续函数的值,这时插值就起到了关键作用。

本实验旨在通过插值方法来推测未知数据点的函数值,并对比不同插值方法的精度和效果。

实验目的1.了解插值的基本概念和方法;2.掌握常见的插值方法,如拉格朗日插值、牛顿插值等;3.对比不同插值方法的精度和效果,分析其优缺点。

实验步骤1.数据采集:选取一组已知数据点,作为插值的基础。

这些数据点可以是从实际场景中测量得到的,也可以是人为设定的。

2.插值方法选择:根据实验要求和数据特点,选择适合的插值方法。

常见的插值方法包括拉格朗日插值、牛顿插值、分段线性插值等。

3.插值计算:根据选定的插值方法,利用已知数据点进行计算,并得到插值结果。

4.结果分析:比较插值结果与实际数据的差异,并评估插值方法的精度和效果。

可以使用误差分析等方法进行评估。

5.优化调整:根据实验结果和需求,对插值方法进行优化调整,以提高插值的准确性和可靠性。

实验结果与讨论通过实验,我们得到了不同插值方法的结果,并进行了对比和分析。

根据实验数据和误差分析,我们可以得出以下结论:1.拉格朗日插值方法具有较高的插值精度,在一定程度上能够准确地模拟实际数据。

2.牛顿插值方法相对于拉格朗日插值方法而言,对于大量数据点的计算速度更快,但在少量数据点的情况下,两者的精度差异较小。

3.分段线性插值方法适用于数据点较为离散的情况,能够提供较为平滑的插值结果。

4.插值方法的选择应根据具体需求和数据特点进行,没有一种插值方法适用于所有情况。

实验总结通过本次实验,我们对插值方法有了更深入的了解,并掌握了常见的插值方法的原理和应用。

实验结果表明,插值方法在数值分析中起到了重要的作用,能够准确地推测未知点的函数值。

然而,在实际应用中,我们还需要考虑数据的特点、插值方法的适用性以及计算效率等因素。

数值分析实验报告(插值法)

数值分析实验报告(插值法)

数值分析实验报告(插值法)武汉理⼯⼤学学⽣实验报告书实验课程名称数值分析开课学院计算机科学与技术学院指导⽼师姓名学⽣姓名学⽣专业班级2010—2010学年第⼀学期实验课程名称:数值分析第⼆部分:实验调试与结果分析(可加页)⼀、调试过程(包括调试⽅法描述、实验数据记录,实验现象记录,实验过程发现的问题等)(1)⽤拉格朗⽇插值法计算时,输⼊及运⾏结果如下:拉格朗⽇插值法⽜顿插值法(2)利⽤⼆次插值计算时,输⼊及运⾏结果如下:拉格朗⽇插值法⽜顿插值法(3)⽤艾尔⽶特插值法计算时,f(x)的插值多项式(x)=(1+4*x)***(x-2)*(x-2)+(4)各插值算法的精度差异⽐较H5经过⽐较,拉格朗⽇插值法要⽐⽜顿插值法算法的计算量多⼀些,拉格朗⽇插值法后⼀次计算时⽤到了前⼀次计算的结果,提⾼了运算的效率,但拉格朗⽇插值法在构造艾尔⽶特插值法时很⽅便,将坐标点和对应的导数结合起来的精度⽐线性插值的精度⼜要⾼⼀些。

但从实验数据来看,在坐标不是很多的情况下,已知的点越多精度也就相对较⾼。

对于实验要求的第⼆组数据⽤拉格朗⽇插值法(或者⽜顿插值法)实验结果如下:⼀下分别是⼆阶、三阶、四阶、五阶插值得到的结果以上只是实验结果的⼀部分,改变插值的位置时,得到的实验结果精度也是有所不同的。

由以上结果分析可知,插值次数并不是越多越好,多了反⽽会让结果更加偏离真实结果,这充分说明了⾼次插值存在“病态性质”,在已知点很多的情况下应该采⽤分段低次插值,将拉格朗⽇插值法和⽜顿插值法运⽤到分段低次插值法当中,这样得到的结果可能胡更加精确。

对于分段低次插值本实验没有给出实验结果,但从实践上来看,分段低次插值的精度要⽐线性插值精度⾼,但当插值阶数⽐较少的时候没有必要采⽤分段低次插值。

⼆、实验⼩结、建议及体会各种插值法都有⾃⼰的利与弊,拉格朗⽇插值法运算过程相对复杂,但当和导数结合起来,组成抛物插值的时候,精度就可以提⾼很多。

⽜顿插值法、拉格朗⽇插值法等线性插值法只能适合在已知点不多的情况下使⽤,当已知的坐标点很多时候应该将区间分成⼩段进⾏分段线性插值或者分段抛物插值。

插值法和拟合实验报告(数值计算)

插值法和拟合实验报告(数值计算)

插值法和拟合实验报告一、实验目的1.通过进行不同类型的插值,比较各种插值的效果,明确各种插值的优越性;2.通过比较不同次数的多项式拟合效果,了解多项式拟合的原理;3.利用matlab 编程,学会matlab 命令;4.掌握拉格朗日插值法;5.掌握多项式拟合的特点和方法。

二、实验题目1.、插值法实验将区间[-5,5]10等分,对下列函数分别计算插值节点kx 的值,进行不同类型的插值,作出插值函数的图形并与)(x f y =的图形进行比较:;11)(2x x f += ;arctan )(x x f = .1)(42x x x f +=(1) 做拉格朗日插值; (2) 做分段线性插值; (3) 做三次样条插值.2、拟合实验给定数据点如下表所示:分别对上述数据作三次多项式和五次多项式拟合,并求平方误差,作出离散函数),(i i y x 和拟合函数的图形。

三、实验原理1.、插值法实验∏∑∏∏∏∑∑≠==≠=≠=≠=+-==--==-===-=-=----==++==ji j ji i i i i ni i n nji j jnji j ji i nji j jn i i i ni i n nn o i ni i n x x x x x y x l x L x x c ni x x c x x x cx x x x x x x x c y x l x L y x l y x l y x l x L ,00,0,0,0110000)(l )()()(1,1,0,1)()(l )()())(()()()()()()()(,故,得再由,设2、拟合实验四、实验内容1.、插值法实验1.1实验步骤:打开matlab软件,新建一个名为chazhi.m的M文件,编写程序(见1.2实验程序),运行程序,记录结果。

1.2实验程序:x=-5:1:5;xx=-5:0.05:5;y1=1./(1+x.^2);L=malagr(x,y1,xx);L1=interp1(x,y1,x,'linear');S=maspline(x,y1,0.0148,-0.0148,xx);hold on;plot(x,y1,'b*');plot(xx,L,'r');plot(x,L1,'g');plot(xx,S,'k');figurex=-5:1:5;xx=-5:0.05:5;y2=atan(x);L=malagr(x,y2,xx);L1=interp1(x,y2,x,'linear');S=maspline(x,y2,0.0385,0.0385,xx);hold on;plot(x,y2,'b*');plot(xx,L,'r');plot(x,L1,'g');plot(xx,S,'k');figurex=-5:1:5;xx=-5:0.05:5;y3=x.^2./(1+x.^4);L=malagr(x,y3,xx);L1=interp1(x,y3,x,'linear');S=maspline(x,y3,0.0159,-0.0159,xx);hold on;plot(x,y3,'b*');plot(xx,L,'r');plot(x,L1,'g');plot(xx,S,'k');1.3实验设备:matlab软件。

插值方法数值分析课程设计论文

插值方法数值分析课程设计论文

插值方法--数值分析课程设计论文数值分析课程设计报告学号1309101104 姓名黄圳娟学号1309101107 姓名郑美美学号1309101125 姓名黄福川学号1309101220 姓名黄昌贵学号1309101221 姓名庄慧斌2011年12月23日福建工程学院数理系专业课程设计成绩评定书设计题目:插值方法信息与计算科学专业指导教师龙建辉指导教师评语成绩:指导教师时间:答辩小组意见设计成绩:答辩组长:黄福川审定系主任:插值方法1、摘要:插值多项式的唯一性表明,对同一组节点,它们的插值多项式是唯一的,可能由不同的方法,会得到不同形式的插值多项式,但它们之间可以相互转化,本质相同,当然误差也一样。

插值方法能够有效解决线性方程组来确定插值多项式的计算量偏大,计算步骤较多,容易使舍入误差增大的严重病态。

1、牛顿插值将待求的n 次插值多项式()n P x 改写为具有承袭性的形式,然后利用插值条件设01()[,],n f x C a b a x x x b ∈≤<<⋅⋅⋅<≤取点,若存在一简单函数()P x ,使得(),0,1,i i p x y i n ==⋅⋅⋅。

确定()n P x 的待定系数,以求出所要的插值函数。

2、哈密尔特插值是利用Lagrange 插值函数将待求的n次多项式插值函数pn(x)改写成另一种表示方式,再利用插值条件确定其中的待定函数,从而求出插值多项式。

在利用插值的另一条件①21()n H xk yk += ②21()n Hxk yk+=0,1,2,......,k n=求出插值函数。

3、分段插值被插值函数()f x 的插值节点 由小到大 排序,然后每对相邻的两个节点为端点的区间上用m次多项式去近似()f x 。

4、样条插值函数在区间[,]a b 上给定节点01n a xx x b≤<<⋅⋅⋅<≤及其函数值yj ,函数()S x 满足(),0,1,2,...,;S xj yj j n ==关键字:牛顿插值哈密尔特插值分段插值样条插值2、实验设计目的2.1、插值多项式的唯一性表明,对同一组节点,它们的插值多项式是唯一的,可能由不同的方法,会得到不同形式的插值多项式,但它们之间可以相互转化,本质相同,当然误差也一样。

实验一函数插值方法

实验一函数插值方法

实验⼀函数插值⽅法《数值分析》课程设计实验报告实验⼀函数插值⽅法⼀、问题提出对于给定的⼀元函数()y f x =的n+1个节点值(),0,1,,j j y f x j n == 。

试⽤Lagrange 公式求其插值多项式或分段⼆次Lagrange 插值多项式。

数据如下:(1)求五次Lagrange 多项式5L ()x ,和分段三次插值多项式,计算(0.596)f ,(0.99)f 的值。

(提⽰:结果为(0.596)0.625732f ≈, (0.99) 1.05423f ≈)(2)试构造Lagrange 多项式6L ()x ,计算的(1.8)f ,(6.15)f 值。

(提⽰:结果为(1.8)0.164762f ≈,(6.15)0.001266f ≈)⼆、实验步骤1、利⽤Lagrange 插值公式00,()n nin k k i i k k ix x L x y x x ==≠??-= ?-??∑∏编写出插值多项式程序; function [A1,LN,L1,B1]=lagrange(X,Y) m=length(X); LN=ones(m,m); for k=1: m x1=1; for i=1:m ifk~=ix1=conv(x1,poly(X(i)))/(X(k)-X(i));endL1(k,:)=x1; B1(k,:)=poly2sym (x1)endA1=Y*L1;LN=Y*B1在主显⽰区,输⼊五次Lagrange多项式L()5x程序:>> X=[0.4 0.55 0.65 0.80 0.95 1.05];>> Y=[0.41075 0.57815 0.69675 0.90 1.00 1.25382];>> [A1,LN,L1,B1]=lagrange(X,Y)>> plot(X,A1);>> F=poly2sym(A1)运⾏后,输出五次Lagrange多项式L()5x的结果:A1 =121.6264 -422.7503 572.5667 -377.2549 121.9718 -15.0845F =(2139673480305281*x^5)/17592186044416 - (1859275536318005*x^4)/4398046511104 + (9836621836743*x^3)/17179869184 - (414796119737013*x^2)/1099511627776 + (2145751274873259*x)/17592186044416 - 1061478972867847/70368744177664拉格朗⽇插值多项式5()L x的图如下:2、给出插值多项式或分段三次插值多项式的表达式;function [f,ff] = Hermite3(x,y,y1)f = 0.0;if(length(x) == length(y))if(length(y) == length(y1))n = length(x);elsedisp('y和y的导数的维数不相等');return;endelsedisp('x和y的维数不相等! ');return;endfor i=1:nh = 1.0;a = 0.0;for j=1:nif( j ~= i)h = h*(t-x(j))^2/((x(i)-x(j))^2);a = a + 1/(x(i)-x(j));endendf = f + h*((x(i)-t)*(2*a*y(i)-y1(i))+y(i));endff = subs(f,'t');x的程序:在主显⽰区,输⼊分段三次艾尔⽶特插值多项式L()5>> x=[0.4 0.55 0.65 0.80 0.95 1.05];>> y=[0.41075 0.57815 0.69675 0.90 1.00 1.25382];>> y1=[2.3440 0.9032 1.4329 0.9903 0.9170 5.1439];>> [f,ff] = Hermite3(x,y,y1);>> ffx的输出结果:运⾏后,分段三次艾尔⽶特插值多项式L()5ff =(6400000000*(t - 4/5)^2*(t - 11/20)^2*(t - 13/20)^2*(t -19/20)^2*(t - 21/20)^2*((2240245151070481*t)/140737488355328 - 52393133567890089/8796093022208000))/184041 -(16000000*((6348013345609171*t)/140737488355328 - 85523418631741336287/1759218604441600000)*(t - 2/5)^2*(t -4/5)^2*(t - 11/20)^2*(t - 13/20)^2*(t - 19/20)^2)/169 + (16000000*((4105617466549689*t)/281474976710656 -5238387122042657959/703687441776640000)*(t - 2/5)^2*(t - 4/5)^2*(t - 13/20)^2*(t - 19/20)^2*(t - 21/20)^2)/9 - (256000000* ((35097*t)/10000 - 46347/12500)*(t - 2/5)^2*(t - 11/20)^2*(t - 13/20)^2*(t - 19/20)^2*(t - 21/20)^2)/81 - (400000000* ((13147*t)/20000 - 449611/400000)*(t - 2/5)^2*(t - 4/5)^2*(t - 11/20)^2*(t - 19/20)^2*(t - 21/20)^2)/81 - (10000000000* ((84913*t)/11000 - 1833347/220000)*(t - 2/5)^2*(t - 4/5)^2*(t - 11/20)^2*(t - 13/20)^2*(t - 21/20)^2)/9801x的图如下:分段三次艾尔⽶特插值多项式L()53、根据节点选取原则,对问题(2)⽤三点插值或⼆点插值,其结果如何;>> X=[1 2 3 4 5 6 7];>> Y=[0.368 0.135 0.050 0.018 0.007 0.002 0.001];>> [A1,LN,L1,B1]=lagrange(X,Y)>> plot(X,A1);>> F=poly2sym(A1)运⾏后,输出结果的Lagrange 多项式L ()6x 的结果:A1 =0.0001 -0.0016 0.0186 -0.1175 0.4419 -0.9683 0.9950F=(4304240283865561*x^6)/73786976294838206464- (7417128346304051*x^5)/4611686018427387904 +(223*x^4)/12000- (2821*x^3)/24000+(994976512675275*x^2)/2251799813685248-(19367*x)/20000 + 199/200Lagrange 多项式L ()6x 的图如下:4、对此插值问题⽤Newton 插值多项式其结果如何。

实验报告-插值法

实验报告-插值法

实验报告-插值法计算机上机实验报告专业和班级姓名成绩学号课程名称数值计算⽅法实验名称插值法实验⽬的和要求实验⽬的1、掌握⽤MATLAB计算拉格朗⽇、分段线性、三次样条三种插值的⽅法,改变节点的数⽬,对三种插值结果进⾏初步分析。

2、掌握⽤MAT L AB作线性最⼩⼆乘的⽅法。

3、通过实例学习如何⽤插值⽅法与拟合⽅法解决实际问题,注意⼆者的联系和区别。

实验内容和步骤实验的主要内容1、编制拉格朗⽇、⽜顿插值程序,并运⾏⼀个简单的实例。

(1)拉格朗⽇插值程序:function v=polyinterp(x,y,u)n=length(x);v=zeros(size(u));for k=1:nw=ones(size(u));for j=[1:k-1 k+1:n]w=(u-x(j))./(x(k)-x(j)).*w;endv=v+w*y(k);end实例:当x=144,169,225时,y=12,13,15,⽤拉格朗⽇差值法求根号175。

如下:(2)⽜顿插值程序:function y=newinterp(X,Y,x)% ⽜顿插值函数m=length(X);for k=2:mfor j=1:k-1Y(k)= (Y(k)- Y(j))/(X(k)-X(j));endendy=Y(m);for j=m-1:-1:1y=y.*(x-X(j))+Y(j);end实例:当x=144,169,225时,y=12,13,15,⽤⽜顿差值法求根号175。

如下:2、给定函数xxf=)(,已知:414214.1.)0.2(=f449138.1.)1.2(=f483240.1.)2.2(=f516575.1.)3.2(=f549193.1.)4.2(=f⽤⽜顿插值法求4次Newton插值多项式在2.15处的值,以此作为函3.选择函数y=exp(-x2) (-2≤x≤2),在n个节点上(n不要太⼤,如5~11)⽤拉格朗⽇、分段线性、三次样条三种插值⽅法,计算m 个插值点的函数值(m要适中,如50~100)。

《数值计算方法》---多项式插值实验报告

《数值计算方法》---多项式插值实验报告
x
1
2
3
4
5
6
y
0
0.6931
1.0986
1.3863
1.6094
1.7918
2根据下面的数据点,分别求牛顿前插多项式和牛顿后插多项式,并计算x=1.55时y的值。
x
1
2
3
4
5
6
y
0
0.6931
1.0986
1.3863
1.6094
1.79ቤተ መጻሕፍቲ ባይዱ8
3根据下面的数据点,求埃尔米特插值多项式,并计算x=1.44时y的值。
《数值计算方法》---多项式插值实验报告
实验名称:多项式插值
实验目的:
1、熟悉Matlab的编程。
2、学会求解拉格朗日插值、牛顿插值及埃尔米特插值多项式并估计函数在某点处的值。
实验设备与环境:计算机,Windows系统,Matlab等。
实验内容:
1.根据下面的数据点,分别求拉格朗日插值多项式和牛顿插值多项式,并计算x=1.5时y的值。
x
1
1.2
1.4
1.6
1.8
y
1
1.0954
1.1832
1.2649
1.3416
y’
0.5000
0.4564
0.4226
0.3953
0.3727
f =
10850.7*(t - 1.0)^2*(t - 1.4)^2*(t - 1.6)^2*(t - 1.8)^2*(9.58473*t - 10.4063) - 10850.7*(t - 1.0)^2*(t - 1.2)^2*(t - 1.4)^2*(t - 1.8)^2*(10.1455*t - 17.4978) + 24414.1*(t - 1.0)^2*(t - 1.2)^2*(t - 1.6)^2*(t - 1.8)^2*(0.4226*t + 0.59156) - 678.168*(27.5773*t - 50.9807)*(t - 1.0)^2*(t - 1.2)^2*(t - 1.4)^2*(t - 1.6)^2 + 678.168*(t - 1.2)^2*(t - 1.4)^2*(t - 1.6)^2*(t - 1.8)^2*(21.3333*t - 20.3333)

数值计算插值法实验报告

数值计算插值法实验报告

数值计算插值法实验报告
一、实验目标
本实验的目标是学习和掌握插值法的基本原理,通过实际操作,验证插值法的有效性,并利用插值法解决实际问题。

二、实验原理
插值法是一种数学方法,用于通过已知的离散数据点,构造一个连续的函数来近似地表示未知的函数值。

常用的插值法包括线性插值、多项式插值、样条插值等。

其中,多项式插值是一种常用的方法,其基本思想是选择一个多项式来逼近已知的数据点,从而得到未知点的近似值。

三、实验步骤
1.准备数据:收集一组已知的数据点,并将其整理成表格形式。

2.选择插值方法:根据实际情况选择适当的插值方法,如线性插值、多项式插值或样条插值等。

3.计算插值函数:根据选择的插值方法,利用已知的数据点计算插值函数的系数。

4.验证插值函数:利用已知的数据点对插值函数进行验证,检查其精度和误差。

5.应用插值函数:利用插值函数计算未知点的近似值,并将结果与实际值进行比较。

四、实验结果及分析
下面是本次实验的结果及分析:
1.已知数据点:。

数值计算方法实验报告

数值计算方法实验报告

数值计算方法实验报告一、实验目的本实验旨在通过Python语言编写数值计算方法程序,掌握常见数值计算方法的实现原理及应用。

具体包括:插值法、最小二乘法、数值微积分、数值解方程、数值解微分方程等。

二、实验环境Python编程语言、Jupyter Notebook环境三、实验内容1.插值法(1)代码实现:在Python中使用Scipy库中的Interpolate模块实现拉格朗日插值法和牛顿插值法,并通过数据可视化展示其效果。

(2)实验步骤:- 导入所需库,准备所需数据;- 定义拉格朗日插值法函数;- 定义牛顿插值法函数;- 测试函数并可视化结果。

(3)实验结果:2.最小二乘法(1)代码实现:在Python中使用Numpy库实现最小二乘法,并通过数据可视化展示其效果。

(2)实验步骤:- 导入所需库,准备所需数据;- 定义最小二乘法函数;- 测试函数并可视化结果。

(3)实验结果:3.数值微积分(1)代码实现:在Python中实现梯形法和辛普森法,并通过数据可视化展示其效果。

(2)实验步骤:- 导入所需库,准备所需数据;- 定义梯形法函数和辛普森法函数;- 测试函数并可视化结果。

(3)实验结果:4.数值解方程(1)代码实现:在Python中实现二分法、牛顿法和割线法,并通过数据可视化展示其效果。

(2)实验步骤:- 导入所需库,准备所需数据;- 定义二分法函数、牛顿法函数和割线法函数;- 测试函数并可视化结果。

(3)实验结果:5.数值解微分方程(1)代码实现:在Python中实现欧拉法和龙格-库塔法,并通过数据可视化展示其效果。

(2)实验步骤:- 导入所需库,准备所需数据;- 定义欧拉法函数和龙格-库塔法函数;- 测试函数并可视化结果。

(3)实验结果:四、实验总结通过本次实验,我学习了数值计算方法的常用算法和实现原理,掌握了Python 语言实现数值计算方法的方法,加深了对数值计算方法的理解和应用。

实验中遇到的问题,我通过查找资料和与同学的讨论得到了解决,也更加熟练地掌握了Python语言的使用。

数值分析实验报告-插值、三次样条

数值分析实验报告-插值、三次样条

实验报告:牛顿差值多项式&三次样条... . (1)问题:在区间[-1,1]上分别取n=10、20用两组等距节点对龙格函数f (x)---作多项式插25 x 2值及三次样条插值对每个n值,分别画出插值函数矽(x)的图形。

实验目的:通过编程实现牛顿插值方法和三次样条方法,加深对多项式插值的理解。

应用所编程序解决实际算例。

实验要求:1.认真分析问题,深刻理解相关理论知识并能熟练应用;2.编写相关程序并进行实验;3.调试程序,得到最终结果;4.分析解释实验结果;5.按照要求完成实验报告。

实验原理:详见《数值分析第5版》第二章相关容。

实验容:(1)牛顿插值多项式1.1 当 n=10 时:在Matlab下编写代码完成计算和画图。

结果如下:代码:clear allclcx1=-1:0.2:1;y1=1./(1+25.*x1.八2);n=length(x1);f=y1(:);for j=2:nfor i=n:-1:jf(i) = (f(i)-f(i-1))/(x1(i)-x1(i-j+1));endendsyms F x p;F(1)=1;p(1)=y1(1);for i=2:nF(i)=F(i-1)*(x-x1(i-1));p(i)=f(i)*F(i);endsyms PP=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 onxlabel('x')ylabel('y')P10即我们所求的牛顿插值多项式,其结果为:P10(x )=-220.94*x A10+494.91*x A8-9.5065e-14*x A7-381.43*x A6-8.504e-14*x A5+123.36*x A4+2.0202e-14*x A3-16.855*x A2-6.6594e-16*x+1.0并且这里也能得到该牛顿插值多项式的在[-1,1]上的图形,并和原函数进行对比(见Fig.1)。

数值计算实习报告-牛顿插值法

数值计算实习报告-牛顿插值法

数值计算实习课程设计姓名:张光宇指导教师;谭高山学号:119084169目录1、实验目的2、问题的提出3、牛顿插值法的原理4、差商概念的引出5、牛顿插值公式及其余项的公式6、牛顿插值法计算步骤7、牛顿插值多项式的程序实现8、图像对照牛顿插值多项式9、牛顿插值多项式总结10、附111、附21、实验目的:通过对牛顿插值多项式的Matlab 程序实现,深入了解牛顿插值多项式的原理及编程解决实际问题的能力.2、问题的提出我们知道Lagrange 插值多项式的插值基函数为理论分析中很方便,但是当插值节点增减时全部插值基函数就要随之变化,整个公式也将发生变化,这在实际计算中是很不方便的;Lagrange 插值虽然易算,但若要增加一个节点时,全部基函数 )(x l i 都需重新算过。

3、牛顿插值多项式的原理我们知道两点直线公式)),(),,((11++k k k k y x y x 有:我们考虑点斜式,两点为((x0,y0)(x1,y1)),则直线方程为:那么,在此基础上增加一个节点(x2,y2),则过这三个点的插值多项式就是:c(x)应该是一个二次多项式。

根据插值条件)(x l j ∏≠=--=nji i i j i x x x x 0)()(11111111()()(()(k kk k k kk kk k k k k ky y L x y x x x x x x x x L x y y x x x x ++++++-=+----=+--点斜式)两点式)1010010()()y y P x y x x x x -=+--21()()()P x P x c x =+2121111()()()()P x P x y P x P x y ====有根据插值条件:可以求出:重新写p2(x):0101()()0,()()()c x c x c x a x x x x ===--所以221221*********()()()()()()()p x p x y p x a x x x x x x x x --==----21102120001102021010201001011021222021()()()()()()()()()()()()()()()P x P x c x y y y P x y x x x x x x x x x x x x a a x x a x x x x a y y y a x x y P x a x x x x =+--=+-+-----+-+--=-=--=--其中,i x 设插值节点为n i f i ,,1,0, =函数值为222()P x y =有...4、下面引入差商和差分的概念定义:1,,2,1,0,1-=-=+n i x x h i i i iih h max =ni f x P i i ,,1,0,)( ==插值条件为具有如下形式设插值多项式)(x P )())(())(()()(110102010----++--+-+=n n x x x x x x a x x x x a x x a a x P01,,n a a a 其中……为待定系数ni f x P x P i i ,,1,0,)()( ==应满足插值条件000)(a f x P ==00f a =)()(011011x x a a f x P -+==01011x x f f a --=))(()()(12022021022x x x x a x x a a f x P --+-+==12010102022x x x x f f x x f f a ------=ni f x x f i i ,,1,0,)( =处的函数值为在互异的节点设1阶差商2阶差商n+1阶差商可以证明差商具有如下性质:(2) k 阶差商],...,,[21k x x x f 关于节点],...[1,0k x x x 是对称的,或者说均差与节点顺序无关,即均差表零阶均差 一阶均差 二阶均差 三阶均差X 0 f(X 0) X 1 f(X 1) f[X 0, X 1] X 2 f(X 2) f[X 1, X 2] f[X 0,X 1, X 2]X 3 f(X 3) f[X 2, X 3] f[X 1, X 2,X 3]f[X 0,X 1, X 2 X 3]...............),()()(],[j i ji j i j i x x j i x x x f x f x x f ≠≠--=)(],[],[],,[k i x x x x f x x f x x x f ki k j j i k j i ≠--=]1,,1,0[+n x n x x x f ,则由定义[][]110121,,,,,x x x x x f x x x f n n n --≡++ 且的线性组合表示可由函数值阶差商的,)(,),(),(],,,,[)()1(10110k k k x f x f x f x x x x f k x f -],,,,[110k k x x x x f - ∑=+-----=ki k i i i i i i i x x x x x x x x x f 0110)())(()()( []k x x x f ,,,10 [] ==k x x x f ,,,01[]01,,,x x x f k k -=k x5、下面给出牛顿插值公式及其余项的公式: (1) (2)… … … ….........(n+1))1())...((...)2()()1(100+⨯--++⨯-+-n x x x x x x n→))...(](,...,[...))(](,,[)](,[)()(100102100100---+--+-+=n n n x x x x x x f x x x x x x x f x x x x f x f x N 令:))()...(](,...,,[)(100n n n n x x x x x x x x x f x R ---=-则有:)()()(x R x N x f n n +=其中],...,[0i ix x x f a =6、 牛顿插值法计算步骤:牛顿插值法利用函数)(x f 在某区间中若干点的函数值,作出牛顿插值多项式)(x N n ,在这些点上取已知值,在区间的其他点i x 上用牛顿插值多项式的值)(i n x N 作为函数)(i x f 的近似值。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数值计算方法课程设计报告课程设计名称:数值计算方法课程设计题目:插值算法年级专业:信计1302班组员姓名学号:高育坤 43王冬妮 44韩建 46李婧 47指导教师:刘丽华完成时间: 2015年6月17日插值算法一、问题提出插值法是实用的数值方法,是函数逼近的重要方法。

在生产和科学实验中,自变量x与因变量y的函数y = f(x)的关系式有时不能直接写出表达式,而只能得到函数在若干个点的函数值或导数值。

当要求知道观测点之外的函数值时,需要估计函数值在该点的值。

如何根据观测点的值,构造一个比较简单的函数y=φ(x),使函数在观测点的值等于已知的数值或导数值,进而用简单函数y=φ(x)在点x处的值来估计未知函数y=f(x)在x点的值。

寻找这样的函数φ(x),办法是很多的。

φ(x)可以是一个代数多项式,或是三角多项式,也可以是有理分式;φ(x)可以是任意光滑(任意阶导数连续)的函数或是分段函数;函数类的不同,自然地有不同的逼近效果。

二、背景分析在许多实际问题及科学研究中,因素之间往往存在着函数关系,然而,这种关系经常很难有明显的解析表达,通常只是由观察与测试得到一些离散数值。

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

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

插值法是一种古老的数学方法,它来自生产实践,早在一千多年前,我国科学家在研究历法上就应用了线性插值与二次插值,但它的基本理论却是在微积分产生之后才逐渐完善的,其应用也日益增多,特别是在计算机软件中,许多库函数,如 ,cos,sinex 等的计算实际上归结于它的逼近函数的计算。

逼近函数一般为只含有算术运算的简单函数,如多项式、有理分式(即多项式的商)。

在工程实际问题当中,我们也经常会碰到诸如此类的函数值计算问题。

被计算的函数有时不容易直接计算,如表达式过于复杂或者只能通过某种手段获取该函数在某些点处的函数值信息或者导数值信息等。

因此,我们希望能用一个“简单函数”逼近被计算函数,然后用该简单函数的函数值近似替代被计算函数的函数值。

这种方法就叫插值逼近或者插值法。

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

三、基本算法思想与实现x 1x nx 0y 1y已知1+n 个数据节点:,,,...2,1,0),,(不相同其中j j j x n j y x =b x x x a n =<<<=...10不妨设构造一个(相对简单)函数)(x f y =(称为插值函数),通过全部结点即j j y x f =)((j =0,1,…n )再用)(x f 计算插值,即**)(y x f =数学上插值方法非常多,这里介绍几种常用方法: 1·Lagrange 插值函数Lagrange 插值函数的基本思想:将待求的n 次插值多项式()n P x 写成另一种表达方,式再利用插值条件()i i y f x = (0,1,2...)i =确定出插值基函()i l x 由基函数条件()1i i l x =,确定多项式系数,进而可得插值函数()n P x .(1)已知0011(),()f x y f x y ==,求满足条件的插值函数。

由题可知()y f x =表示过两点0011(,),(,)x y x y 的直线,这个问题是我们所熟悉的,它的解可表为下列对称式01010110x x x x y y y x x x x --=+--此类一次插值称为线性插值,若令01010110(),()x x x x l x l x x x x x --==--(由此可得:00011110()1,()0,()1,()0l x l x l x l x ====))则有10011()()()P x l x y l x y =+这里的01(),()l x l x 可以看作是满足条件00011110()1,()0()1,()0l x l x l x l x ====的插值多项式,这两个特殊的插值多项式称作上述问题的插值基函数。

(2)求过三点001122(,),(,),(,)x y x y x y 的插值函数。

为了得到插值多项式先解决一个特殊的二次插值问题。

求作二次式0()l x ,使满足000102()1,()()0l x l x l x === (2-1)这个问题是容易求解的,由式(2-1)的后两个条件知12,x x 是0()l x 的两个零点,因而012()()()l x c x x x x =-- 。

再用条件00()1l x =确定系数c .结果得 :1200102()()()()()x x x x l x x x x x --=--类似可以分别构造出满足条件111012222021()1,()()0()1,()()0l x l x l x l x l x l x ======的插值多项式12(),()l x l x ;其表达式分别为0211012()()()()()x x x x l x x x x x --=--,0122021()()()()()x x x x l x x x x x --=--这样构造出的012(),(),()l x l x l x 称作问题(2)的插值基函数。

设取已知数据012,,y y y 作为组合系数,将插值基函数012(),(),()l x l x l x 组合得2001122()()()()P x l x y l x y l x y =++020112012010*********()()()()()()()()()()()()x x x x x x x x x x x x y y y x x x x x x x x x x x x ------=++------验证可知,这样构造的2()P x 满足已知条件,因而它就是问题(2)的解。

(3)推广到一般:已知函数在n+1个不同点01,,...nx x x 上的函数值分别为01,,...ny y y 求一个次数不超过n 的多项式()n P x ,使其满足:()(0,1,..)n i i P x y i n ==即1n +个不同的点可以决定的一个n 次多项式。

过1n +个不同的点分别决定1n +个n 次插值基函数。

01(),(),...,()n l x l x l x每个插值基多项式满足:a.()i l x 是n 次多项式;b.()1i l x =,而在其它n 个点()0,()i k l x k i =≠由于()0,()i k l x k i =≠故有因子:011()...()()...()i i n x x x x x x x x -+----因其已经是n 次多项式,故而仅相差一个常数因子。

令:011()()...()()...()i i i n l x a x x x x x x x x -+=----由()1i i l x =,可以定出a , 进而得到:011011()...()()...()()()...()()...()i i n i i i i i i i n x x x x x x x x l x x x x x x x x x -+-+----=----n 次拉格朗日型插值多项式()n P x()n P x 是1n +个n 次插值基本多项式01(),(),...,()n l x l x l x 的线性组合,相应的组合系数是01,,...ny y y 。

即:0011()()()...()n n n P x y l x y l x y l x =++从而()n P x 是一个次数不超过n 的多项式,且满足()(0,1,..)n i i P x y i n ==2·Newton 插值函数的构造Newton 插值法的基本思想:已知节点处的函数值或一元函数代数方程,将待求的n 次插值多项式()n P x 改写为具有承袭性的形式,然后根据插值条件或选取初值以求()n P x 得待定系数,进而求得所要的插值函数。

实践中的许多问题归结为求一元代数方程()0f x =的根,如果()f x 是线性函数,则它的求根较容易;对非线性方程,只有不高于4次的代数方程有求根公式,经常需求出高于4次 的满足一定精度要求的近似解。

Newton 法的简述设x k x -()是()f x 的一个近似根,把()f x 在k x 处泰勒展开2()()()()()()...2k k k k f x f x f x f x x x x x '''=+-+-+若取前两项来近似代替()f x ,则()0f x =的近似线性方程()()()()0k k f x f x f x x x '=+-=设'()f x ≠0,设其根为1k x +,则1k x+的计算公式为1k x +=kx -()'()k k f x f x (k=0,1,2.....)这即为牛顿法,上式为牛顿迭代公式,其迭代函数为()()()f x x x f x ϕ=-'我们知道,牛顿法是解非线性方程最著名和最有效的方法之一,在单根附近它比一般的迭代格式有较快的收速度,但也要注意它也有缺点:首先,它对迭代初值选取要求较严,初值选取不好,可能导致吧收敛;其次,它每迭代一次要计算()k f x '的值,这势必增加可计算量。

为回避该问题,常用一个固定的()k f x '迭代若干步后再求()k f x '。

这就是下面要讲的简化牛顿法的基本思想。

简化牛顿法和下山牛顿法 简化牛顿法的公式为1()k k k x x cf x +=- (3-1)迭代函数 ()()x x cf x Φ=-若()1()1x cf x ''Φ=-<。

即0()2cf x '<< 在根*x 附近成立。

则迭代法(3-1)局部收敛。

此法显然化简了计算量。

牛顿下山法牛顿法的收敛依赖于初值x 的选取,若x 偏离*x 较远,则牛顿法可能发散。

为防止迭代发散,我们对迭代过程在附加一项条件,即具有单调性:1()()k k f x f x +< (3-2)保证函数值稳定下降,然后结合牛顿法加快收敛速度,即可达目的。

将牛顿法的计算结果1()()k k k k f x x x f x +=-' (3-3)于前一步的近似值k x 适当加权平均作为新的改进值11(1)k k k x x x λλ++=+- (3-4)其中称λ(01λ<≤)为下山因子,即为1()()k k k k f x x x f x λ+=-' (3-5)称为牛顿下山法。

相关文档
最新文档