线性代数方程组的数值解法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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 程序代码
引用雅各比、高斯-赛德尔迭代法的函数,迭代求解。