没有合适的资源?快使用搜索试试~ 我知道了~
二元拉格朗日插值Fortran程序设计实验[整理].pdf
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 154 浏览量
2021-10-12
02:18:01
上传
评论
收藏 2.63MB PDF 举报
温馨提示
试读
16页
二元拉格朗日插值Fortran程序设计实验[整理].pdf
资源推荐
资源详情
资源评论
《程序设计》编程实验 XXX
0
二元拉格朗日插值
一 实验目的 - 程序功能
利用 FORTRAN 编程实现二元拉格朗日插值求解函数在给定点
的函数值。
设 已 知 插 值 节 点 ( xi,yi ) (i=1, , ,m,j=1, , ,n) 及 对 应 函 数 值
zij=f(xi,yi) (i=1, , ,m,j=1,, ,n),用拉格朗日插值法求函数在给定点
(x,y)处的对应函数值 z。
二 实验内容
1、 了解和学习 FORTRAN 程序语言,会编写一些小程序;
2、 学习和理解拉格朗日插值的原理及方法, 并拓展至二元拉格
朗日插值方法;
3、 利用 FORTRAN 编程实现二元拉格朗日插值法;
4、 举例进行求解,并对结果进行分析。
三 实验原理及方法
1、基本概念
已知函数 y=f(x) 在若干点
i
x
的函数值
i
y
=
i
xf
(i=0,1, ,n)一个
差值问题就是求一“简单”的函数 p(x):
p(
i
x )=
i
y
,i=0,1, ,n, (1)
则 p(x)为 f(x)的插值函数,而 f(x)为被插值函数会插值原函数,
0
x
,
1
x
,
2
x
,...,
n
x
为插值节点, 式(1)为插值条件, 如果对固定点
x
求 f(
x
)
数值解,我们称
x
为一个插值节点, f(
x
) p(
x
)称为
x
点的插值,当
x
[min(
0
x
,
1
x
,
2
x
,...,
n
x
),max(
0
x
,
1
x
,
2
x
,...,
n
x
)]时,称为内插,
否则称为外插式外推,特别地,当 p(x)为不超过 n 次多项式时称为 n
阶 Lagrange插值。
《程序设计》编程实验 XXX
1
2、Lagrange 插值公式
2.1 线性插值
)1(
1
L
设已知
0
x
,
1
x
及
0
y
=f(
0
x
) ,
1
y
=f(
1
x
),
)(
1
xL
为不超过一次多项式且
满足
)(
01
xL
=
0
y
,
)(
11
xL
=
1
y
,几何上,
)(
1
xL
为过(
0
x
,
0
y
),(
1
x
,
1
y
)的直
线,从而得到
)(
1
xL =
0
y +
01
01
xx
yy
(x-
0
x
). (2)
为了推广到高阶问题,我们将式( 2)变成对称式
)(
1
xL =
0
l (x)
0
y +
1
l (x)
1
y .
(3)
其中,
0
l
(x)=
10
1
xx
xx
,
1
l
(x)=
01
0
xx
xx
。
均为 1 次多项式且满足
0
l
(
0
x
)=1 且
1
l
(
0
x
)=0;
0
l
(
1
x
)=0 且
1
l
(
1
x
)=1。
两关系式可统一写成
i
1
( )
0
i
l x
2.2 n 阶 Lagrange插值
)(xL
n
设已知
0
x
,
1
x
,
2
x
,...,
n
x
及
i
y
=f(
i
x
)(i=0,1,.....,n),
)( xL
n
为不超过 n
次多项式且满足
iin
yxL )(
(i=0,1,...n).
易知
0 0
0
( ) ( ) ( ) ( )
n
n n n i i
L x l x y l x y l x y
其中,
)( xl
i
均为 n 次多项式且满足式(4)(i,j=0,1,...,n),再由
j
x
(j
i)
为 n 次多项式
)(xl
i
的 n 个根,知
)( xl
i
=c
n
ii
j
j
xx
0
.最后,由
(4)
i j( )
i j( )
(5)
《程序设计》编程实验 XXX
2
1)()(
0
n
ij
j
jiji
xxcxl
c=
n
ij
j
ji
xx
0
)(
1
,i=0,1,...,n.
总之得到:
0
( ) ( )
n
n i i
i
L x l x y
0
( ) .
n
j
i
j
i j
j i
x x
l x
x x
(6)式为 n 阶 Lagrange插值公式,其中,
)(xl
i
(i=0,1,, ,n)称为 n
阶 Lagrange插值的基函数。
3 二元拉格朗日插值方法
对于一元函数 y=f(x) ,得到 n+1 个数据点(
i
x
,
i
y
)(i=0,1,, ,n),
可由(6)、(7)式求得 n 阶 Lagrange插值公式,然后求函数在 y=f(x)
在 x 点的函数值。
对于二元函数
( , )z f x y
,若知道数据点
,
( , )
i j i j
z f x y
(i=1,, ,m,j=1,, ,n),可利用两次拉格朗日插值计算
( , )z f x y
在
点(x,y)的函数值,方法如下:
(1)对每个
i
x
( i=1,, ,m),以
j
y
( j=1,, ,n)为插值节点,
ij
z
( j=1,, ,n)为对应函数值, y 为插值变量,作一元函数插值得
i
u
( i=1,, ,m);
(2) 以
i
x
( i=1,, ,m)为插值节点,
i
u
( i=1,, ,m)为对应函数值,
x 为插值变量,作一元函数插值求得( x,y)点的值 z。
四 FORTRAN编程
(6)
(7)
《程序设计》编程实验 XXX
3
a) 开发环境
使用 Compaq Visual Fortran 6.6进行程序设计, 编程实现二元拉
格朗日插值算法。
b) 使用说明
先编出一元拉格朗日差值算法子程序 lagrange ,然后编写二元
拉格朗日插值算法程序 lagrange2, 其中两次调用 lagrange 子程
序。
Lagrange(xa,ya,n,x,y)
n 整型变量,输入参数,节点个数
xa n 个元素的一维实数型数组,输入参数,存放自变量插
值节点 xi (i=1,, ,n)
ya n 个元素的一维实数型数组,输入参数 , 存放函数值
(y
1
, , ,y
n
)
T
x 实型变量,输入参数,插值自变量
y 实型变量,输出参数,所求值
******************************************************
Lagrange2(x1a, x2a,ya,m,n,x1, x2,y)
m 整型变量,输入参数, x 自变量节点个数
n 整型变量,输入参数, y 自变量节点个数
x1a m 个元素的一维实数型数组,输入参数,存放 x 自变
量插值节点 xi (i=1,, ,m)
x2a n 个元素的一维实数型数组,输入参数,存放 y 自变
量插值节点 yj (j=1,, ,n)
x1 实型变量,输入参数,插值 x 自变量
x2 实型变量,输入参数,插值 y 自变量
剩余15页未读,继续阅读
资源评论
czq131452007
- 粉丝: 2
- 资源: 12万+
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功