搜档网
当前位置:搜档网 › 用普通克立格插值法计算0号站点的气温值

用普通克立格插值法计算0号站点的气温值

用普通克立格插值法计算0号站点的气温值
用普通克立格插值法计算0号站点的气温值

地统计学作业

在一研究区内,气温Z(x)为区域化变量,满足二阶平稳假设,是一个二维各向同性的球状模型(模型见后页),现有五个站点的气温观测数据,用普通克立格插值法计算0号站点的气温值。

解:

(1)由于区域化变量满足二阶平稳假设,则C(h)=C(0)-(),计算得到协方差函数表达式为:

由协方差函数概念可知,C00=C11=C22=C33=C44=C55=C(0)=22

计算点与点之间的距离,然后计算协方差函数值,组成协方差矩阵求解权重系数,进行待求点的气温值并计算估计方差。

距离矩阵:

x=[18,20.88061302,32.31098884,36.05551275,47.20169488,31.2409987 ,4 9.47726751, 34.525353, 59.66573556, 40, 56.92099788,

62.03224968,47.41307836, 26.07680962, 40.19950248]

y=dindgen(15)

for i=0,14do begin

y[i]=20-20*(3*x[i]/400-0.5*(x[i]/200)^3)

endfor

print,y

end ;用来求协方差

协方差矩阵:

*transpose(a1,a2,a3,a4,a5,-b)

=transpose(17.30729, 16.87929, 15.19552, 14.65026, 13.0512,1) 可得,

transpose(a1,a2,a3,a4,a5,-b)

=

transpose()

0号点的普通克里金估计气温值为:

Z(x)= =14.84826℃普通克里金估计方差为:

(2)

距离矩阵:

x=[18,20.88061302,32.31098884,36.05551275,47.20169488,31.24099 87 ,49.47726751, 34.525353, 59.66573556, 40, 56.92099788, 62.03224968,47.41307836, 26.07680962, 40.19950248]

y=dindgen(15)

for i=0,14do begin

y[i]=2+20*(3*x[i]/400-0.5*(x[i]/200)^3)

endfor

print,transpose(y)

end

;用来求变异函数值

可得,

transpose(c1,c2,c3,c4,c5,d)

transpose(

,c2=0.313832,c3=0.173669,c4=0.120626,c5=0.037932,d=-0.26863 0号点的普通克里金估计气温值为:

普通克里金估计方差为:

=5.67573-0.26863

=5.40710

数值计算方法比较

有限差分方法(FDM:Finite Difference Method)是计算机数值模拟最早采用的方法,至今仍被广泛运用。该方法将求解域划分为差分网格,用有限个网格节点代替连续的求解域。有限差分法以Taylor级数展开等方法,把控制方程中的导数用网格节点上的函数值的差商代替进行离散,从而建立以网格节点上的值为未知数的代数方程组。有限差分法主要集中在依赖于时间的问题(双曲型和抛物型方程)。有限差分法方面的经典文献有Richtmeyer & Morton的《Difference Methods for Initial-Value Problems》;R. LeVeque《Finite Difference Method for Differential Equations》;《Numerical Methods for C onservation Laws》。 注:差分格式: (1)从格式的精度来划分,有一阶格式、二阶格式和高阶格式。 (2)从差分的空间形式来考虑,可分为中心格式和逆风格式。 (3)考虑时间因子的影响,差分格式还可以分为显格式、隐格式、显隐交替格式等。 目前常见的差分格式,主要是上述几种形式的组合,不同的组合构成不同的差分格式。差分方法主要适用于有结构网格,网格的步长一般根据实际地形的情况和柯朗稳定条件来决定。 构造差分的方法: 构造差分的方法有多种形式,目前主要采用的是泰勒级数展开方法。其基本的差分表达式主要有三种形式:一阶向前差分、一阶向后差分、一阶中心差分和二阶中心差分等,其中前两种格式为一阶计算精度,后两种格式为二阶计算精度。通过对时间和空间这几种不同差分格式的组合,可以组合成不同的差分计算格式。 有限差分法的不足:由于采用的是直交网格,因此较难适应区域形状的任意性,而且区分不出场函数在区域中的轻重缓急之差异,缺乏统一有效的处理自然边值条件和内边值条件的方法,难以构造高精度(指收敛阶)差分格式,除非允许差分方程联系更多的节点(这又进一步增加处理边值条件韵困难)。另外它还有编制不出通用程序的困难。 有限差分法的优点:该方法是一种直接将微分问题变为代数问题的近似数值解法,数学概念 直观,表达简单,精度可选而且在一个时间步内,对于一个给定点来说其相关的空间点只是 与该相邻的几点,而不是全部的空间点。是发展较早且比较成熟的数值方法 广义差分法(有限体积法)(GDM:Generalized Difference Method):1953年,Mac—Neal 利用积分插值法(也称积分均衡法)建立了三角网格上的差分格 式,这就是以后通称的不规划网格上的差分法.这种方法的几何误差小,特别是给出了处理自然边值条件(及内边值条件)的有效方法,堪称差分法的一大进步。1978年,李荣华利用有限元空间和对偶单元上特征函数的推广——局部Taylor展式的公项,将积分插值法改写成广义Galerkin法形式,从而将不规则网格差分法推广为广义差分法.其基本思路是,将计算区域划分为一系列不重复的控制体积,并使每个网格点周围有

计算方法 课内实验 插值法与函数逼近

《计算方法》课内实验报告 学生姓名:张学阳1009300132 及学号: 学院: 理学院 班级: 数学101 课程名称:计算方法 实验题目:插值法与函数逼近 指导教师 宋云飞讲师 姓名及职称: 朱秀丽讲师 尚宝欣讲师 2012年10月15日

目录 一、实验题目.......................................................... 错误!未定义书签。 二、实验目的.......................................................... 错误!未定义书签。 三、实验内容.......................................................... 错误!未定义书签。 四、实现结果.......................................................... 错误!未定义书签。 五、实验体会或遇到问题 (6)

插值法与函数逼近 二、实验目的 1.熟悉matlab 编写及运行数值计算程序的方法。 2.进一步理解插值法及函数逼近方法的理论基础。 3.进一步掌握给定数据后应用插值法及函数逼近方法进行数据处理并给出图示结果的实际操作过程。 三、实验内容 1.已知函数在下列各点的值为 试用4次牛顿插值多项式)(4x P 及三次样条函数)(x S (自然边界条件)对数据进行插值。给出求解过程,并用图给出 (){},10,1,0),()(,08.02.0,,4 ===+=i x S y x P y i x y x i i i i i 及。 2.下列数据点的插值 可以得到平方根函数的近似。 (1)用这9个点作8次多项式插值)(8x L 。 (2)用三次样条(第一类边界条件)插值给出)(x S 。 给出求解过程,在区间[0,64]上作图,从得到的结果看,在区间[0,64]上哪种插值结果更精确?在区间[0,1]上两种插值哪个更精确? 3.由实验给出数据表 试求3次、4次多项式的曲线拟合,再根据数据曲线形状,求一个另外函数的拟合曲线。给出求解过程,用图表示实验数据曲线及三种拟合曲线。

数值分析插值算法源程序

#include #include float f(float x) //计算ex的值 { return (exp(x)); } float g(float x) //计算根号x的值 { return (pow(x,0.5)); } void linerity () //线性插值 { float px,x; float x0,x1; printf("请输入x0,x1的值\n"); scanf("%f,%f",&x0,&x1); printf("请输入x的值: "); scanf("%f",&x); px=(x-x1)/(x0-x1)*f(x0)+(x-x0)/(x1-x0)*f(x1); printf("f(%f)=%f \n",x,px); } void second () //二次插值 { float x0,x1,x2,x,px; x0=0; x1=0.5; x2=2; printf("请输入x的值:"); scanf("%f",&x); px=((x-x1)*(x-x2))/((x0-x1)*(x0-x2))*f(x0)+((x-x0)*(x-x2))/((x1-x0)*(x1-x2))*f(x1)+((x-x0)* (x-x1))/((x2-x0)*(x2-x1))*f(x2);

printf("f(%f)=%f\n",x,px); } void Hermite () //Hermite插值 { int i,k,n=2; int flag1=0; printf("Hermite插值多项式H5(x)="); for(i=0;i<=n;i++) { int flag=0; flag1++; if(flag1==1) { printf("y%d[1-2(x-x%d)*(",i,i); } else { printf("+y%d[1-2(x-x%d)*(",i,i); } for(k=0;k<=n;k++) { if(k!=i) { flag++; if(flag==1) { printf("(1/x%d-x%d)",i,k); } else { printf("+(1/x%d-x%d)",i,k);

计算方法实验

算方法实验指导 姓名学号院系专业哈尔滨工业大学

计算方法实验指导 根据实际问题建立的数学模型,一般不能求出所谓的解析解,必须针对数学模型 的特点确定适当的计算方法,编制出计算机能够执行的计算程序,输入计算机,进行 调试,完成运算,如果计算结果存在问题或不知是否正确,还需要重新确定新的计算 方法,再编制出计算程序,输入计算机,重新调试,完成运算,直至获得正确的计算 结果,这就是数值计算的全部过程。 学生在学习“计算方法”和“高级语言”等课程时普遍存在的问题是:只会套用 教科书中的标准程序进行数值计算,很少有人能够独立地将学过的数值算法编制成计 算机程序,至于灵活应用已经掌握的算法求解综合性较大的课题,则更是困难的事情。 编写《计算方法实验指导》的目的是:突出数值计算程序结构化的思想。提高学 生的编程能力,加深对“计算方法”课程内容的理解和掌握,为”计算方法“课程的 教学服务,进一步奠定从事数值计算工作的基础。具体地 1. 根据“计算方法”课程内容的特点,给出五个典型算法的分析流程,学生可以 利用所掌握的 “高级语言”顺利地编制出计算机程序,上机实习,完成实验环节的教 学要求。 2. 所有的计算实习题目都经过任课教师逐一检验,准确无误。 3. 充分利用循环的思想、 迭代的思想, 给出算法结构描述和程序语言的对应关系, 有利于学生编 制相应的程序。 4. 结合实习题目,提出实验要求,要求学生按规范格式写出相应的实验报告,实 验报告成绩记入 期末总成绩。需要提醒学生:不能简单地套用现成的标准程序完成实 验题目,应当把重点放在对算法的理解、程序的优化设计、上机调试和计算结果分析 上,否则就失去实验课的目的啦。 5. 五个具体的实验题目是: 实验题目 实验题目 实验题目 实验题目 实验题目 要求必须完 成其中三个(如果全部完成更好) 。 1 拉格朗日 (Lagrange) 插值 2 龙贝格 (Romberg) 积分法 3 四阶龙格—库塔 (Runge — Kutta) 方法 4 牛顿 (Newton) 迭代法 5 高斯 (Gauss) 列主元消去法

计算方法-插值方法实验

实验一插值方法 一. 实验目的 (1)熟悉数值插值方法的基本思想,解决某些实际插值问题,加深对数值插值方法 的理解。 (2)熟悉Matlab 编程环境,利用Matlab 实现具体的插值算法,并进行可视化显示。 二. 实验要求 用Matlab 软件实现Lagrange 插值、分段线性插值、三次Hermite 插值、Aitken 逐步插值算法,并用实例在计算机上计算和作图。 三. 实验内容 1. 实验题目 (1 ) 已 知概 率积 分dx e y x x ?-= 2 2 π 的数据表 构造适合该数据表的一次、二次和三次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 0 1 2 3 x 0.46 047 0.48 0.49 y 0.4846555 0.4937452 0.5027498 0.5116683

计算方法实验报告 插值

实验名称:插值计算 1引言 在生产和科研中出现的函数是多种多样的。常常会遇到这样的情况:在某个实际问题中,虽然可以断定所考虑的函数f(x)在区间[a,b]上存在且连续,但却难以找到它的解析表达式,只能通过实验和观测得到在有限个点上的函数值。用这张函数表来直接求出其他点的函数值是非常困难的,在有些情况下,虽然可以写出f(x)的解析表达式,但由于结构十分复杂,使用起来很不方便。面对这些情况,构造函数P(x)作为f(x)的近似,插值法是解决此类问题比较古老却目前常用的方法,不仅直接广泛地应用与生产实际和科学研究中,而且是进一步学习数值计算方法的基础。 设函数y=f(x)在区间[a,b]上连续,且在n+1个不同的点a≤x0,x1……,xn≤b上分别取值y0,y1……,yn. 插值的目的就是要在一个性质优良、便于计算的函数φ中,求一简单函数P(x),使P(xi)=yi(i=0,1…,n)而在其他点x≠xi上,作为f(x)的近似。 通常,称区间[a,b]为插值区间,称点x0,x1,…,xn为插值节点,上式为插值条件,称函数类φ为插值函数类,称P(x)为函数f(x)在节点x0,x1,…,xn处的插值函数,求插值函数P(x)的方法称为插值法。 2实验目的和要求 用matlab定义分段线性插值函数、分段二次插值函数、拉格朗日插值函数,输入所给函 数表,并利用计算机选择在插值计算中所需的节点,计算f(0.15),f(0.31),f(0.47)的近似值。

3算法描述 1.分段线性插值流程图

2.分段二次插值流程图

3.拉格朗日插值流程图

4程序代码及注释 1.分段线性插值

插值与多项式逼近的数组计算方法实验讲解

插值与多项式逼近的数组计算方法实验 郑发进 2012042020022 【摘要】计算机软件中经常要用到库函数,如) cos,x e,它们 (x (x sin,) 是用多项式逼近来计算的。虽然目前最先进的逼近方法是有理函数(即多项式的商),但多项式逼近理论更适于作为数值分析的入门课程。在已知数据具有高精度的情况下,通常用组合多项式来构造过给定数据点的多项式。构造组合多项式的方法有许多种,如线性方程求解、拉格朗日系数多项式以及构造牛顿多项式的方分和系数表。 关键字泰勒级数、拉格朗日插值法、牛顿插值法、帕德逼近 一、实验目的 1.通过具体实验,掌握泰勒级数、拉格朗日插值法、牛顿插值法、帕德逼近的编程技巧。 2.比较各插值方法的优劣并掌握。 二、实验原理 1.泰勒级数 在数学中,泰勒级数(英语:Taylor series)用无限项连加式——级数来表示一个函数,这些相加的项由函数在某一点的导数求得。 如果在点x=x 具有任意阶导数,则幂级数 称为在点x 处的泰勒级数。 =0,得到的级数 在泰勒公式中,取x 称为麦克劳林级数。函数的麦克劳林级数是x的幂级数,那么这种展开

是唯一的,且必然与的麦克劳林级数一致。 2.拉格朗日插值法 如对实践中的某个物理量进行观测,在若干个不同的地方得到相应的观测值,拉格朗日插值法可以找到一个多项式,其恰好在各个观测的点取到观测到的值。这样的多项式称为拉格朗日(插值)多项式。数学上来说,拉格朗日插值法可以给出一个恰好穿过二维平面上若干个已知点的多项式函数。 在平面上有(x 1,y 1)(x 2,y 2)...(x n ,y n )共n 个点,现作一条函数f (x )使其图像经过这n 个点。 作n 个多项式p i (x),i=1,2,3...,n,使得 最后可得 3.牛顿插值法 插值法利用函数f (x)在某区间中若干点的函数值,作出适当的特定函数,在这些点上取已知值,在区间的其他点上用这特定函数的值作为函数f (x)的近似值。如果这特定函数是多项式,就称它为插值多项式。利用插值基函数很容易得到拉格朗日插值多项式,公式结构紧凑,在理论分析中甚为方便,但当插值节点增减时全部插值基函数均要随之变化,整个公式也将发生变化, 这在实际计算中是很不方便的,为了克服这一缺点,提出了牛顿插值。 牛顿插值通过求各阶差商,递推得到的一个公式: 10121()()()()()()N N N N P x P x a x x x x x x x x --=+---- 牛顿插值与拉格朗日插值具有唯一性。 4.帕德逼近 它不仅与逼近论中其他许多方法有着密切的关系,而且在实际问题特别是许多物理问题中有着广泛的应用。设是在原点某邻域内收敛的、具有复系数的麦克劳林级数。欲确定一个有理函数,式中,使得前次方的系数为0,即使得 此处约定qk =0(k>n )。虽然所求得的Pm(z)和Qn(z)不惟一,但是比式却总是惟一的。有理函数称为F(z)的(m,n)级帕德逼近,记为(m/n)。由(m/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

计算方法--插值法与拟合实验

实验三 插值法与拟合实验 一、实验目的 1. 通过本实验学会利用程序画出插值函数,并和原图形相比较 2. 通过本实验学会拟合函数图形的画法,并会求平方误差 二、实验题目 1. 插值效果的比较 实验题目:区间[]5,5-10等分,对下列函数分别计算插值节点k x 的值,进行不同类型的插值,作出插值函数的图形并与)(x f y =的图形进行比较: 2 11)(x x f +=; x x f arctan )(=; 4 41)(x x x f += (1) 做拉格朗日插值; (2) 做三次样条插值. 2. 拟合多项式实验 实验题目:给定数据点如下表所示: 分别对上述数据作三次多项式和五次多项式拟合,并求平方误差,作出离散函数),(i i y x 和拟合函数的图形. 三、实验原理 本实验应用了拉格朗日插值程序、三次样条插值程序、多项式拟合程序等实验原理. 四、实验内容 1(1) figure x=-5:0.2:5; y=1./(1+x.^2); plot(x,y,'r'); hold on %拉格朗日插值 x1=-5:1:5; y1=1./(1+x1.^2); xx=-4.5:0.5:4.5; yy=malagr(x1,y1,xx); plot(xx,yy,'+') %三次样条插值 dy0=1./(1+25); dyn=1./(1+25);

m=maspline(x1,y1,dy0,dyn,xx); plot(xx,m,'ok') 1(2) x=-5:0.2:5; y=atan(x); plot(x,y,'r'); hold on %拉格朗日插值 x1=-5:1:5; y1=atan(x1); xx=-4.5:0.5:4.5; yy=malagr(x1,y1,xx); plot(xx,yy,'+') %三次样条插值 dy0=1./(1+25); dyn=1./(1+25); m=maspline(x1,y1,dy0,dyn,xx); plot(xx,m,'ok') 1(3) x=-5:0.2:5; y=x.^2./(1+x.^4); plot(x,y,'r'); hold on %拉格朗日插值 x1=-5:1:5; y1=x1.^2./(1+x1.^4); xx=-4.5:0.5:4.5; yy=malagr(x1,y1,xx); plot(xx,yy,'+') %三次样条插值 dy0=1./(1+25); dyn=1./(1+25); m=maspline(x1,y1,dy0,dyn,xx); plot(xx,m,'ok') 2. x=[-1.5 -1.0 -0.5 0.0 0.5 1.0 1.5]'; y=[-4.45 -0.45 0.55 0.05 -0.44 0.54 4.55]'; plot(x,y,'or'); hold on %三次多项式拟合 p1=mafit(x,y,3);

计算方法上机实验报告——拉格朗日插值问题

计算方法上机实验报告——拉格朗日插值问题 一、方法原理 n次拉格朗日插值多项式为:Ln(x)=y0l0(x)+y1l1(x)+y2l2(x)+…+ynln(x) n=1时,称为线性插值,L1(x)=y0(x-x1)/(x0-x1)+y1(x-x0)/(x1-x0)=y0+(y1-x0)(x-x0)/(x1-x0) n=2时,称为二次插值或抛物线插值,精度相对高些 L2(x)=y0(x-x1)(x-x2)/(x0-x1)/(x0-x2)+y1(x-x0)(x-x2)/(x1-x0)/(x1-x 2)+y2(x-x0)(x-x1)/(x2-x0)/(x2-x1) 二、主要思路 使用线性方程组求系数构造插值公式相对复杂,可改用构造方法来插值。 对节点xi(i=0,1,…,n)中任一点xk(0<=k<=n)作一n次多项式lk(xk),使它在该点上取值为1,而在其余点xi(i=0,1,…,k-1,k+1,…,n)上为0,则插值多项式为Ln(x)=y0l0(x)+y1l1(x)+y2l2(x)+…+ynln(x) 上式表明:n个点xi(i=0,1,…,k-1,k+1,…,n)都是lk(x)的零点。可求得lk 三.计算方法及过程:1.输入节点的个数n 2.输入各个节点的横纵坐标 3.输入插值点 4.调用函数,返回z 函数语句与形参说明 程序源代码如下: 形参与函数类型 参数意义 intn 节点的个数 doublex[n](double*x) 存放n个节点的值 doubley[n](double*y) 存放n个节点相对应的函数值 doublep 指定插值点的值 doublefun() 函数返回一个双精度实型函数值,即插值点p处的近似函数值 #include #include usingnamespacestd; #defineN100 doublefun(double*x,double*y,intn,doublep); voidmain() {inti,n; cout<<"输入节点的个数n:"; cin>>n;

数值计算方法复习题2

习题二 1. 已知 ,求的二次值多项式。 2. 令 解:; ,介于x和0,1决定的区 间内;,当时。 的数表,分别用线性插值与二次插值求 3. 给出函数 ,试利用拉格朗日余项定理写出以为节点的三次 4. 设 插值多项式。 ,求及的值。1,0 5. 已知 6. 根据如下函数值表求四次牛顿插值多项式,并用其计算 , 的如下函数值表,解答下列问题(1)试列出相应 7. 已知函数 的差分表;(2)分别写出牛顿向前插值公式和牛顿向后插值公式。 解:向前插值公式

向后插值公式 8. 下表为概率积分 的数据表,试问:1)时, 积分 在各点的数据(取五位有效数 9. 利用 字),求方程 在0.3和0.4之间的根的近似值。0.3376489 10. 依据表10中数据,求三次埃尔米特插值多项式。 11. 依据数表11 项式。 上给出的等距节点函数表,用分段线性插值求 12. 在 的近似值,要使截断误差不超过 取? 13. 将区间 分成n等分,求在上的分段三次埃尔米 特插值多项式,并估计截断误差。 14、给定的数值表

用线性插值与二次插值计算ln0.54的近似值并估计误差限 解:仍可使用n=1及n=2的Lagrange插值或Newton插值,并应用误差估计。线性插值时,用0.5及0.6两点,用Newton插值 误差限 ,因,故 二次插值时,用0.5,0.6,0.7三点,作二次Newton插值 误差限, 故 15、在-4≤x≤4上给出的等距节点函数表,若用二次插值法 求的近似值,要使误差不超过,函数表的步长h应取多少? 解:用误差估计式, 令因 得

16、若,求和 解:由均差与导数关系 于是 17、若互异,求 的值,这里p≤n+1. 解:,由均差对称性 可知当有 而当P=n+1时 于是得 18、求证 解:只要按差分定义直接展开得 19、已知的函数表

东南大学计算方法实验报告

计算方法与实习实验报告 学院:电气工程学院 指导老师:李翠平 班级:160093 姓名:黄芃菲 学号:16009330

实习题一 实验1 拉格朗日插值法 一、方法原理 n次拉格朗日插值多项式为:L n(x)=y0l0(x)+y1l1(x)+y2l2(x)+…+y n l n(x) n=1时,称为线性插值,L1(x)=y0(x-x1)/(x0-x1)+ y1(x-x0)/(x1-x0)=y0+(y1-x0)(x-x0)/(x1-x0) n=2时,称为二次插值或抛物线插值,精度相对高些 L2(x)=y0(x-x1)(x-x2)/(x0-x1)/(x0-x2)+y1(x-x0)(x-x2)/(x1-x0)/(x1-x2)+y2(x-x0)(x-x1)/(x2-x0)/(x2-x1) 二、主要思路 使用线性方程组求系数构造插值公式相对复杂,可改用构造方法来插值。 对节点x i(i=0,1,…,n)中任一点x k(0<=k<=n)作一n 次多项式l k(x k),使它在该点上取值为1,而在其余点x i(i=0,1,…,k-1,k+1,…,n)上为0,则插值多项式为L n(x)=y0l0(x)+y1l1(x)+y2l2(x)+…+y n l n(x) 上式表明:n 个点x i(i=0,1,…,k-1,k+1,…,n)都是l k(x)的零点。可求得l k 三.计算方法及过程:1.输入节点的个数n 2.输入各个节点的横纵坐标 3.输入插值点 4.调用函数,返回z 函数语句与形参说明 程序源代码如下: 形参与函数类型参数意义 int n 节点的个数 double x[n](double *x)存放n个节点的值 double y[n](double *y)存放n个节点相对应的函数值 double p 指定插值点的值 double fun() 函数返回一个双精度实型函数值,即插值点p 处的近似函数值 #include #include using namespace std; #define N 100 double fun(double *x,double *y, int n,double p); void main() {int i,n; cout<<"输入节点的个数n:"; cin>>n; double x[N], y[N],p; cout<<"please input xiangliang x= "<>x[i]; cout<<"please input xiangliang y= "<>y[i]; cout<<"please input LagelangrichazhiJieDian p= "<>p;

计算方法实验报告习题1(浙大版)

计算方法实验报告 实验名称: 实验1 从函数表出发进行插值 1 引言 某个实际问题中,函数f (x)在区间[a,b]上存在且连续,但难以找到其表达式,只能通过实验和观测得到有限点上的函数表。有些情况虽然可以写出表达式,但结构复杂,使用不方便。所以希望构造简单函数P (x)作为f (x)的近似值。插值法是解决此类问题的一种方法。 设函数y=在插值区间[a,b]上连续,且在n+1个不同的插值节点a≤x 0,x 1,…,x n ≤b 上分别取值y 0,y 1,…,y n 。目的是要在一个性质优良、便于计算的插值函数类Φ中,求一简单函数P (x),满足插值条件P (x i )=y i (i=0,1,…,n),而在其他点x≠x i 上,作为f (x)近似值。求插值函数P (x)的方法称为插值法[1]。 2 实验目的和要求 运用Matlab 编写m 文件,定义三种插值函数,要求一次性输入整张函数表,并利用计算机选择在插值计算中所需的节点。分别通过分段线性插值、分段二次插值和全区间上拉格朗日插值计算f (0.15),f (0.31),f (0.47)的近似值。 3 算法原理与流程图 (1)原理 1.线性插值 当给定了n+1个点x 0

数值计算方法实验报告

差值法实验日志 实验题目:插值法 实验目的: 1.掌握拉格朗日插值、牛顿插值、分段低次插值和样条插值的方法。 2.对四种插值结果进行初步分析。 实验要求: (1)写出算法设计思想; (2)程序清单; (3)运行的结果; (4)所得图形; (5)四种插值的比较; (6)对运行情况所作的分析以及本次调试程序所取的经验。如果程序未通过,应分析其原因。 实验主要步骤: 1.已知函数) f满足: (x x0.0 0.1 0.195 0.3 0.401 0.5 f(0.39894 0.39695 0.39142 0.38138 0.36812 x ) 0.35206 (1)用分段线性插值; 打开MATLAB,按以下程序输入: x0=-5:5; y0=1./(1+x0.^2); x=-5:0.1:5; y=1./(1+x.^2); y1=lagr(x0,y0,x); y2=interp1(x0,y0,x); y3=spline(x0,y0,x);

for k=1:11 xx(k)=x(46+5*k); yy(k)=y(46+5*k); yy1(k)=y1(46+5*k); yy2(k)=y2(46+5*k); yy3(k)=y3(46+5*k); end [xx;yy;yy2;yy3]' z=0*x; plot(x,z,x,y,'k--',x,y2,'r') plot(x,z,x,y,'k--',x,y1,'r') pause plot(x,z,x,y,'k--',x,y3,'r') 回车得以下图形:

(2) 拉格朗日插值。 创建M 文件,建立lagr 函数: function y=lagr1(x0,y0,x) n=length(x0);m=length(x); for i=1:m z=x(i); s=0.0; for k=1:n p=1.0; for j=1:n if j~=k p=p*(z-x0(j))/(x0(k)-x0(j)); end end s=p*y0(k)+s; end y(i)=s; end 新建一个M 文件,输入: x0=[0.0 0.1 0.195 0.3 0.401 0.5]; y0=[0.39894 0.39695 0.39142 0.38138 0.36812 0.35206]; x=0.0:0.01:0.5; y1=lagr1(x0,y0,x); 00.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

数值分析拉格朗日插值法.doc

``````````````````````````````````````````` 数值分析拉格朗日插值法 拉格朗日插值的算法设计及应用 【摘要】 本文简介拉格朗日插值,它的算法及程序和拉格朗日在实际生活中的运用。运用了拉格朗日插值的公式,以及它在MATLAB 中的算法程序,并用具体例子说明。拉格朗日插值在很多方面都可以运用,具有很高的应用价值。 【关键词】 拉格朗日;插值;公式;算法程序;应用;科学。 一、绪论 约瑟夫·拉格朗日(Joseph Louis Lagrange),法国数学家、物理学家。他在数学、力学和天文学三个学科领域中都有历史性的贡献,其中尤以数学方面的成就最为突出。拉格朗日对流体运动的理论也有重要贡献,提出了描述流体运动的拉格朗日方法。数据建模有两大方法:一类是插值方法,另一类是拟合函数一般的说,插值法比较适合数据准确或数据量小的情形。然而Lagrange 插值有很多种,1阶,2阶,…n 阶。我们可以利用拉格朗日插值求方程,根据它的程序求原方程的图像。下面我具体介绍分析一下拉格朗日插值的算法设计及应用。 二、正文 1、基本概念 已知函数y=f(x)在若干点i x 的函数值i y =()i x f (i=0,1,???,n )一个差值问题就是求一“简单”的函数p(x):p(i x )=i y ,i=0,1,???,n, (1) 则p(x)为f(x)的插值函数,而f(x)为被插值函数会插值原函数,0x ,1x ,2x ,...,n x 为插值节点,式(1)为插值条件,如果对固定点-x 求f(-x )数值解,我们称- x 为一个插值节点,f(-x )≈p(-x )称为-x 点的插值,当-x ∈[min(0x ,1x ,2x ,...,n x ),max(0x ,1x ,2x ,...,n x )]

《计算方法》课内实验报告(实验1)2013

《计算方法》课内实验报告 学生姓名: 及学号: 学院:理学院 班级: 课程名称:计算方法 实验题目:插值法与函数逼近 指导教师 周硕教授 姓名及职称: 朱振菊实验师 2013年10月9日

目录 一、实验题目 (1) 二、实验目的 (1) 三、实验内容 (1) 四、实验结果 (2) 五、实验体会或遇到问题 (6)

一、实验题目 插值法与函数逼近 二、实验目的 1.熟悉matlab 编写及运行数值计算程序的方法。 2.进一步理解插值法及函数逼近方法的理论基础。 3.进一步掌握给定数据后应用插值法及函数逼近方法进行数据处理并给出图示结果的实际操作过程。 三、实验内容 1.已知函数在下列各点的值为 试用4次牛顿插值多项式)(4x P 及三次样条函数)(x S (自然边界条件)对数据进行插值。给出求解过程,并用图给出 (){},10,1,0),()(,08.02.0,,4 ===+=i x S y x P y i x y x i i i i i 及。 2.下列数据点的插值 可以得到平方根函数的近似。 (1)用这9个点作8次多项式插值)(8x L 。 (2)用三次样条(第一类边界条件)插值给出)(x S 。 给出求解过程,在区间[0,64]上作图,从得到的结果看,在区间[0,64]上哪种插值结果更精确?在区间[0,1]上两种插值哪个更精确?

3.由实验给出数据表 试求3次、4次多项式的曲线拟合,再根据数据曲线形状,求一个另外函数的拟合曲线。给出求解过程,用图表示实验数据曲线及三种拟合曲线。 四、实验结果 4次牛顿插值多项式: x = [0.2 0.4 0.6 0.8 1]; y = [0.98 0.92 0.81 0.64 0.38]; plot(x,y,'b') hold on z=0.2:0.05:1; n=length(x); for j=2:n for i=n:-1:j y(i)=(y(i)-y(i-1))/(x(i)-x(i-j+1)); end end u=y(n); m=length(z); for j=1:m for i=n-1:-1:1 u=y(i)+u*(z(j)-x(i)); v(j)=u; end u=y(n); end plot(z,v,'r') hold off

数值计算方法教案_插值方法

复习: 1.数值计算方法的含义 2.误差及误差限 3.误差与有效数字 4.数值计算中应注意的问题 第二章 插值方法 一.插值的含义 问题提出: 已知函数()y f x =在n+1个点01,,,n x x x 上的函数值01,,,n y y y ,求任意一点x '的函数值()f x '。 说明:函数()y f x =可能是未知的;也可能是已知的,但它比较复杂,很难计算其函数值()f x '。 解决方法: 构造一个简单函数()P x 来替代未知(或复杂)函数()y f x =,则用()P x '作为函数值 ()f x '的近似值。 二、泰勒(Taylor )插值 1.问题提出: 已知复杂函数()y f x =在0x 点的函数值()0f x ,求0x 附近另一点0x h +的函数值 ()0f x h +。 2.解决方法: 构造一个代数多项式函数()n P x ,使得()n P x 与()f x 在0x x =点充分逼近。 泰勒多项式为: ()()()()()()()()()200000002!! n n n f x f x P x f x f x x x x x x x n '''=+-+-++- 显然,()n P x 与()f x 在0x x =点,具有相同的i 阶导数值(i=0,1,…,n )。 3.几何意义为:

()n P x 与()f x 都过点()()00,x f x ; ()n P x 与()f x 在点()()00,x f x 处的切线重合; ()n P x 与()f x 在点()()00,x f x 处具有相同的凹凸性; 其几何意义可以由下图描述,显然函数()3f x 能相对较好地在0x 点逼近()f x 。 4.误差分析(泰勒余项定理): ()()()()()()1 101! n n n f P x f x x x n ξ++-=-+,其中ξ在0x 与x 之间。 5.举例: 已知函数()f x =() 115f 。 分析:本题理解为,已知“复杂”函数()f x =0x =100点的函数值为()010f x =,求0x 的附近一点0x +15的函数值()015f x +。 解: (1)构造1次泰勒多项式函数()1P x :()()()()1000P x f x f x x x '=+-。 其中()()010010f x f ==,()1 212 f x x -'=,()()0110020f x f ''==,则有: ()150.05P x x =+ 故有()()111511510.75f P ≈= 误差分析: ()()()()2 1 1151151151002! f P f ξ''-=-

清华大学_计算方法(数学实验)实验2插值与拟合

实验 2 插值与拟合 系班姓名学号 【实验目的】 1、掌握用MATLAB计算拉格朗日、分段线性、三次样条三种插值的方法,改变节点的数目, 对三种插值结果进行初步分析。 2、掌握用MATLAB作线性最小二乘的方法。 3、通过实例学习如何用插值方法与拟合方法解决实际问题,注意二者的联系和区别。 【实验内容】 预备:编制计算拉格朗日插值的M文件: 以下是拉格朗日插值的名为y_lagrl的M文件: function y=y_lagr1(x0,y0,x) n=length(x0);m=length(x); for i=1:m z=x(i); s=0.0; for k=1:n p=1.0; for j=1:n if j~=k p=p*(z-x0(j))/(x0(k)-x0(j)); end end s=p*y0(k)+s; end y(i)=s; end 第1题(d) 选择函数y=exp(-x2) (-2≤x≤2),在n个节点上(n不要太大,如5~11)用拉格朗日、分段线性、三次样条三种插值方法,计算m个插值点的函数值(m要适中,如50~100)。通过数值和图形输出,将三种插值结果与精确值进行比较。适当增加n,在作比较,由此作初步分析。 运行如下程序: n=7;m=61;x=-2:4/(m-1):2; y=exp(-x.^2); z=0*x; x0=-2:4/(n-1):2; y0=exp(-x0.^2); y1=y_lagr1(x0,y0,x); y2=interp1(x0,y0,x); y3=interp1(x0,y0,x,'spline');

[x'y'y1'y2'y3'] plot(x,z,'w',x,y,'r--',x,y1,'b:',x,y2,'m',x,y3,'b') gtext('y=exp(-x^2)'),gtext('Lagr.'),gtext('Piece.-linear.'),gtext ('Spline'), 将三种插值结果y1,y2,y3与精确值y 项比较,显然y1在节点处不光滑,拉格朗日插值出现较大的振荡,样条插值得结果是最好的.增加n 值(使n=11),再运行以上程序,得到的图形如右图所示,比较这两个图可发现,节点增加后,三种插值方法结果的准确度均有所提高,因此可近似地认为:增加节点个数可以提高插值结果的准确程度。 第3题 用给定的多项式,如y=x 3-6x 2+5x-3,产生一组数据(x i ,y i ,i=1,2,…,n ),再在yi 上添加随机干扰(可用rand 产生(0,1)均匀分布随机数,或用randn 产生N (0,1)分布随机数),然后用x i 和添加了随机干扰的y i 作3次多项式拟合,与原系数比较。如果作2或4次多项式拟合,结果如何? 解:2 编制y_2_3.m 文件 n=15; x=0:8/(n-1):8; y=x.^3-6*x.^2+5*x-3; z=0*x; y0=y+rand(1,15); f=polyfit(x,y0,m); r=polyval(f,x) pl2ot(x,z,'k',x,y,'r:'r,'b') 程序及运行结果如下:m=2 ,y_2_3 f = 5.9888 -31.9916 17.6679 m=3 ,y_2_3

相关主题