当前位置:首页 >> 理学 >>

数值分析实习报告 插值法


x 大学计算机与信息学院 (数学类课程)

课程实习报告
课程名称: 实习题目: 姓 名: 系: 专 年 学 业: 级: 号: 信息与计算科学 信息与计算科学 2009 数值分析课程实习 插值法

指导教师: 职 称: 讲师

2012 年 05



1



课程实习报告评分表
序号 1 2 3 4 项目 算法:正确,步骤合理 程序:画流程图,用语言或数学软件编写 质量:分析处理科学;文字通顺;计算及测试结 果准确; 工作量、工作态度:按期完成规定的任务,工作 量饱满;工作努力,遵守纪律 合 计 评分 权值 0.3 0.2 0.4 0.1 1 评定成绩

指导教师签名:







1

目录
1. 2. 3. 4. 5. 实习的目的和任务 ................................................................................................ 1 实习要求 ................................................................................................................ 1 实习地点 ................................................................................................................ 1 主要仪器设备 ........................................................................................................ 1 实习内容 ................................................................................................................ 1 5.1 问题描述 .......................................................................................................... 1 5.2 Lagrange 插值法 .............................................................................................. 1 5.3 逐次线性插值法............................................................................................... 6 5.4 牛顿插值法....................................................................................................... 8 5.5 等距节点插值法............................................................................................. 10 5.6 Hermite 插值法 .............................................................................................. 15 5.7 分段低次插值法............................................................................................. 18 6.问题讨论与分析 ................................................................................................... 19 7.结束语 ................................................................................................................... 20 参考文献 ..................................................................................................................... 21

数值分析课程实习
1. 实习的目的和任务 目的:通过课程实习能够应用 MATLAB 软来计算函数的插值;了解函 数插值方法。 任务:通过具体的问题,利用 MATLAB 软件来计算问题的结果,分析 问题的结论。 2. 实习要求 能够从案例的自然语言描述中,抽象出其中的数学模型;能够熟练应用 所学的函数插值方法;能够熟练使用 MATLAB 软件;对函数的插值方法有 所认识,包括对不同插值法有所认识。 3. 实习地点 学生宿舍 4. 主要仪器设备 计算机 Microsoft Windows 7 Matlab R2010b 5. 实习内容 5.1 问题描述 给出函数 f(x)=lnx 的数值表(见表 5.1)用 Lagrange 插值法,逐次线性插值 法,牛顿插值法,等距节点插值法,Hermite 插值法,分段低次插值法分别求该 函数[0.4,0.8]上的插值多项式并计算 ln0.53 的近似值。 表 5.1 x lnx 0.4 -0.916291 0.5 -0.693147 0.6 -0.510826 0.7 -0.357765 0.8 -0.223144

5.2 Lagrange 插值法 拉格朗日插值法是基于基函数的插值方法,插值多项式可表示为:
n

L ( x )∑ y =
i?0

i

l ( x)
i

其中称为 i 次基函数

1

l ( x) ? (
i

x )...( x ? x x ? x )...( x ? x
0 i 0 i

(x ?

i ?1 i ?1

)( x ?
i

x )( x ? x

i ?1

)...( x ?

x

n

)
n

i ?1

)...( x i ?

x

)

5.2.1 线性插值和抛物插值 线性插值选取 x=0.4 x=0.5 在 matlab 命令窗口中输入: x=[0.4 0.5]; y=[-0.916291 -0.693147]; L0=poly(x(2))/(x(1)-x(2)); L1=poly(x(1))/(x(2)-x(1)); z=y(1)*L0+y(2)*L1; a=poly2sym(z) 回车结果为 a=(27893*x)/12500-1.8088670

b=polyval(z,0.53) 回车结果为 b=-0.6262038

在 matlab 命令窗口中输入: x1=0.3:0.001:0.6; y1=(27893*x1)/12500-1.8088670; x2=[0.4 0.5 0.53]; y2=[-0.916291 -0.693147 -0.6262038]; plot(x1,y1,'b--',x2,y2,'o'); title('图 5-2-1 线性插值')

回车后得到如图所示结果

2

图 5-2-1 线 性 插 值 -0.4 -0.5 -0.6 -0.7 -0.8 -0.9 -1 -1.1 -1.2 0.25

0.3

0.35

0.4

0.45

0.5

0.55

0.6

抛物插值选取 x=0.4 x=0.5 x=0.6 在 matlab 命令窗口中输入: x=[0.4 0.5 0.6]; y=[-0.916291 -0.693147 -0.510826]; L0=poly([x(2) x(3)])/((x(1)-x(2))*(x(1)-x(3))); L1=poly([x(1) x(3)])/((x(2)-x(1))*(x(2)-x(3))); L2=poly([x(1) x(2)])/((x(3)-x(1))*(x(3)-x(2))); z=y(1)*L0+y(2)*L1+y(3)*L2; a=poly2sym(z) 回车结果为 a=-(40823*x^2)/20000+4.068475*x-2.217097

b=polyval(z,0.53) 回车结果为 b=-0.6341643

在 matlab 命令窗口中输入: x=0.35:0.001:0.65; y=-(40823*x.^2)/20000+4.068475*x-2.217097; x1=[0.4 0.5 0.53 0.6];

3

y1=[-0.916291 -0.693147 -0.6262038 -0.510826]; plot(x,y,'g+',x1,y1,'o'); title('图 5-2-2 抛物插值')

回车后得到如图所示结果
图 5-2-2 抛 物 插 值 -0.4

-0.5

-0.6

-0.7

-0.8

-0.9

-1

-1.1

0.35

0.4

0.45

0.5

0.55

0.6

0.65

0.7

5.2.2 拉格朗日插值法的 matlab 实现 建立M文件Language.m: function f=Language(x,y,x0) %求已知数据点的拉格朗日插值多项式 %已知数据点的x坐标向量: x %已知数据点的y坐标向量: y %插值点的x坐标: x0 %求得的拉格朗日插值多项式或在x0处的插值: f syms t; if(length(x)==length(y)) n=length(x); else disp('x和y的维度不相等!'); return;%检错 end f=0.0; for(i=1:n)
4

l=y(i); for(j=1:i-1) l=l*(t-x(j))/(x(i)-x(j)); end for(j=i+1:n) l=l*(t-x(j))/(x(i)-x(j)); end; f=f+l; simplify(f);%化简 if(i==n) if(nargin==3) f=subs(f,'t',x0);%计算插值点的函数值 else f=collect(f); f=vpa(f,8);%将插值多项式的系数化成8位精度的小数 end end end 在 matlab 工作窗口输入如下程序: x=[0.4 0.5 0.6 0.7 0.8]; y=[-0.916291 -0.693147 -0.510826 -0.357765 -0.223144]; f=Lagrange(x,y) 运行的结果为: f =- 0.30958333*t^4 + 2.60825*t^3 - 5.4860542*t^2 + 5.6920925*t - 2.474362 再次输入 f=Lagrange(x,y,0.53) 结果为 f= -0.6347048

在 matlab 命令窗口中输入:

t=0.35:0.001:0.85; y=- 0.30958333*t.^4+ 2.60825*t.^3 - 5.4860542*t.^2 + 5.6920925*t - 2.474362; x1=[0.4 0.5 0.53 0.6 0.7 0.8]; y1=[-0.916291 -0.693147 -0.6347048 -0.510826 -0.357765 -0.223144]; plot(t,y,'r*',x1,y1,'o'); title('图 5-2-3 Lagrange 插值')

回车后得到如图所示结果

5

图 5-2-3 Lagrange插 值 -0.1 -0.2 -0.3 -0.4 -0.5 -0.6 -0.7 -0.8 -0.9 -1 -1.1

0.4

0.5

0.6

0.7

0.8

0.9

1

5.3 逐次线性插值法 5.3.1 逐次线性插值法基本原理 定义为 f [ x 0 ] ? f ( x 0 ) ,一阶定义均差为 f [ x 0 , x m ] ? 一般地,函数 f 的 k 阶均差定义为:
f [ x 0 , x 1, x ..., f ( x m ) ? f ( x 0) ?

x

m

x

0

k ?1

..., x

m

]?

f [ x 0 , x 1, ..., x k ? 2, m ] ? f [ x 0 , x 1, ..., x k ?1] x

x

m

?

x

k ?1

5.3.2 逐次线性插值法的 matlab 实现 建立 M 文件 Aitken.m function f = Aitken(x,y,x0) %求已知数据点的 Aitken 逐次线性插值多项式 %已知数据点的 x 坐标向量:x %已知数据点的 y 坐标向量:y %为插值点的 x 坐标:x0 %求得的 Aitken 插值多项式或 x0 处的插值:f syms t; if(length(x) == length(y)) n = length(x); else disp('x 和 y 的维数不相等!');
6

return; %检错 end y1(1:n)=t; for(i=1:n-1) for(j=i+1:n) y1(j) = y(j)*(t-x(i))/(x(j)-x(i))+y(i)*(t-x(j))/(x(i)-x(j)); end y=y1; simplify(y1); %化简 end if(nargin == 3) f = subs(y1(n),'t',x0); %计算插值点的函数值 else simplify(y1(n)); f = collect(y1(n)); %将插值多项式展开 f = vpa(f,8); %将插值多项式的系数化成 8 位精度的小数 end 在 matlab 工作窗口输入: x=[0.4 0.5 0.6 0.7 0.8]; y=[-0.916291 -0.693147 -0.510826 -0.357765 -0.223144]; f= Aitken(x,y) 运行的结果为: f =- 0.30958333*t^4 + 2.60825*t^3 - 5.4860542*t^2 + 5.6920925*t - 2.474362 再次输入 f= Aitken(x,y,0.53) 结果为 f= -0.6347048 在 matlab 命令窗口中输入: t=0.35:0.001:0.85; y=- 0.30958333*t.^4 + 2.60825*t.^3 - 5.4860542*t.^2 + 5.6920925*t - 2.474362 x1=[0.4 0.5 0.53 0.6 0.7 0.8]; y1=[-0.916291 -0.693147 -0.6347048 -0.510826 -0.357765 -0.223144]; plot(t,y,'cd',x1,y1,'o'); title('图 5-3 Aitken 插值') 回车后得到如图所示结果

7

图 5-3 Aitken插 值 -0.1 -0.2 -0.3 -0.4 -0.5 -0.6 -0.7 -0.8 -0.9 -1 -1.1

0.4

0.5

0.6

0.7

0.8

0.9

1

5.4 牛顿插值法 5.4.1 牛顿插值法的基本原理

? x? x j ? 1 ??? 零阶均差定义为 a ? ? h ? x ?x xi? x j ? ?
n n i j ?1 j?i i i j j ?1 j?i

2

,一阶定义均差为

f [ x 0, x m ] ?

f ( x m ) ? f ( x 0)

x

m

?

x

0

一般地,函数 f 的 k 阶均差定义为:
f [ x 0 , x 1, x ...,

k ?1

..., x

m

]?

f [ x 0 , x 1, ..., x k ? 2, m ] ? f [ x 0 , x 1, ..., x k ?1] x

x
x
1

m

?

x

k ?1

利用均差的牛顿插值法多项式为
N ( x ) ? f ( x 0 ) ? f [ x 0 , x 1]( x ? f [ x 0 , x 1, ..., x n ]( x ?
0

) ? f [ x 0 , x 1, x 2 ]( x ?
n ?1

x

0

)( x ?

x ) ? ... ?
1

x

0

)( x ?

x )...( x ? x

)

5.4.2 牛顿插值法的 matlab 实现 建立 M 文件 Newton.m: function f = Newton(x,y,x0) %求已知数据点的均差形式牛顿插值多项式
8

%已知数据点的x 坐标向量:x %已知数据点的y 坐标向量:y %为插值点的x坐标:x0 %求得的均差形式牛顿插值多项式或x0处的插值:f syms t; if(length(x) == length(y)) n = length(x); c(1:n) = 0.0; else disp('x和y的维数不相等!'); return; %检错 end f = y(1); y1 = 0; l = 1; for(i=1:n-1) for(j=i+1:n) y1(j) = (y(j)-y(i))/(x(j)-x(i)); end c(i) = y1(i+1); l = l*(t-x(i)); f = f + c(i)*l; simplify(f); %化简 y = y1; if(i==n-1) if(nargin == 3) f = subs(f,'t',x0); %计算插值点的函数值 else f = collect(f); %将插值多项式展开 f = vpa(f,8); %将插值多项式的系数化成8位精度的小数 end end end 在 matlab 工作窗口输入如下程序: x=[0.4 0.5 0.6 0.7 0.8]; y=[-0.916291 -0.693147 -0.510826 -0.357765 -0.223144]; f= Newton (x,y) 运行的结果为 f = - 0.30958333*t^4 + 2.60825*t^3 - 5.4860542*t^2 + 5.6920925*t - 2.474362
9

再次输入 f= Newton (x,y,0.53) 结果为 f= -0.6348783

在 matlab 命令窗口中输入: t=0.35:0.001:0.85; y=- 0.30958333*t.^4 + 2.60825*t.^3 - 5.4860542*t.^2 + 5.6920925*t - 2.474362 x1=[0.4 0.5 0.53 0.6 0.7 0.8]; y1=[-0.916291 -0.693147 -0.6348783 -0.510826 -0.357765 -0.223144]; plot(t,y,'m-- ',x1,y1,'o'); title('图 5-4 Newton 插值')

回车后得到如图所示结果
图 5-4 Newton插 值 -0.1 -0.2 -0.3 -0.4 -0.5 -0.6 -0.7 -0.8 -0.9 -1 -1.1

0.4

0.5

0.6

0.7

0.8

0.9

1

5.5 等距节点插值法 5.5.1 向前牛顿插值法的基本原理 向前牛顿插值多项式可表示如下:
N ( x ) ? N ( x 0 ? th ) ?t ? ?t? 2 ?t? n ? f ( x 0 ) ? ? ? ? f ( x 0 ) ? ? ? ? f ( x 0 ) ? ... ? ? ? ? f ( x 0 ) ?1? ?2? ?n?

10

其中 h 叫做步长, h ?

x ?x
1

0

,且 t 的取值范围为 0 ? t ? n 。

5.5.2 向前牛顿插值法的 matlab 实现 建立 M 文件 Newtonforward.m: function f = Newtonforward(x,y,x0) %求已知数据点的向前差分牛顿插值多项式 %已知数据点的x 坐标向量:x %已知数据点的y 坐标向量:y %为插值点的x坐标:x0 %求得的向前差分牛顿插值多项式或x0处的插值:f syms t; if(length(x) == length(y)) n = length(x); c(1:n) = 0.0; else disp('x和y的维数不相等!'); return; %检错 end f = y(1); y1 = 0; xx =linspace(x(1),x(n),(x(2)-x(1))); if(xx ~= x) disp('节点之间不是等距的!'); return; end for(i=1:n-1) for(j=1:n-i) y1(j) = y(j+1)-y(j); end c(i) = y1(1); l = t; for(k=1:i-1) l = l*(t-k); end; f = f + c(i)*l/factorial(i); simplify(f); %化简 y = y1; if(i==n-1) if(nargin == 3) f = subs(f,'t',(x0-x(1))/(x(2)-x(1))); else f = collect(f); %将插值多项式展开 f = vpa(f,8); %将插值多项式的系数化成8位精度的小数
11

end end end 在 matlab 工作窗口输入如下程序: x=[0.4 0.5 0.6 0.7 0.8]; y=[-0.916291 -0.693147 -0.510826 -0.357765 -0.223144]; f= Newtonforward (x,y) 运行的结果为 f = - 0.000030958333*t^4 + 0.0021129167*t^3 - 0.026533542*t^2 + 0.24759558*t - 0.916291 再次输入 f= Newtonforward (x,y,0.53) 结果为 f= -0.6348783

在 matlab 命令窗口中输入: x=[0.4 0.5 0.6 0.7 0.8]; y=[-0.916291 -0.693147 -0.510826 -0.357765 -0.223144]; f= Newtonforward(x,y) t=[0.4:0.01:0.8]; yy1=Newtonforward(x,y,t); plot(x,y,'ro',t,yy1, ':< ') title('图 5-5-1 向前牛顿插值法')

回车后得到如图所示结果

12

图 5-5-1 向 前 牛 顿 插 值 法 -0.2 -0.3 -0.4 -0.5 -0.6 -0.7 -0.8 -0.9 -1 0.4

0.45

0.5

0.55

0.6

0.65

0.7

0.75

0.8

5.5.3 向后牛顿插值法的基本原理 向后牛顿插值多项式可表示如下:
N ( x ) ? N ( x 0 ? th ) ?t? ? t ? 1? 2 ? t ? n ? 1? n ? f ( x n) ? ? ? ? f ( x n) ? ? ? ? f ( x n ) ? ... ? ? ? ? f ( x n) n ?1? ? 2 ? ? ?

其中 h 叫做步长, h ?

x ?x
1

0

,且 t 的取值范围为 ? n ? t ? 0 。

5.5.4 向后牛顿插值法的 matlab 实现 建立 M 文件 Newtonback.m: function f = Newtonback(x,y,x0) %求已知数据点的向后差分牛顿插值多项式 %已知数据点的x 坐标向量:x %已知数据点的y 坐标向量:y %为插值点的x坐标:x0 %求得的向前差分牛顿插值多项式或x0处的插值:f syms t; if(length(x) == length(y)) n = length(x); c(1:n) = 0.0; else disp('x和y的维数不相等!');
13

return; end f = y(n); y1 = 0; xx =linspace(x(1),x(n),(x(2)-x(1))); if(xx ~= x) disp('节点之间不是等距的!'); return; %检错 end for(i=1:n-1) for(j=i+1:n) y1(j) = y(j)-y(j-1); end c(i) = y1(n); l = t; for(k=1:i-1) l = l*(t+k); end; f = f + c(i)*l/factorial(i); simplify(f); %化简 y = y1; if(i==n-1) if(nargin == 3) f = subs(f,'t',(x0-x(n))/(x(2)-x(1))); else f = collect(f); %将插值多项式展开 f = vpa(f,8); %将插值多项式的系数化成8位精度的小数 end end end 在 matlab 工作窗口输入: x=[0.4 0.5 0.6 0.7 0.8]; y=[-0.916291 -0.693147 -0.510826 -0.357765 -0.223144]; f= Newtonback (x,y) 运行的结果为 f = - 0.000030958333*t^4 + 0.0016175833*t^3 - 0.0041505417*t^2 + 0.12882192*t - 0.223144 再次输入 f= Newtonback (x,y,0.53)

14

结果为

f= -0.6347048

在 matlab 命令窗口中输入: x=[0.4 0.5 0.6 0.7 0.8]; y=[-0.916291 -0.693147 -0.510826 -0.357765 -0.223144]; f= Newtonback (x,y) t=[0.4:0.01:0.8]; yy1=Newtonback (x,y,t); plot(x,y,'mo',t,yy1, ':x ') title('图 5-5-2 向后牛顿插值法')

回车后得到如图所示结果
图 5-5-2 向 后 牛 顿 插 值 法 -0.2 -0.3 -0.4 -0.5 -0.6 -0.7 -0.8 -0.9 -1 0.4

0.45

0.5

0.55

0.6

0.65

0.7

0.75

0.8

5.6 Hermite 插值法 5.6.1 Hermite 插值法的基本原理 Hermite 插值满足在节点上等于给定函数值,而且在节点上的导数值也等于 给定导数值。对于高阶导数情况,Hermite 插值多项式比较复杂,在实际中,常 遇到的是函数值与一阶导数给定的情况。在此情况下,n 个节点 x1,x2,…,xn 的 Hermite 插值多项式的表达式如下:

15

H ( x) ?

? h [( x
i ?1 i

n

i

? x )( 2 a i y ?
i

y )? y ]
i i

其中 y ? y ( x i ) , y ?
i

'

i

? x? x j ? (x ) ,h ? ? ? y ? xi? x j ? ?
'
n

2

i

i

i

j ?1 j?i

,ai ?

?

n

1

j ?1 j?i

x ?x
i


j

5.6.2 Hermite 插值法的 matlab 实现 建立 M 文件 Hermite.m: function f = Hermite(x,y,y_1,x0) %已知数据点的x 坐标向量:x %已知数据点的y 坐标向量:y %已知数据点的导数向量:y_1 %求得的Hermite插值多项式或x0处的插值:f syms t; f = 0.0; if(length(x) == length(y)) if(length(y) == length(y_1)) n = length(x); else disp('y和y的导数的维数不相等!'); return; end else disp('x和y的维数不相等!'); return; end for i=1:n h = 1.0; a = 0.0; for j=1:n if( j ~= i) h = h*(t-x(j))^2/((x(i)-x(j))^2); a = a + 1/(x(i)-x(j)); end end f = f + h*((x(i)-t)*(2*a*y(i)-y_1(i))+y(i)); if(i==n) if(nargin == 4) f = subs(f,'t',x0); else
16

f = vpa(f,8); %将插值多项式的系数化成8位精度的小数 end end end 在 matlab 工作窗口输入: x=[0.4 0.5 0.6 0.7 0.8]; y=[-0.916291 -0.693147 -0.510826 -0.357765 -0.223144]; y_1=[5/2 2 5/3 10/7 5/4]; f= Hermite (x,y, y_1) 运行的结果为 f = 6250000.0*(1.6666667*t - 1.510826)*(t - 0.4)^2*(t - 0.8)^2*(t - 0.7)^2*(t 0.5)^2 + 173611.11*(10.547667*t - 8.6612773)*(t - 0.4)^2*(t - 0.7)^2*(t - 0.6)^2*(t 0.5)^2 + 2777777.8*(7.3913214*t - 5.53169)*(t - 0.4)^2*(t - 0.8)^2*(t - 0.6)^2*(t 0.5)^2 - 173611.11*(35.678792*t - 13.355226)*(t - 0.8)^2*(t - 0.7)^2*(t - 0.6)^2*(t 0.5)^2 - 2777777.8*(9.55245*t - 4.083078)*(t - 0.4)^2*(t - 0.8)^2*(t - 0.7)^2*(t 0.6)^2 再次输入 f= Hermite (x,y, y_1,0.53) 结果为 f= -0.6349413

在 matlab 命令窗口中输入: x=[0.4 0.5 0.6 0.7 0.8]; y=[-0.916291 -0.693147 -0.510826 -0.357765 -0.223144]; y_1=[5/2 2 5/3 10/7 5/4]; f= Hermite (x,y,y_1) t=[0.4:0.01:0.8]; yy1=Hermite(x,y,y_1,t); plot(x,y,'o',t,yy1) title('图 5-6 Hermite 插值') 回车后得到如图所示结果

17

图 5-6 Hermite插 值 -0.2 -0.3 -0.4 -0.5 -0.6 -0.7 -0.8 -0.9 -1 0.4

0.45

0.5

0.55

0.6

0.65

0.7

0.75

0.8

5.7 分段低次插值法 5.7.1 分段线性插值 在 matlab 命令窗口中输入: x=[0.4 0.5 0.6 0.7 0.8]; y=[-0.916291 -0.693147 -0.510826 -0.357765 -0.223144]; xi=0.53; yi=interp1(x,y,xi,'linear') 结果为 yi =-0.63845070

在 matlab 命令窗口中输入: x=[0.4 0.5 0.6 0.7 0.8]; y=[-0.916291 -0.693147 -0.510826 -0.357765 -0.223144]; xi=0.4:0.1:0.8; yi=interp1(x,y,xi,'linear'); plot(x,y,'ro',x,yi); title('图 5-7 分段线性插值法')

回车后得到如图所示结果

18

图 5-7 分 段 线 性 插 值 法 -0.2 -0.3 -0.4 -0.5 -0.6 -0.7 -0.8 -0.9 -1 0.4

0.45

0.5

0.55

0.6

0.65

0.7

0.75

0.8

6 问题讨论与分析 ln0.53=-0.634878272435970 表 5-8 插值方法 线性插值 抛物插值 拉格朗日插值 逐次线性插值 牛顿插值 向前牛顿插值 向后牛顿插值 Hermite 插值 分段线性插值 不同插值方法的比较 近似值 -0.626203800000000 -0.634164285000002 -0.634704769262499 -0.634704769262500 -0.634704769262500 -0.634704769262500 -0.634704769262500 -0.634941280820591 -0.638450700000000 误差 0.008674472 7.1399e-004 1.7350e-004 1.7350e-004 1.7350e-004 1.7350e-004 1.7350e-004 6.3008e-005 0.003572427

通过上表,可以看出 Hermite 插值效果最好,精度最高,线性插值、抛物插 值、分段线性插值效果最差,误差较大。另外拉格朗日插值、逐次线性插值、牛 顿插值、向前牛顿插值与向后牛顿插值效果基本相同,精度较高。其中牛顿插值
19

法是一种利用均差构造插值多项式的方法,n 次牛顿插值多项式与 n 次拉格朗日 插值多项式是恒等关系,只是表现的形式不同而已。Hermite 插值是一种带导数 信息的插值方法,插值效果好,插值条件要求较高。而关于等距节点插值法,当 插值点 x 接近数据表头时一般用向前牛顿插值法, 当插值点 x 接近数据表头时一 般用向后牛顿插值法。 7 结束语 通过本次数值分析的课程实习,使我更加深入的了解了函数的各种插值方 法,并利用 matlab 实现的过程。通过每天的学习与查阅资料,让我知晓到了很 多书本上没有的知识。我也懂得应该如何把在书本上学到的理论知识,利用 matlab 去实现。但在这段时间里,我也遇到了很多难题,也许在 matlab 中一个 小符号,小标点就让我几欲发狂,觉得自己的动手能力还是有待提高。另外,耐 心的去做一件事,我相信总会收获很多。

20

参考文献 [1]姜健飞、胡良剑、唐俭.《数值分析及其 MATLAB 实验》 .上海:科学出版社, 2004 [2]张德丰.《matlab 数值计算方法》.北京:机械工业出版社,2010 [3]张圣勤.《MATLAB7.0 实用教程》.北京:机械工业出版社,2004 [4]刘卫国.《MATLAB 程序设计与应用第二版》.北京:高等教育出版社,2006

21


赞助商链接
相关文章:
数值分析实验报告二插值
实验报告 姓名 评分 郭飞 实验报告 课程名称: 课题名称: 专姓班业: 名: 级: 数值分析 比较不同插值方法的稳定性及运算量 勘查技术与工程 郭飞 061132 班 ...
数值分析实验报告:拉格朗日插值法和牛顿插值法
数值分析实验报告:拉格朗日插值法和牛顿插值法_数学_自然科学_专业资料。数值分析实验报告:拉格朗日插值法和牛顿插值法 实验一报告拉格朗日插值法一、实验目的 1、学习...
数值分析常用的插值方法
数值分析常用的插值方法_数学_自然科学_专业资料。数值分析 报告 班专 级: 业: 流水号: 学姓号: 名: 常用的插值方法序言 在离散数据的基础上补插连续函数,使得...
高等数值分析_插值法报告
高等数值分析_插值法报告_数学_自然科学_专业资料。高等数值分析,插值法 南京理工大学 课程考核论文课程名称:高等数值分析 论文题目:基于 matlab 的函数插值方法性能...
数值分析插值报告
数值分析插值报告_调查/报告_表格/模板_应用文书。目录第1章 1.1 1.2 1.3...? an xn 其中 ai 为实数, 就称 P( x) 为插值多项式, 相应的插值法称为...
数值分析实验报告-插值、逼近
数值分析实验报告-插值、逼近_理学_高等教育_教育...试画出拟合曲线并打印出方程,与第二章计算实习题 ...乘法 n=4 的结果 5 / 10 数值分析实验报告 1 ...
数值分析实习作业之插值法
关键词:插值法数值分析 同系列文档 法学专业调查报告 法学专业社会调查报告写作....北京化工大学数值分析实习作业,插值法北京化工大学数值分析实习作业,插值法隐藏>>...
数值分析课程实验报告-拉格朗日和牛顿插值法
数值分析》课程实验报告 用拉格朗日和牛顿插值法求解函数值 算法名称 用拉格朗日和牛顿插值法求函数值 学科专业 机械工程 作者姓名 作者学号 作者班级 程习康 ...
数值分析 插值法
第二章 插值法在科学研究与工程技术中,常常遇到这样的问题:由实验或测量得到...并且还把样条函数 引进到数值分析的各个领域中去,而这种应用取得惊人的效果。这样...
数值分析拉格朗日插值法上机实验报告
数值分析拉格朗日插值法上机实验报告_数学_自然科学_专业资料。课题一: 拉格朗日插值法 1.实验目的 1.学习和掌握拉格朗日插值多项式。 2.运用拉格朗日插值多项式进行...
更多相关标签: