数值分析编程?

来源:百度知道 编辑:UC知道 时间:2024/05/19 11:24:32
求解一数值分析编程题,用mathematic软件写!
题目是清华第四版数值分析中的计算实习题第6题:
研究解线形方程组Ax=b迭代法收敛速度,A属于R^20*20为五对角矩阵
3 -1/2 -1/4
-1/2 3 -1/2 -1/4
-1/4 -1/2 3 -1/2 -1/4
A= … … … …
-1/4 -1/2 3 -1/2 -1/4
-1/4 -1/2 3 -1/2
-1/4 -1/2 3
实验要求:
(1)选取不同的初始变量X^(0)及右端项向量b,给定迭代误差要求,用雅可比迭代和高斯-塞德尔迭代法求解,观察得到序列是否收敛?
若收敛,记录迭代次数,分析计算结果并得出你的结论。
(2)用SOS迭代法求上述方程组的解,松弛系数w取1〈w〈2的不同值,在||x^(k)-x^(k+1)||<=10^(-5)时停止迭代,记录迭代次数。分析计算结果并得出你的结论。
用 MTLAB 也行 !

是这样的吗?

format rat
n=8 %n=20
A=zeros(n)+diag(3*ones(n,1),0)+diag(-1/2*ones(n-1,1),1)+diag(-1/4*ones(n-2,1),2)+diag(-1/2*ones(n-1,1),-1)+diag(-1/4*ones(n-2,1),-2)
%b=ones(n,1)
b=[1:n]'
x=A\b

结果:
n =

8

A =

3 -1/2 -1/4 0 0 0 0 0
-1/2 3 -1/2 -1/4 0 0 0 0
-1/4 -1/2 3 -1/2 -1/4 0 0 0
0 -1/4 -1/2 3 -1/2 -1/4 0 0
0 0 -1/4 -1/2 3 -1/2 -1/4 0
0 0 0 -1/4