数值代数实验2012
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数值代数实验
数值线性代数实验一
一、实验名称:矩阵的LU分解.
二、实验目的:用不选主元的LU分解和列主元LU分解求解线性方程组Ax=b, 并比较这
两种方法.
三、实验内容与要求
(1)用所熟悉的计算机语言将不选主元和列主元LU分解编成通用的子程序,然后用编写的程序求解下面的84阶方程组
将计算结果与方程组的精确解进行比较,并就此谈谈你对Gauss消去法的看法。
(2)写出追赶法求解三对角方程组的过程,并编写程序求该实验中的方程组
数值线性代数实验二
一、实验名称:实对称正定矩阵的A的Cholesky分解.
二、实验目的:用平方根法和改进的平方根方法求解线性方程组Ax=b.
三、实验内容与要求
用所熟悉的计算机语言将Cholesky分解和改进的Cholesky分解编成通用的子程序,然后用编写的程序求解对称正定方程组Ax=b,其中
(1)b随机的选取,系数矩阵为100阶矩阵
(2)系数矩阵为40阶Hilbert矩阵,即系数矩阵A的第i行第j列元素为
,向量b的第i个分量为
(3)用实验一的程序求解这两个方程组,并比较所有的计算结果,然后评价各个方法的优劣。
数值线性代数实验三
一、实验名称:矩阵A 的QR 分解
二、实验目的:应用改进的Gram —Schmidt 方法和Householder 变换的方法计算矩阵A 的
QR 分解. 其中),()(n m R a A n m ij ≥∈=⨯ rank A =n
三、实验内容与要求
输入:A 的各列),,1,],,[(,,,121n j a a a a a a T m j j j n ==
输出:Q 的各列元素(存放在A 的相应位置上)以及R 的元素
),,,,,1(n i j n i r ij ==
数值线性代数实验四
一、实验名称:用迭代法求解方程组及超松弛迭代和最佳松弛因子的确定.
二、实验目的:应用Jacobi 迭代法、Gauss -Seidel 迭代法和超松弛迭代方法求解线性
方程组 Ax=b, 并选择不同的松弛因子ω,观察松弛因子对松弛迭代法计算效果的影响.
三、实验内容与要求
将常微分方程22(0)0,(1)1d y dy a dx dx y y ε⎧+=⎪⎨⎪==⎩
(01a <<)离散化得到差分方程Ax=b ,取
10.5,100,a n h n
===,应用Jacobi 迭代法、Gauss -Seidel 迭代法和超松弛迭代方法求解线性方程组,分别取1,0.1,0.01,0.0001ε=,用SOR 迭代法计算对应的数值解,并与精确解进行比较. 写出这三种迭代法求解线性方程组的步骤,并对计算结果进行分析.
四、实验原理
将[0,1]区间n 等分,方程离散化得差分方程
211()(2)i i i h y h y y ah εεε+-+-++=
差分方程对应的系数矩阵和右端项分别为
20222(1)(1)(1)1(2)(2)(2)(2)()n n n n h h ah y h h ah A b h h ah h ah h y εεεεεεεεεεεε-⨯--⨯⎛⎫-++-⎛⎫ ⎪ ⎪-++ ⎪ ⎪ ⎪ ⎪==-+ ⎪ ⎪+ ⎪ ⎪ ⎪ ⎪-+-+⎝⎭⎝
⎭ 其中0(0),(1).n y y y y ==
SOR 迭代法的迭代矩阵和常数项分别为
11()[(1)],()B D L U D f D L b ωωωωωωω--=-+-=-
SOR 迭代法的迭代公式: 1k k y B y f ωω+=+
五、实验过程
利用Matlab 语言实现SOR 迭代公式的计算,分别对于1,0.1,0.01,0.0001ε=,松弛因子在(1,2)范围内,先按步长0.1搜索,在最少迭代步数附近按步长0.01再搜索. 算法终止准则:1410k k y y +--≤ 或者410k y y --≤或者迭代次数1000≥.
记录四种情况下的计算结果,并找出最佳松弛因子ω的值,并观察松弛因子ω与ε间的关系.