当前位置:文档之家› 数值分析—插值拟合复习题

数值分析—插值拟合复习题

数值分析插值拟合

题库分类 填空题 1. 绪论部分 (1). 设x =3.214, y =3.213,欲计算u =y x - , 请给出一个精度较高的算式u = . u= y x y x +- (2). 设y =f (x 1,x 2) 若x 1,x 2,的近似值分别为x 1*, x 2*,令y *=f (x 1*,x 2*)作为y 的近似值,其绝对误 差限的估计式为: ε ≤| |f (x 1*,x 2*)|x 1-x*1|+ |f (x 1*,x 2*)|x 2-x*2| (3). 要使20的近似值的相对误差限≤0.1%, 应 至少取_______位有效数字? 20=0.4…?10, a 1=4, εr ≤ 1 21 a ?10-(n-1)< 0.1% 故可取n ≥4, 即4位有效数字。 (4). 要使17的近似值的相对误差限≤0.1%, 应至 少取_________位有效数字? 17=0.4…?10, a 1=4, εr ≤1 21 a ?10-(n-1)< 0.1% 故可取n ≥3.097, 即4位有效数字。 (5). 对于积分I n =e -1 ? 1 x n e x dx 试给出一种数值稳 定的递推公式_________。 I n -1=(1-I n )/n , I n ≈0 易知 I 0=1-e -1 I n =1-nI n -1 故I n -1=(1-I n )/n 0

数值分析实验报告1

实验一误差分析 实验1.1(病态问题) 实验目的:算法有“优”与“劣”之分,问题也有“好”与“坏”之别。对数值方法的研究而言,所谓坏问题就是问题本身对扰动敏感者,反之属于好问题。通过本实验可获得一个初步体会。 数值分析的大部分研究课题中,如线性代数方程组、矩阵特征值问题、非线性方程及方程组等都存在病态的问题。病态问题要通过研究和构造特殊的算法来解决,当然一般要付出一些代价(如耗用更多的机器时间、占用更多的存储空间等)。 问题提出:考虑一个高次的代数多项式 显然该多项式的全部根为1,2,…,20共计20个,且每个根都是单重的。现考虑该多项式的一个扰动 其中ε(1.1)和(1.221,,,a a 的输出b ”和“poly ε。 (1(2 (3)写成展 关于α solve 来提高解的精确度,这需要用到将多项式转换为符号多项式的函数poly2sym,函数的具体使用方法可参考Matlab 的帮助。 实验过程: 程序: a=poly(1:20); rr=roots(a); forn=2:21 n form=1:9 ess=10^(-6-m);

ve=zeros(1,21); ve(n)=ess; r=roots(a+ve); -6-m s=max(abs(r-rr)) end end 利用符号函数:(思考题一)a=poly(1:20); y=poly2sym(a); rr=solve(y) n

很容易的得出对一个多次的代数多项式的其中某一项进行很小的扰动,对其多项式的根会有一定的扰动的,所以对于这类病态问题可以借助于MATLAB来进行问题的分析。 学号:06450210 姓名:万轩 实验二插值法

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

插值法和拟合实验报告 一、 实验目的 1.通过进行不同类型的插值,比较各种插值的效果,明确各种插值的优越性; 2.通过比较不同次数的多项式拟合效果,了解多项式拟合的原理; 3.利用matlab 编程,学会matlab 命令; 4.掌握拉格朗日插值法; 5.掌握多项式拟合的特点和方法。 二、 实验题目 1.、插值法实验 将区间[-5,5]10等分,对下列函数分别计算插值节点 k x 的值,进行不同类型 的插值,作出插值函数的图形并与)(x f y =的图形进行比较: ;11)(2x x f += ;a r c t a n )(x x f = .1)(42 x x x f += (1) 做拉格朗日插值; (2) 做分段线性插值; (3) 做三次样条插值. 2、拟合实验 给定数据点如下表所示: 分别对上述数据作三次多项式和五次多项式拟合,并求平方误差,作出离散函数 ),(i i y x 和拟合函数的图形。 三、 实验原理 1.、插值法实验

∏∑∏∏∏∑∑≠==≠=≠=≠=+-==--= =-= ==-=-=----==++==j i j j i i i i i n i i n n j i j j n j i j j i i n j i j j n i i i n i i n n n o i n i i n x x x x x y x l x L x x c n i x x c x x x c x 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,01100 00 )(l )()() (1 ,1,0, 1)()(l ) ()())(()()()()()()()(, 故, 得 再由,设 2、拟合实验

matlab实现数值分析报告插值及积分

Matlab实现数值分析插值及积分 摘要: 数值分析(numerical analysis)是研究分析用计算机求解数学计算问题的数值计算方法及其理论的学科,是数学的一个分支,它以数字计算机求解数学问题的理论和方法为研究对象。在实际生产实践中,常常将实际问题转化为数学模型来解决,这个过程就是数学建模。学习数值分析这门课程可以让我们学到很多的数学建模方法。 分别运用matlab数学软件编程来解决插值问题和数值积分问题。题目中的要求是计算差值和积分,对于问题一,可以分别利用朗格朗日插值公式,牛顿插值公式,埃特金逐次线性插值公式来进行编程求解,具体matlab代码见正文。编程求解出来的结果为:=+。 其中Aitken插值计算的结果图如下: 对于问题二,可以分别利用复化梯形公式,复化的辛卜生公式,复化的柯特斯公式编写程序来进行求解,具体matlab代码见正文。编程求解出来的结果为: 0.6932 其中复化梯形公式计算的结果图如下:

问题重述 问题一:已知列表函数 表格 1 分别用拉格朗日,牛顿,埃特金插值方法计算。 问题二:用复化的梯形公式,复化的辛卜生公式,复化的柯特斯公式计算积分,使精度小于5。 问题解决 问题一:插值方法 对于问题一,用三种差值方法:拉格朗日,牛顿,埃特金差值方法来解决。 一、拉格朗日插值法: 拉格朗日插值多项式如下: 首先构造1+n 个插值节点n x x x ,,,10 上的n 插值基函数,对任一点i x 所对应的插值基函数 )(x l i ,由于在所有),,1,1,,1,0(n i i j x j +-=取零值,因此)(x l i 有因子 )())(()(110n i i x x x x x x x x ----+- 。又因)(x l i 是一个次数不超过n 的多项式,所以只 可能相差一个常数因子,固)(x l i 可表示成: )())(()()(110n i i i x x x x x x x x A x l ----=+- 利用1)(=i i x l 得:

数值分析总结计划实验一拉格朗日插值算法报告总结计划.doc

拉格朗日插值算法的实现 实验报告 姓名:** 年级:**** 专业:计算机科学与技术科目:数值分析题目:拉格朗日插值算法的实现 实验时间 : 2014 年 5 月27 日实验成绩: 实验教师: 一、实验名称:拉格朗日插值算法的实现 二、实验目的: a.验证拉格朗日插值算法对于不同函数的插值 b. 验证随着插值结点的增多插值曲线的变化情况。 三、实验内容: 拉格朗日插值基函数的一般形式: 也即是: 所以可以得出拉格朗日插值公式的一般形式: 其中, n=1 时,称为线性插值,P1(x) = y 0*l 0(x) + y 1*l 1(x) n=2 时,称为二次插值或抛物插值,精度相对高些, P2(x)= y0 *l 0(x)+ y1*l 1(x)+ y2 *l 2(x) 四、程序关键语句描写 double Lagrange(int n,double X[],double Y[],double x) { double result=0; for (int i=0;i

result+=temp; }// 求出 Pn(x) return result; } 五、实验源代码: #include #include using namespace std; int main() { double Lagrange(int n,double X[],double Y[],double x); //插值函数double x;//要求插值的x的值 double result;//插值的结果 char a='n'; double X[20],Y[20]; do { cout<<" 请输入插值次数n 的值: "<>n; cout<<" 请输入插值点对应的值及函数值(xi,yi):"<>X[k]>>Y[k]; } cout<<" 请输入要求值 x 的值: "<>x; result=Lagrange(n,X,Y,x); cout<<" 由拉格朗日插值法得出结果: "<>a; }while(a=='yes'); return 0; } double Lagrange(int n,double X[],double Y[],double x) { double result=0; for (int i=0;i

数值分析实验插值与拟合

《数值分析》课程实验一:插值与拟合 一、实验目的 1. 理解插值的基本原理,掌握多项式插值的概念、存在唯一性; 2. 编写MA TLAB 程序实现Lagrange 插值和Newton 插值,验证Runge 现象; 3. 通过比较不同次数的多项式拟合效果,理解多项式拟合的基本原理; 4. 编写MA TLAB 程序实现最小二乘多项式曲线拟合。 二、实验内容 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 )的图像。 (2) 编写MA TLAB 程序绘制出曲线拟合图。 三、实验步骤 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 阶差商定义为

数值分析常用的插值方法

数值分析报告 班级: 专业: 流水号: 学号: 姓名:

常用的插值方法 序言 在离散数据的基础上补插连续函数,使得这条连续曲线通过全部给定的离散数据点。插值是离散函数逼近的重要方法,利用它可通过函数在有限个点处的取值状况,估算出函数在其他点处的近似值。 早在6世纪,中国的刘焯已将等距二次插值用于天文计算。17世纪之后,牛顿、拉格朗日分别讨论了等距和非等距的一般插值公式。在近代,插值法仍然是数据处理和编制函数表的常用工具,又是数值积分、数值微分、非线性方程求根和微分方程数值解法的重要基础,许多求解计算公式都是以插值为基础导出的。 插值问题的提法是:假定区间[a,b〕上的实值函数f(x)在该区间上n+1个互不相同点x0,x1……x n处的值是f(x0),……f(x n),要求估算f(x)在[a,b〕中某点的值。其做法是:在事先选定的一个由简单函数构成的有n+1个参数C0, C1,……C n的函数类Φ(C0,C1,……C n)中求出满足条件P(x i)=f(x i)(i=0,1,……n)的函数P(x),并以P(x)作为f(x)的估值。此处f(x)称为被插值函数,x0,x1,……xn 称为插值结(节)点,Φ(C0,C1,……C n)称为插值函数类,上面等式称为插值条件,Φ(C0,……C n)中满足上式的函数称为插值函数,R(x)=f(x)-P(x)称为插值余项。

求解这类问题,它有很多种插值法,其中以拉格朗日(Lagrange)插值和牛顿(Newton)插值为代表的多项式插值最有特点,常用的插值还有Hermit 插值,分段插值和样条插值。 一.拉格朗日插值 1.问题提出: 已知函数()y f x =在n+1个点01,,,n x x x L 上的函数值01,,,n y y y L ,求任意一点 x '的函数值()f x '。 说明:函数()y f x =可能是未知的;也可能是已知的,但它比较复杂,很难计算其函数值()f x '。 2.解决方法: 构造一个n 次代数多项式函数()n P x 来替代未知(或复杂)函数()y f x =,则 用()n P x '作为函数值()f x '的近似值。 设()2012n n n P x a a x a x a x =++++L ,构造()n P x 即是确定n+1个多项式的系数 012,,,,n a a a a L 。 3.构造()n P x 的依据: 当多项式函数()n P x 也同时过已知的n+1个点时,我们可以认为多项式函数 ()n P x 逼近于原来的函数()f x 。根据这个条件,可以写出非齐次线性方程组: 20102000 20112111 2012n n n n n n n n n n a a x a x a x y a a x a x a x y a a x a x a x y ?++++=?++++=?? ? ?++++=?L L L L L 其系数矩阵的行列式D 为范德萌行列式: ()20 0021110 2111n n i j n i j n n n n x x x x x x D x x x x x ≥>≥= = -∏L L M M M M L

数值分析实验(2)word版本

数值分析实验(2)

实验二 插值法 P50 专业班级:信计131班 姓名:段雨博 学号:2013014907 一、实验目的 1、熟悉MATLAB 编程; 2、学习插值方法及程序设计算法。 二、实验题目 1、已知函数在下列各点的值为 试用4次牛顿插值多项式()4P x 及三次样条函数()S x (自然边界条件)对数据进行插值用图给出(){},,0.20.08,0,1,11,10i i i x y x i i =+=,()4P x 及()S x 。 2、在区间[]1,1-上分别取10,20n =用两组等距节点对龙格函数()2 1125f x x = +作多项式插值及三次样条插值,对每个n 值,分别画出插值函数及()f x 的图形。 3、下列数据点的插值 可以得到平方根函数的近似,在区间[]0,64上作图 (1)用这9个点作8次多项式插值()8L x (2)用三次样条(第一边界条件)程序求()S x 从得到结果看在[]0,64上,哪个插值更精确;在区间[]0,1上,两种插值哪个更精确? 三、实验原理与理论基础

1、拉格朗日差值公式 )()(111k k k k k k x x x x y y y x L ---+ =++ 点斜式 k k k k k k k k x x x x y x x x x y x L --+--=++++11111)( 两点式 2、n 次插值基函数 ....,2,1,0,)()(0n j y x l y x L i j n k k k j n ===∑= n k x x x x x x x x x x x x x l n k n k k k k k ,...,1,0,) () (... ) () (... ) () ()(1100=------= -- 3、牛顿插值多项式 ...))(](,,[)](,[)()(102100100+--+++=x x x x x x x f x x x x f x f x P n ))...(](,...,[100---+n n x x x x x x f )(],...,,[)()()(10x x x x f x P x f x R n n n n +=-=ω 4、三次样条函数 若函数],,[)(2b a C x S ∈且在每个小区间],[1+j j x x 上是三次多项式,其中, b x x x a n =<<<=...10是给定节点,则称)(x S 是节点n x x x ,...,,10上的三次样条函数。若在节点j x 上给定函数值),,...,2,1,0)((n j x f y j i ==并成立,,...,2,1,0,)(n j y x S i j ==则称)(x S 为三次样条插值函数。 5、三次样条函数的边界条件 (1)0)()(''''''00''====n n f x S f x S (2)'''00')(,)(n n f x S f x S == 四、实验内容 1、M 文件: function [p]=Newton_Polyfit(X,Y) format long g r=size(X); n=r(2); M=ones(n,n); M(:,1)=Y'; for i=2:n

数值分析常用的插值方法

数值分析 报告 班级: 专业: 流水号: 学号: 姓名:

常用的插值方法 序言 在离散数据的基础上补插连续函数,使得这条连续曲线通过全部给定的离散数据点。插值是离散函数逼近的重要方法,利用它可通过函数在有限个点处的取值状况,估算出函数在其他点处的近似值。 早在6世纪,中国的刘焯已将等距二次插值用于天文计算。17世纪之后,牛顿、拉格朗日分别讨论了等距和非等距的一般插值公式。在近代,插值法仍然是数据处理和编制函数表的常用工具,又是数值积分、数值微分、非线性方程求根和微分方程数值解法的重要基础,许多求解计算公式都是以插值为基础导出的。 插值问题的提法是:假定区间[a,b〕上的实值函数f(x)在该区间上 n+1 个互不相同点x 0,x 1 (x) n 处的值是f(x ),……f(x n ),要求估算f(x)在[a,b〕 中某点的值。其做法是:在事先选定的一个由简单函数构成的有n+1个参数C , C 1,……C n 的函数类Φ(C ,C 1 ,……C n )中求出满足条件P(x i )=f(x i )(i=0,1,…… n)的函数P(x),并以P(x)作为f(x)的估值。此处f(x)称为被插值函数,x 0,x 1 ,……xn 称为插值结(节)点,Φ(C 0,C 1 ,……C n )称为插值函数类,上面等式称为插值条件, Φ(C 0,……C n )中满足上式的函数称为插值函数,R(x)= f(x)-P(x)称为 插值余项。

求解这类问题,它有很多种插值法,其中以拉格朗日(Lagrange)插值和牛顿(Newton)插值为代表的多项式插值最有特点,常用的插值还有Hermit 插值,分段插值和样条插值。 一.拉格朗日插值 1.问题提出: 已知函数()y f x =在n+1个点01,, ,n x x x 上的函数值01,, ,n y y y ,求任意一点 x '的函数值()f x '。 说明:函数()y f x =可能是未知的;也可能是已知的,但它比较复杂,很难计算其函数值()f x '。 2.解决方法: 构造一个n 次代数多项式函数()n P x 来替代未知(或复杂)函数()y f x =,则 用()n P x '作为函数值()f x '的近似值。 设()2012n n n P x a a x a x a x =+++ +,构造()n P x 即是确定n+1个多项式的系数 012,,,,n a a a a 。 3.构造()n P x 的依据: 当多项式函数()n P x 也同时过已知的n+1个点时,我们可以认为多项式函数 ()n P x 逼近于原来的函数()f x 。根据这个条件,可以写出非齐次线性方程组: 20102000 201121112012n n n n n n n n n n a a x a x a x y a a x a x a x y a a x a x a x y ?+++ +=?++++=??? ?+++ +=? 其系数矩阵的行列式D 为范德萌行列式: () 200021110 2 111n n i j n i j n n n n x x x x x x D x x x x x ≥>≥= = -∏

数值分析作业-三次样条插值

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

虑如下例子:某汽车制造商根据三次样条插值函数设计车门曲线,其中一 段数据如下: k x 0 1 2 3 4 5 6 7 8 9 10 k y 0.0 0.79 1.53 2.19 2.71 3.03 3.27 2.89 3.06 3.19 3.29 k y ' 0.8 0.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

数值分析法 曲线拟合法插值建模法

数值分析法 相关知识 在生产和科学实验中,自变量x 与因变量y 间的函数关系()y f x =有时不能写出解析表达式,而只能得到函数在若干点的函数值或导数值,或者表达式过于复杂而需要较大的计算量。当要求知道其它点的函数值时,需要估计函数值在该点的值。 为了完成这样的任务,需要构造一个比较简单的函数()y x ?=,使函数在观测点的值等于已知的值,或使函数在该点的导数值等于已知的值,寻找这样的函数()y x ?=有很多方法。根据测量数据的类型有以下两类处理观测数据的方法。 (1)测量值是准确的,没有误差,一般用插值。 (2)测量值与真实值有误差,一般用曲线拟合。 曲线拟合法 已知离散点上的数据集1122{(,),(,),,(,)}n n x y x y x y ,即已知在点集12{,,,}n x x x 上的函数值12{,,,}n y y y ,构造一个解析函数(其图形为一曲线)使()f x 在原离散点 i x 上尽可能接近给定的i y 值,这一过程称为曲线拟合。 曲线拟合的一般步骤是先根据实验数据,结合相关定律,将要寻求的最恰当的拟合曲线方程形式预测出来,再用其他的数学方法确定经验公式中的参数。 对于事先给定的一组数据,确定经验公式一般可分为三步进行: (1)、确定经验公式的形式:根据系统和测定的数据的特点,并参照已知图形的特点确定经验公式的形式。 (2)、确定经验公式中的待定系数:计算待定系数的方法有许多常用的法有图示法、均值法、差分法、最小二乘法、插值法等。 (3)、检验:求出经验公式后,还要将测定的数据与用经验公式求出的理论

数据作比较,验证经验公式的正确性,必要时还要修正经验公式。 关于确定经验公式的形式,可从以下几个方面入手: (1)、利用已知的结论确定经验公式形式,如由已知的胡克定律可以确定在一定条件下,弹性体的应变与应力呈线性关系等。 (2)、从分析实验数据的特点入手,将之与已知形式的函数图形相对照,确定经验公式的形式。 (3)、描点作图法:将已知的点用光滑的曲线连接起来,寻找曲线的形式。 (4)、多项式近似、线性插值或样条插值等。多项式近似是工程中十分常见的方法,它首先需要确定多项式的次数,一般可以用差分法、差商法来估计。 <一>、差分方程法 <1>、差分方程:差分方程反映的是关于离散变量的取值与变化规律。通过建立一个或几个离散变量取值所满足的平衡关系,从而建立差分方程。 (1)、说明:差分方程就是针对要解决的目标,引入系统或过程中的离散变量,根据实际背景的规律、性质、平衡关系,建立离散变量所满足的平衡关系等式,从而建立差分方程。通过求出和分析方程的解,或者分析得到方程解的特别性质(平衡性、稳定性、渐近性、振动性、周期性等),从而把握这个离散变量的变化过程的规律,进一步再结合其他分析,得到原问题的解。 (2)、应用:差分方程模型有着广泛的应用。实际上,连续变量可以用离散变量来近似和逼近,从而微分方程模型就可以近似于某个差分方程模型。差分方程模型有着非常广泛的实际背景。在经济金融保险领域、生物种群的数量结构规律分析、疾病和病虫害的控制与防治、遗传规律的研究等许许多多的方面都有着非常重要的作用。可以这样讲,只要牵涉到关于变量的规律、性质,就可以适当地用差分方程模型来表现与分析求解。

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

实验报告:牛顿差值多项式&三次样条 问题:在区间[-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.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)。

插值和拟合区别

插值和拟合区别 运输1203黎文皓通过这个学期的《科学计算与数学建模》课程的学习,使我掌握了不少数学模型解决实际问题的方法,其中我对于插值与拟合算法这一章,谈一谈自己的看法可能不是很到位,讲得不好的地方也请老师见谅。 首先,举一个简单的例子说明一下这个问题。 如果有100个平面点,要求一条曲线近似经过这些点,可有两种方法:插值和拟合。 我们可能倾向于用一条(或者分段的多条)2次、3次或者说“低次”的多项式曲线而不是99次的曲线去做插值。也就是说这条插值曲线只经过其中的3个、4个(或者一组稀疏的数据点)点,这就涉及到“滤波”或者其他数学方法,也就是把不需要90多个点筛选掉。如果用拟合,以最小二乘拟合为例,可以求出一条(或者分段的多条)低次的曲线(次数自己规定),逼近这些数据点。具体方法参见《数值分析》中的“线性方程组的解法”中的“超定方程的求解法”。经过上面例子的分析,我们可以大致的得到这样一个结论。插值就是精确经过,拟合就是逼近。 插值和拟合都是函数逼近或者数值逼近的重要组成部分。他们的共同点都是通过已知一些离散点集M上的约束,求取一个定义在连续集合S(M包含于S)的未知连续函数,从而达到获取整体规律目的,即通过"窥几斑"来达到"知全豹"。 所谓拟合是指已知某函数的若干离散函数值{f1,f2,…,fn},通过调

整该函数中若干待定系数f(λ1, λ2,…,λ3), 使得该函数与已知点集的差别(最小二乘意义)最小。如果待定函数是线性,就叫线性拟合或者线性回归(主要在统计中),否则叫作非线性拟合或者非线性回归。表达式也可以是分段函数,这种情况下叫作样条拟合。 而插值是指已知某函数的在若干离散点上的函数值或者导数信息,通过求解该函数中待定形式的插值函数以及待定系数,使得该函数在给定离散点上满足约束。 从几何意义上将,拟合是给定了空间中的一些点,找到一个已知形式未知参数的连续曲面来最大限度地逼近这些点;而插值是找到一个(或几个分片光滑的)连续曲面来穿过这些点。 不过是插值还是拟合都是建立在一定的数学模型的基础上进行的。多项式插值虽然在一定程度上解决了由函数表求函数的近似表达式的问题,但是在逼近曲线上有明显的缺陷,很可能不能很好的表示函数的走向,存在偏差,在实际问题中我们往往通过函数近似表达式的拟合法来得到一个较为准却的表达式。

数值分析报告上机实验报告(插值)

数值分析第一次上机练习实验报告 ——Lagrange 插值与三次样条插值 一、 问题的描述 设()2119f x x =+, []1,1x ∈-,取15 i i x =-+,0,1,2,...,10i =.试求出10次Lagrange 插值多项式()10L x 和三次样条插值函数()S x (采用自然边界条件),并用图画出()f x ,()10L x , ()S x . 二、 方法描述——Lagrange 插值与三次样条插值 我们取15i i x =-+ ,0,1,2,...,10i =,通过在i x 点的函数值()21 19i i f x x =+来对原函数进行插值,我们记插值函数为() g x ,要求它满足如下条件: ()()2 1 ,0,1,2,...,1019i i i g x f x i x == =+ (1) 我们在此处要分别通过Lagrange 插值(即多项式插值)与三次样条插值的方法对原函数 ()2 1 19f x x = +进行插值,看两种方法的插值结果,并进行结果的比较。 10次的Lagrange 插值多项式为: ()()10 100 i i i L x y l x ==∑ (2) 其中: ()2 1 ,0,1,2,...,1019i i i y f x i x == =+ 以及 ()()()()()()()()() 011011......,0,1,2,...,10......i i n i i i i i i i n x x x x x x x x l x i x x x x x x x x -+-+----= =---- 我们根据(2)进行程序的编写,我们可以通过几个循环很容易实现函数的Lagrange 插值。 理论上我们根据区间[]1,1-上给出的节点做出的插值多项式()n L x 近似于()f x ,而多 项式()n L x 的次数n 越高逼近()f x 的精度就越好。但实际上并非如此,而是对任意的插值节点,当n →+∞的时候()n L x 不一定收敛到()f x ;而是有时会在插值区间的两端点附近

数值分析实验报告-插值、三次样条(教育教学)

实验报告:牛顿差值多项式&三次样条 问题:在区间[-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)。

数值分析课件第3章函数逼近与曲线拟合

第三章 函数逼近与曲线拟合 1 函数的逼近与基本概念 1.1问题的提出 多数计算机的硬件系统只提供加、减、乘、除四种算术运算指令,因此为了计算大多数有解析表达式的函数的值,必须产生可用四则运算进行计算的近似式,一般为多项式和有理分式函数.实际上,我们已经接触到两种逼近多项式,一种是泰乐多项式,一种是插值多项式.泰乐多项式是一种局部方法,误差分布不均匀,满足一定精度要求的泰乐多项式次数太高,不宜在计算机上直接使用.例如,设()f x 是[1,1]-上的光滑函数,它的Taylor 级数0()k k k f x a x ∞ ==∑, ()(0)! k k f a k =在[1,1]-上收敛。当此级数收敛比较快时,11()()()n n n n e x f x s x a x ++=-≈。这个误差分布是不均匀的。当0x =时,(0)0n e =,而x 离开零点增加时,()n e x 单调增加,在1x =±误差最

大。

为了使[1,1]-的所有x 满足()()n f x s x ε-<,必须选取足够大的n ,这显然是不经济的。插值函数出现的龙格现象表明,非节点处函数和它的插值多项式相差太大。更重要的是,实际中通过观测得到的节点数据往往有各种误差,此时如果要求逼近函数过全部节点,相当于保留全部数据误差,这是不适宜的。如图1所示,给出五个点上的实验测量数据,理论上的结果应该满足线性关系,即图1中的实线。由于实验数据的误差太大,不能用过任意两点的直线逼近函数。如果用过5个点的4次多项式逼近线性函数,显然误差会很大。 实验数据 真函数 插值多项式逼近 精确的线性逼近 图1

数值分析实验报告-插值,逼近

实验报告:函数逼近&插值多项式补充 问题1:对于给函数21()1+25f x x = ,取点21 cos 22 k k x n π+=+,k 取0,1,…,n 。n 取10或20。试画出拟合曲线并打印出方程,与第二章计算实习题2的结果进行比较。 问题2:对于给函数2 1 ()1+25f x x = 在区间[-1,1]上取x i =-1+0.2i (i=0,1,2,…,10),试求3次曲线拟合,试画出拟合曲线并打印出方程,与第二章计算实习题2的结果进行比较。 实验目的:通过编程实现牛顿插值方法和函数逼近,加深对多项式插值的理解。应用所编程序解决实际算例。 实验要求: 1. 认真分析问题,深刻理解相关理论知识并能熟练应用; 2. 编写相关程序并进行实验; 3. 调试程序,得到最终结果; 4. 分析解释实验结果; 5. 按照要求完成实验报告。 实验原理: 详见《数值分析 第5版》第二章、第三章相关内容。 实验内容: (1)问题1:

这里我们可以沿用实验报告一的代码,对其进行少量修改即可。 当n=10时,代码为: clear all clc k=0:10; n=length(k); x1=cos((2*k+1)/2/n*pi); y1=1./(1+25.*x1.^2); 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);

相关主题
文本预览
相关文档 最新文档