线性代数方程组的数值解法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

线性代数方程组的数值解法

【实验目的】

1. 学会用MATLAB 软件数值求解线性代数方程组,对迭代法的收敛性和解的稳定性作初步分析;

2. 通过实例学习用线性代数方程组解决简化的实际问题。 【实验内容】 【题目1】

通过求解线性方程组11b x A =

和22b x A =,理解条件数的意义和方程组的性态对解

的影响。其中1A 是n 阶范德蒙矩阵,即

1A =⎥⎥⎥⎥

⎤⎢⎢⎢⎢⎢

⎣⎡------1121

1

112

111

2

00111n n n n n n x x x x x x x x x

,k x k 1.01+=,1, (1)

0-=n k 2A 是n 阶希尔伯特矩阵,1b ,2b 分别是1A ,2A 的行和。

(1)编程构造1A (2A 可直接用命令产生)和1b ,2b ;你能预先知道方程组1

1b x A =和22b x A =

的解吗?令n=5,用左除命令求解(用预先知道的解可检验程序)

。 (2)令n=5,7,9,…,计算1A ,2A 的条件数。为观察它们是否病态,做以下试验:1b ,2b 不变,1A 和2A 的元素),(1n n A ,),(2n n A 分别加扰动ε后求解;1A 和2A 不变,1b ,2b 的

分量)(1n b ,)(2n b 分别加扰动ε求解。分析A 和b 的微小扰动对解的影响。ε取1010-,810-,610-。

(3)经扰动得到的解记做x ~,计算误差

x

x x ~-,与用条件数估计的误差相比较。

1.1构造1A ,2A 和1b ,2b

首先令n=5,构造出1A ,2A 和1b ,2b 。首先运行以下程序,输出1A 。

运行以下程序对A1,A2求行和:

由于1b ,2b 分别是1A ,2A 的行和,所以可以预知T

x x )

1,,1,1(21 ==。 运行下列程序,用左除命令对1b ,2b 进行求解:

得到以下结果:

1.2 计算条件数并观察是否为病态

1. 不加扰动,计算条件数。 运行以下程序:

由此可知,A1,A2的条件数分别是 , 。 2.

1b ,2b 不变,),(1n n A ,),(2n n A 分别加扰动

(1)n=5时

设x11,x12,x13分别为A1添加扰动 , , 后的解。x21,x22,x23分别为A2添加扰动后的解。

运行以下程序,输出添加扰动后的解:

(2)n=7时 得到如下结果:

(3)n=9时

3.1A 和2A 不变,1b ,2b 的分量)(1n b ,)(2n b 分别加扰动

设x11,x12,x13分别为b1添加扰动 , , 后的解。x21,x22,x23分别为b2添加扰动后的解。

(1)n=5时

(1)n=5时

(2)n=7时

在A上与加在b上的结果近似相同,差别大致不超过1%。

同一方程扰动同一元素时,扰动越大,对结果的影响越大,而且在许多项上,解的变化

与扰动的大小有近似线性的关系。 对同一元素进行相同扰动时,第二个方程的解受到的影响更大。

另外,对于同一n 值,A2比A1更病态。n 越大,两个矩阵的病态都越大。

在n=9时与n=5,7时有较大的不同。尤其是在解的变化值不大于1时,没有明显的规律上的变化。与之前的值进行比较,在第一个方程中,解的变化并没有随着n 的增大而明显增大(与第二个方程相比)。 但不同的是,此时在第二个方程中,出现了很多变化值大于1的解的点,这些点的变化出现了新的规律:一方面,当扰动在A 时,扰动的大小不仅与解的变化没有线性关系,甚至不再有单调关系,扰动的增大不一定会引起解的变化;另一方面,扰动位于b 时,扰动的大小与解的变化仍有很好地线性关系,但此时系数已经较大。 由此可见, 的病态性不太严重,而 已经十分病态,并且在一些情况下,解的误差已经没有规律。

1.3 计算误差

1.

1b ,2b 不变,),(1n n A ,),(2n n A 分别加扰动

(1)n=5时

设w11,w12,w13分别为A1添加扰动 , , 后的解。w21,w22,w23分别为A2添加扰动后的解。

(3)n=9时

2.1A 和2A 不变,1b ,2b 的分量)(1n b ,)(2n b 分别加扰动

设x11,x12,x13分别为b1添加扰动 , , 后的解。x21,x22,x23分别为b2添加扰动后的解。

(1)n=5时

具有一个比较大的条件数,但实际误差并没有太大,仍然不太病态, 已经很病态。

【题目3】

已知方程组Ax=b ,其中A ,定义为

⎥⎥

⎥⎥⎥⎥⎥⎦

⎢⎢⎢⎢

⎢⎢

⎢⎣

⎡--------------=32/14

/12/132/14/14/12/132/14/14/12/132/14/12/13

A

试通过迭代法求解此方程组,认识迭代法收敛的含义以及迭代初值和方程组系数矩阵性

质对收敛速度的影响。实验要求:

(1)选取不同的初始向量x (0)和不同的方程组右端项向量b ,给定迭代误差要求,用雅可比迭代法和高斯-赛德尔迭代法计算,观测得到的迭代向量序列是否均收敛?若收敛,记录迭代次数,分析计算结果并得出你的结论;

(2)取定右端向量b 和初始向量x (0),将A 的主对角线元素成倍增长若干次,非主对角线元素不变,每次用雅可比迭代法计算,要求迭代误差满足 ,比较收敛速度,分析现象并得出你的结论。 3.1 程序代码

引用雅各比、高斯-赛德尔迭代法的函数,迭代求解。

相关文档
最新文档