数值分析 课程实验指导书
实验一 函数插值方法
一、问题提出
对 于 给 定 的 一 元 函 数
j
Lagrange 公式求其插值多项式或分段二次 Lagrange 插值多项式。
数据如下:
的 n+1 个 节 点 值
)(xf
(
f x
y
),
y
j
j
。 试 用
0,1,
n
,
(1)
jx
jy
0.4
0.55
0.65
0.80
0.95
1.05
0.41075
0.57815
0.69675
0.90
1.00
1.25382
求五次 Lagrange 多项式 5L ( )x ,和分段三次插值多项式,计算 (0.596)
的值。(提示:结果为 (0.596) 0.625732
)
f
(0.99) 1.05423
,
f
f
, (0.99)
f
(2)
jx
jy
1
2
3
4
5
6
7
0.368
0.135
0.050
0.018
0.007
0.002
0.001
试 构 造 Lagrange 多 项 式 6L ( )x , 计 算 的 (1.8)
f
(6.15) 0.001266
(1.8) 0.164762
)
,
f
f
,
f
(6.15)
值 。( 提 示 : 结 果 为
二、要求
1、 利用 Lagrange 插值公式
( )
L x
n
n
n
k
0
i
0,
i k
x
x
k
x
i
x
i
y
k
编写出插值多项式程序;
2、 给出插值多项式或分段三次插值多项式的表达式;
3、 根据节点选取原则,对问题(2)用三点插值或二点插值,其结果如何;
4、 对此插值问题用 Newton 插值多项式其结果如何。Newton 插值多项式如下:
( )
N x
n
(
f x
0
)
[
f x
,
,
x
]
k
0
(
x x
)
j
n
1
k
,
,
x
其中:
[
f x
0
k
1
0,
j k
j
(
)
f x
i
(
x
i
x
)
j
]
k
k
i
0
k
j
0,
j
i
三、目的和意义
1、 学会常用的插值方法,求函数的近似表达式,以解决其它实际问题;
2、 明确插值多项式和分段插值多项式各自的优缺点;
3、 熟悉插值方法的程序编制;
4、 如果绘出插值函数的曲线,观察其光滑性。
四、实验学时:2 学时
五、实验步骤:
1.进入 C 或 Fortran 开发环境;
2.根据实验内容和要求编写程序;
3.调试程序;
4.运行程序;
5.生成报告
实验二 函数逼近与曲线拟合
一、问题提出
从随机的数据中找出其规律性,给出其近似表达式的问题,在生产实践和科学实验中
大量存在,通常利用数据的最小二乘法求得拟合曲线。
在某冶炼过程中,根据统计数据的含碳量与时间关系,试求含碳量与时间 t的拟合曲
线。
t(分)
y
4
( 10 )
0
0
5
10
15
20
25
30
35
40
45
50
55
1.27
2.16
2.86
3.44
3.87
4.15
4.37
4.51
4.58
4.02
4.64
二、要求
1、用最小二乘法进行曲线拟合;
( )t
3
2、近似解析表达式为
3、打印出拟合函数 ( )t ,并打印出 (
4、另外选取一个近似表达式,尝试拟合效果的比较;
5、* 绘制出曲线拟合图。
a t a t
;
2
1
)jy t 的误差, 1,2,
)jt 与 (
a t
3
2
j ;
,12
三、目的和意义
1、掌握曲线拟合的最小二乘法;
2、最小二乘法亦可用于解超定线代数方程组;
3、探索拟合函数的选择与拟合精度间的关系。
四、实验学时:2 学时
五、实验步骤:
1.进入 C 或 Fortran 开发环境;
2.根据实验内容和要求编写程序;
3.调试程序;
4.运行程序;
5.生成报告
实验三 数值积分与数值微分
一、问题提出
选用复合梯形公式,复合 Simpson 公式,Romberg 算法,计算
(1)
I=
4-sin
2
xdx I
(
1.5343916)
(2)
I=
(0) 1,
I
0.9460831)
1/4
0
1
0
xdx f
(
1
sin
x
xe
x
4
ln(1
1
x
0
1
2
0
dx
)
x dx
2
(3)
(4)
I=
I=
二、要求
1、 编制数值积分算法的程序;
2、 分别用两种算法计算同一个积分,并比较其结果;
3、 分别取不同步长 (
4、 给定精度要求ε,试用变步长算法,确定最佳步长。
) /
b a n
h
,试比较计算结果(如 n = 10, 20 等);
三、目的和意义
1、 深刻认识数值积分法的意义;
2、 明确数值积分精度与步长的关系;
3、 根据定积分的计算方法,可以考虑二重积分的计算问题。
四、实验学时:2 学时
五、实验步骤:
1.进入 C 或 Fortran 开发环境;
2.根据实验内容和要求编写程序;
3.调试程序;
4.运行程序;
5.生成报告
实验四 线方程组的直接解法
一、问题提出
给出下列几个不同类型的线性方程组,请用适当算法计算其解。
1、 设线性方程组
3
5
2
1
6
8
1
11
2
1
2
4
6
8
2
4
2
0
2
4
8
6
2
0
16 10
6
4
0
0
1
2
6
3
3
1
1
5
6
1
7
5
4
3
9 17
7 13
8
3
1
5
2
3
7
17
2
34
9
24
0
0
1
1
3
2
5
2
2
8
0
1
0
1
3
6
3
1
0
6
0
0
3
9
2
3
0
2
12
3
0
0
1
4
3
5
1
2
4
1
x
1
x
2
x
3
x
4
x
5
x
6
x
7
x
8
x
9
x
10
5
12
3
2
3
46
13
38
19
21
x
(1, 1,0,1,2,0,3,1, 1,2)T
2、 设对称正定阵系数阵线方程组
4
2
4
0
2
4
0
0
x
2
1
8
1
22
4
10
3
(1, 1,0,2,1, 1,0,2)T
4
2
2
1
1 14
2
1
8
1
3
3
2
5
0
6
0
2
1
6
1
4
3
3
4
3
3
4
4
11
1
4
0
2
5
3
10
1
14
2
0
0
6
3
3
4
2
19
x
1
x
2
x
3
x
4
x
5
x
6
x
7
x
8
0
6
20
23
9
22
15
45
3、 三对角形线性方程组
1
4
1
0
0
0
0
0
0
0
0
1
4
1
0
0
0
0
0
0
4
1
0
0
0
0
0
0
0
0
*
x
(2,1, 3,0,1, 2,3,0,1, 1) T
0
0
0
1
4
1
0
0
0
0
0
0
1
4
1
0
0
0
0
0
0
0
0
0
1
4
1
0
0
0
0
0
0
0
0
1
4
1
0
0
0
0
0
0
0
0
1
4
1
0
0
0
0
0
0
0
0
1
4
1
0
0
0
0
0
0
0
0
1
4
x
1
x
2
x
3
x
4
x
5
x
6
x
7
x
8
x
9
x
10
7
5
13
2
6
12
14
4
5
5
二、要求
1、 对上述三个方程组分别利用 Gauss 顺序消去法与 Gauss 列主元消去法;平方根法
与改进平方根法;追赶法求解(选择其一);
2、 应用结构程序设计编出通用程序;
3、 比较计算结果,分析数值解误差的原因;
4、 尽可能利用相应模块输出系数矩阵的三角分解式。
三、目的和意义
1、通过该课题的实验,体会模块化结构程序设计方法的优点;
2、运用所学的计算方法,解决各类线性方程组的直接算法;
3、提高分析和解决问题的能力,做到学以致用;
4、 通过三对角形线性方程组的解法,体会稀疏线性方程组解法的特点。
四、实验学时:2 学时
五、实验步骤:
1.进入 C 或 Fortran 开发环境;
2.根据实验内容和要求编写程序;
3.调试程序;
4.运行程序;
5.生成报告
实验五 解线性方程组的迭代法
一、问题提出
对实验四所列目的和意义的线性方程组,试分别选用 Jacobi 迭代法,Gauss-Seidel
迭代法和 SOR 方法计算其解。
二、要求
1、体会迭代法求解线性方程组,并能与消去法做以比较;
2、分别对不同精度要求,如
3、对方程组 2,3 使用 SOR 方法时,选取松弛因子ω=0.8,0.9,1,1.1,1.2 等,试看
由迭代次数体会该迭代法的收敛快慢;
3
10 ,10 ,10
4
5
对算法收敛性的影响,并能找出你所选用的松弛因子的最佳者;
4、给出各种算法的设计程序和计算结果。
三、目的和意义
1、通过上机计算体会迭代法求解线性方程组的特点,并能和消去法比较;
2、运用所学的迭代法算法,解决各类线性方程组,编出算法程序;
3、体会上机计算时,终止步骤 (
x
1)
x
k
k
或 k >(予给的迭代次数),对迭代法敛
散性的意义;
4、 体会初始解 0x ,松弛因子的选取,对计算结果的影响。
四、实验学时:2 学时
五、实验步骤:
1.进入 C 或 Fortran 开发环境;
2.根据实验内容和要求编写程序;
3.调试程序;
4.运行程序;
5.生成报告
实验六 非线性方程求根
3
x
3
1.8793,
设方程
*
x
3
有三个实根 *
1 0
x
1
一、问题提出
( )
x
f x
现采用下面六种不同计算格式,求 f(x)=0 的根 *
1.53209
1x
3
2
x
3 1
3
3 3
x
1、
2、
3、
*
x
2
1
x
x
x
x
0.34727,
1x 或 *
2x
4、
x
x
5、
x
2
1
3
13
x
1
x
3
(
x
6、
x
二、要求
3
3
x
2
1
x
1
)
1、编制一个程序进行运算,最后打印出每种迭代格式的敛散情况;
2、用事后误差估计 1k
3、初始值的选取对迭代收敛有何影响;
4、分析迭代收敛和发散的原因。
来控制迭代次数,并且打印出迭代的次数;
x
k
x
三、目的和意义
1、通过实验进一步了解方程求根的算法;
2、认识选择计算格式的重要性;
3、掌握迭代算法和精度控制;
4、明确迭代收敛性与初值选取的关系。
四、实验学时:2 学时
五、实验步骤:
1.进入 C 或 Fortran 开发环境;
2.根据实验内容和要求编写程序;
3.调试程序;
4.运行程序;
5.生成报告
实验七 矩阵特征值问题计算
一、问题提出
利用冪法或反冪法,求方阵
A
(
)ij n n
a
的按模最大或按模最小特征值及其对应的特征
向量。
设矩阵 A 的特征分布为:
1
3
试求下列矩阵之一
2
1n
n
Ax
且 j
x
j
j
(1)
结果 1
(2)
5
A
x
1
10
求 1,及 1x
1
2
1
取 (0)
6.42106,
4
2
7
3
1
8
取 (0)
1
2
1
4
1
6
T
(1,1,1) ,
( 0.046152, 0.374908,1) T
1 8
2 7 3
7
4
1 1
5
5
3
7 2
1
5
1
1
2 6
2
3
3 5
4
4
7
2
5 1
T
10
(1,0,1,0,0,1) ,
, 及 1x
求 1
A
5
6
1.62139,
(0.8724,0.5401,0.9973,0 .5644,0.4972,1.0)T
求 1及 1x
结果:
1
21.30525,
6
1
2
1
2
1
A
(3)
T
(1,1,1,1,1) ,
取 (0)
结果 3.7321
1
2
1
10
1
2
1
4
x
1
1
2
(4)
A
2
1
3
4
0
1
3
1
3
1
6
2
5
T1,1,1,1
4
5
2
1
210
取
这是一个收敛很慢的例子,迭代1200 次才达到
.0,
02857835
501460
.2,1
1
.8
x
1
结果
510
757730
.2,
564212
T
(5)
A
1
2
1
2
4
1
1
1
6