数值分析习题
殷俊锋
2010 年 12 月 26 日
1. 已知
数
:
x 1.1275 1.1503 1.1735 1.1972
f(x) 0.1191 0.1395 0.1593 0.1790
应用拉格朗日插值公式计算f(1.1300)的近似值(保留四位有效数字)。
2. 分别用复合梯形公式(n = 8)和复合辛普森公式(n = 4)计算∫ 10 x4+x2dx。
3. 用矩阵三角分解法求下列方程组
1 2 3
2 5 2
3 1 5
x1
x2
x3
14
18
20
4. 设方程组
x1 + 2x2 − 2x3 = 1
x1 + x2 + x3 = 3
2x1 + 2x2 + x3 = 5
取初始向量x0 = (0, 0, 0)T,建立Jacobi迭代
并求解(保留三位有效数字)。
5. 用牛顿法求x3 − 3x− 1 = 0在x0 = 2附近的根(准确到小数点后三位)。
6. 试用最小二乘法求形如y = aebx的经验公式,使它与下列数据相拟合(保留三位有效
数字)。
xi 1 2 3 4 5 6 7 8
yi 15.3 20.5 27.4 36.6 49.1 65.6 87.8 117.6
7. 已知函数f(x) = sinpix2 ,给出该函数在点0,0.5,1,1.5,2上的二次最小二乘拟合多项式。
1
8. 给出参数α,使其代数精度达到最高,并指明代数精度。∫ b
a
f(x)dx =
b− a
2
(f(a) + f(b)) + α(f ′(a)− f ′(b))
9. 写出方程组的Jacobi迭代格式,并说明它是否收敛。
2 1 0
1 3 2
−1 2 3
x1
x2
x3
=
1
2
−3
10. 已知微分方程初值问题如下:{
dy
dx = cosy + logx
y(1) = 2, 1 ≤ x ≤ 3
(1)利用Matlab函数求出该微分方程初值问题的数值解,并画出其函数图像。
(2)利用上面小题的计算结果,求函数y = y(x)在区间[1, 3]上复合梯形积分的积分值。
11. 编写一个Gauss-Seidel迭代方法求解下面线性代数方程组Ax = b的解,矩阵的维数由
命令行输入:
Aij =
{
i2, i = j
1
i+j−1 i 6= j
bj = lnj, 1 ≤ i, j ≤ n
要求程序设置最大迭代步数以及控制精度。
12. 设A =
3 2 1
2 2 1
1 1 1
, b =
3
2
2
将A进行Cholesky分解,并由此求解线性方程组Ax = b。
13. 对线性方程组
2x1 − x2 + x4 = 1
x1 − x3 + 5x4 = 6
x2 + 4x3 − x4 = 8
−x1 + 3x2 − x3 = 3
设法导出使Jacobi迭代和Gauss-Seidel迭代收敛的格式,并说明理由。
14. 确定系数a,b,c,d,使得下列函数
s(x) =
{
3(x− 1) + 2(x− 1)2 − (x− 1)3, 1 ≤ x < 2
a+ b(x− 2) + c(x− 2)2 + d(x− 2)3, 2 ≤ x ≤ 3
是一个三次样条,且∫ 31 [f ′′(x)]2dx最小。
2
x 0 0.2 0.4 0.6 0.8 1.0 1.2
y 0.9 1.9 2.8 3.3 4.0 5.7 6.5
15. 求拟合下列数据的线性最小二乘多项式解。
16. 确定下列带权求积公式中的系数A,B,使其代数精度最高,并指明代数精度。∫ 1
0
f(x)
√
xdx ≈ Af(0.289949) +Bf(0.821162)
并用上述公式近似计算积分∫ 10 e−x2√xdx。
17. 推导下列数值微分公式,
f
′′
(x) ≈ 1
2h
[4f(x+ h)− 3f(x)− f(x+ 2h)]
并证明它的误差项为13h2f (3)(ξ)。
18. 以下面的函数头完成牛顿法求方程的根的程序:
function [x,it]=newton(f,g,x0,tol)
其中:f为非线性方程所对应的函数,g为f的一阶导数,x0为迭代初始值,tol为
允许精度。并编写一段调用程序来求解f(x) = x2+2xex+ e2x在[1, 2]内的一个根,要求
初始值取x0 = 1,迭代精度控制|xk − xk−1| < 10−6。
19. 以下面的函数头完成4阶Runge-Kutta方法解常微分方程初值问题的程序:
function [x,y]=oderk4(f,a,b,h)
其中:f为常微分方程的右端项,a, b为求解区间的左右端点,h为自变量的步长,x, y分
别是计算完成时的自变量取值和对应点上的函数值。编写一段调用程序,求解下列常
微分方程初值问题。步长h = 0.01{
dy
dx = xy
2, 0 ≤ x ≤ 1
y(0) = 1,
这里4阶Runge-Kutta方法的公式如下:
yn+1 = yn + 16(k1 + 2k2 + 2k3 + k4)
k1 = hf(xn, yn),
k2 = hf(xn + h2 , yn +
k1
2 ),
k3 = hf(xn + h2 , yn +
k2
2 ),
k4 = hf(xn + h, yn + k3),
3
20. 设A =
4 −3 3
3 2 −6
1 −5 3
, b =
4
7
3
将A进行LU分解,并由此求解线性方程组Ax = b。
21. 对线性方程组 {
3x1 − 10x2 = −7
9x1 − 4x2 = 5
(1)问用Jacobi迭代和Gauss-Seidel迭代求解此方程组是否收敛,并说明理由。
(2)设法导出使Jacobi迭代和Gauss-Seidel迭代收敛的格式,要求分别写出格式,并说明
理由。
22. 确定系数a,b,c,d,使得下列函数
s(x) =
{
3(x− 1) + 2(x− 1)2 − (x− 1)3, 1 ≤ x < 2
a+ b(x− 2) + c(x− 2)2 + d(x− 2)3, 2 ≤ x ≤ 3
是一个三次样条,且s′(1) = s′(3)。
23. 求拟合下列数据的最小二乘三次多项式。
x -1 0 1 2 3
f(x) -3 -1 3 39 161
24. 确定下列带权求积公式中的系数A,B,使其代数精度最高,并指明代数精度。∫ 1
−1
f(x)
√
xdx ≈ Af(− 1√
3
) +Bf(
1√
3
)
并
(1)用上述公式近似计算积分∫ 10 e−x2√xdx。
(2)将[1, 1.5]分成两个区间,用它的复合求积公式近似计算积分∫ 151 e−xdx
25. 计算下列表达式中的A,B,C,
f
′
(x) ≈ Af(x0) +Bf(x1) + Cf(x2)
使得它对下列三个多项式能够精确成立:1, x−x1, (x−x1)3,其中x0 ≤ x1 ≤ x2, x1−x0 =
h, x2 − x1 = αh。
26. 以下面的函数头完成牛顿法求方程的根的程序:
function [x,it]=newton(f,g,x0,tol)
4
其中:f为非线性方程所对应的函数,g为f的一阶导数,x0为迭代初始值,tol为
允许精度,x是迭代完成时的解,it是迭代完成所需要的迭代次数。并编写一段调用程
序来求解f(x) = x3 + 2x2 + 10x− 20在[1, 2]内的一个根,要求初始值取x0 = 1,迭代精
度控制|xk − xk−1| < 10−6。
27. 以下面的函数头完成反幂法求实矩阵按模最小的特征值及其对应的特征向量的程序:
function [x,lam,it]=anpow(A,x0,tol)
其中:A为输入的矩阵,x0为初始迭代特征向量,tol为允许精度,x,lam,it分别是迭代
完成时的特征向量,特征值和所需要的迭代次数。并编写一段调用程序来求解下列矩
阵按模最小的特征值及其对应的特征向量
4 −1 1
−1 3 −2
1 −2 3
要求迭代精度控制||xk − xk−1||2 < 10−6。
5