1
矩阵与数值分析上机实习
1. 考虑计算给定向量的范数:输入向量x = (x1; x2; · · · ; xn) ,输出 x 1, x 2, x 1。请
T
编制一个通用程序,并用你编制的程序计算如下向量的范数:
1 1 1 T
; y = (1; 2; · · · ; (Tx = 1; 2 ; 3 ; · · · ; n ) n) : 对n = 10,100,1000甚至更大的n计算其范数,你会发现什么结果?你能否修改你的程序使得计算结果相对精确呢?
ln(1+x)
2. 考虑y = f(x) = ,其中定义f(0) = 1,此时f(x)是连续函数。用此公式计算
x
1515
当x [?10 ; 10 ]时的函数值,画出图像。另一方面,考虑下面算法:
d = 1 + x
if d = 1 then y
= 1 else
y = ln d=(d ? 1) end if
1515
用此算法计算x [?10 ; 10 ]时的函数值,画出图像。比较一下发生了什么?
3. 首先编制一个利用秦九韶算法计算一个多项式在给定点的函数值的通用程序,你的程序包括输入多项式的系数以及给定点,输出函数值。利用你编制的程序计算
p(x) = (x ? 2) = x ? 18x + 144x ? 672x + 2016x ? 4032x + 5376x ? 4608x + 2304x ? 512
9
9
8
7
6
5
4
3
2
在x = 2邻域附近的值。画出p(x)在x [1:95; 20:5]上的图像。
4. 编制计算给定矩阵A的LU 分解和P LU 分解的通用程序,然后用你编制的程序完成下面两个计算任务:
(1) 考虑
0 0 1
· .. .. ?11 .. . . ·. ·.
A =
.. . . . .
...
1 1
1
1
.
0 1
1
. n n; 1 R
1
?
· · · ?
1
? · · · ? ?
n
自己取定x R,并计算b = Ax。然后用你编制的不选主元和列主元的Gauss消去法求解该方程组,记你计算出的解为x^。对n从5到30估计计算解的精度。
(2) 对n从5到30计算其逆矩阵。
2
5. 编制计算对称正定阵的Cholesky分解的通用程序,并用你编制的程序计算Ax = b,
n n1
其中A = (aij ) R,aij = 。b可以由你自己取定,对n从10到20验证程序的可靠性。
i+j 1 6. (1) 编制程序House(x),其作用是对输入的向量x,输出单位向量u使得(I?2uu )x = x e。 21
T
编制Householder变换阵H = I ? 2uu R(2) 的程 Tn n乘以A R
n m的程序HA,注意,你序并不显式的计算出H。 (3) 考虑矩阵
A =
1
2 3
3 √ 2
? 2 ? 10 ?1
4 √ 3
√
2 ?
2 e
;
3
7
0 2 7 5=2
用你编制的程序计算H使得HA的第一列为 e1的形式,并将HA的结果显示。
7. 用Jacobi和Gauss-Seidel迭代求解下面的方程组,输出迭代每一步的误差 xk ?x
:
5x1?x2 ? 3x3 = ?2
?
x1+ 2x2 + 4x3 = 1
?3x1+ 4x2 + 15x3 = 10
8. 取不同的初值用Newton迭代以及弦截法求方程x + 2x + 10x ? 100 = 0的实根,列表或者画图说明收敛速度。
x
9. 用二分法求方程e cos x + 2 = 0在区间[0; 4 ]上的所有根。
10. 考虑函数f(x) = sin( x),x [0; 1]。用等距节点作f(x)的Newton插值,画出插值多
32
项式以及f(x)的图像,观察收敛性。
11. 对函数f(x) = 1+x2 ,x [?5; 5],取不同的节点数n,用等距节点作lagrange插值,观察Runge现象。
12. 令f(x) = e cos( x),考虑积分0 f(x)dx。区间分为50,100,200,500,1000等,分 别用复合梯形以及复合Simpson积分公式计算积分值,将数值积分的结果与精确值比
3x
1∫
2
较,列表说明误差的收敛性。
13. 分别用2点,3点以及5点的Gauss型积分公式计算如下定积分:
1
2
x
? 14. 考虑微分方程初值问题:
(1) ∫ 1 √ 1 x
2 dx;
(2)
∫
2
sin x
0
x dx:
1
(ty ? y);
dx
dt
x(0) = 2:
=
2
(t+1)
2
分别用Euler法,改进的Euler法,Runge-Kutta法求解该方程。分别取步长为0:1,0:01,0:001,计算到x(1),画图说明结果。
3
要求:
1. 考试前提交作业(以Word形式提交结果,按照题目要求提交代码以及数值结果),主题写
\学号+姓名\,发送至邮箱:
张宏伟老师:zhuke 2015@163.com 孟兆良老师:xxdsh meng 2014@163.com 董波老师: matrixanalysis2015@163.com
程明松老师:mscheng19@163.com 2. 可用任何一种计算机语言编程