数值分析与实验_第1页
数值分析与实验_第2页
数值分析与实验_第3页
数值分析与实验_第4页
数值分析与实验_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1 / 12数值分析与实验论文关键词: 列主元高斯消去法 雅可比法 高斯赛德尔迭代法 幂法论文摘要:通过实例对线性方程组数值解法和矩阵的特征值及特向量的计算进行了探讨。在对线性方程组数值解法的讨论下用到了列主元高斯消去法、雅可比法和高斯赛德尔迭代法。正是高斯消去法在消元时存在一些必须的条件,才启发我们通过列主元高斯消去法来对线性方程组数值解法作进一步的研究,达到了很好的的效果。同时用雅可比法和高斯赛德尔迭代法对相类似的问题的探讨来比较它们的优劣,使我们在分析问题时能更好的把握方法。在求矩阵按模最大的特征值及对应特征向量时,用到了幂法,可以使现实中很多复杂的计算简单。第一章:线性方程组数值解法实验目的熟悉求解线性方程组的有关理论和方法 ;会编制列主元消去法,雅可比及高斯-赛德尔迭代法的程序 ;通过实际计算,进一步了解各种方法的优缺点,选择合适的数值方法。实验内容列主元高斯消去法求解线形方程组;2 / 12雅可比法和高斯赛德尔迭代法解方程组;题目:列主元高斯消去法求解线形方程组 方程组为: 列主元高斯消去法算法 将方程用增广矩阵 表示1) 消元过程对 k=1,2,.,n-1 1 选主元,找 使得 2 如果 则矩阵 A 奇异,程序结束;否则执行 33 如果 则交换第 k 行与第 行对应元素位置, j=k,n+14 消元,对 i=k+1,n 计算 对 j=k+1,n+1 计算 2) 回代过程1 若 则矩阵 A 奇异,程序结束;否则执行 22 ;对 i=n-1,2,1 计算 #include #include void ColPivot(float *c,int n,float x) int i,j,t,k;float p;for(i=0;i k=i;for(j=i+1;j 3 / 12if(fabs(*(c+j*(n+1)+i)(fabs(*(c+k*(n+1)+i)k=j;if(k!=i)for(j=i;j p=*(c+i*(n+1)+j);*(c+i*(n+1)+j)=*(c+k*(n+1)+j);*(c+k*(n+1)+j)=p;for(j=i+1;j p=(*(c+j*(n+1)+i)/(*(c+i*(n+1)+i);for(t=i;t for(i=n-1;i=0;i-)for(j=n-1;j=i+1;j-)(*(c+i*(n+1)+n)-=xj*(*(c+i*(n+1)+j);xi=*(c+i*(n+1)+n)/(*(c+i*(n+1)+i);void main()void ColPivot(float*,int,float);4 / 12int i;float x4;float c45=1,-1,2,-1,-8,2,-2,3,-3,-20,1,1,1,0,-2,1,-1,4,3,4,;ColPivot(c0,4,x);for(i=0;i 输出结果结果分析从输出结果可以得到 =-,=,=,=从结果和过程可以知道这种方法一般能保证舍入误差不扩散,这个方法基本上是稳定的。题目 雅可比法解方程组 方程组为: 雅可比迭代法算法设方程组 Ax=b 的系数矩阵的对角线元素,M 为迭代次数容许的最大值 为容许误差。1 取初始向量 令 k=0.5 / 122 对 i=1,2,n 计算 3 如果则输出结果;否则执行 44 如果则不收敛,终止程序;否则,转 2程 序#include #include #define eps 1e-6#define max 100void Jacobi(float *a,int n,float x)int i,j,k=0;float epsilon,s;float *y= new float n;for(i=0;i while(1)epsilon=0;k+;for(i=0;i s=0;for(j=0;j 6 / 12if(j=i)continue;s+=*(a+i*(n+1)+j)*xj;yi=(*(a+i*(n+1)+n)-s)/(*(a+i*(n+1)+i);epsilon+=fabs(yi-xi);for(i=0;i if(epsilon printf(die dai ci shu wei:%dn,k);return;if(k=max)printf(die dai fa san);return;delete y;void main()sint i;float a45=10,-1,2,0,-11,0,8,-1,3,-11,2,-1,10,0,6,-1,3,-1,11,25;float x4;Jacobi(a0,4,x);for(i=0;i 输出结果7 / 12结果分析迭代次数增加时,精度越高。从输出结果可以看出此方程组的迭代次数为 17,迭代结果越来越接近精确解了,于是=-, =-, =, =题目 高斯-赛德尔迭代法解方程组方程组为: 高斯-赛德尔迭代法算法设方程组 Ax=b 的系数矩阵的对角线元素,M 为迭代次数容许的最大值 为容许误差。1 取初始向量令 k=0.2 对 i=1,2,n 计算 3 如果则输出结束;否则执行 44 如果则不收敛,终止程序;否则,转 2程 序 #include #include #define N 600void main()8 / 12int i;float x4;float c45=10,-1,2,0,-11,0,8,-1,3,-11,2,-1,10,0,6,-1,3,-1,11,25;void GaussSeidel(float *,int,float);GaussSeidel(c0,4,x);for(i=0;i void GaussSeidel(float *a,int n,float x)int i,j,k=1;float d,dx,eps;for(i=0;i while(1)eps=0;for(i=0;i d=0;for(j=0;j if(j=i)continue;d+=*(a+i*(n+1)+j)*xj;dx=(*(a+i*(n+1)+n)-d)/(*(a+i*(n+1)+i);eps+=fabs(dx-xi);xi=dx;9 / 12if(eps printf(迭代次数是:%dn,k);return;if(kN)printf(迭代发散 nn);return;k+;输出结果结果分析从输出结果可以看出此方程组的迭代次数为 7,此时能得到精确结果是=-, =-, =, =-107374176从结果和原有知识可以知道其系数矩阵是严格对角占优的。所以此迭代解法有很好的收敛性。方法比较雅可比法和高斯赛德尔迭代法解方程组两种方法的比较 。由于此题的系数矩阵是严格对角占优的,所以雅克10 / 12比迭代法和高斯-赛德尔迭代法都是收敛的,这两种迭代法没迭代一步均是作一次矩阵和向量的乘法,但前者需要 2组工作单元分别存放和,而后者只需要 1 组工作单元。对于同一个线性方程组,这两种方法可能同时收敛,也可能同时发散,也可能其一收敛,而另一发散。但当两者皆收敛时,一般来说高斯-赛德尔迭代法比雅克比迭代法收敛快。实际中更多的是使用逐次超松弛迭代法。第二章 矩阵的特征值及特征向量的计算实验目的在数学和物理中,很多问题都需要计算矩阵的特征值及特征向量,它们是线性代数中的一个重要课题,而在实际问题中,这样的计算是很复杂的,有的要求矩阵按模最大特征值及相应的特征向量,有些则要求全部特征值及特征向量,根据不同的要求计算方法大体上可分为 2 种类型。本实验用的是幂法求矩阵按模最大的特征值及对应特征向量,要求领会求矩阵特征值及特征向量的幂法的方法,并要求会编制幂法的计算程序,来计算有关问题。实验内容利用幂法求矩阵按模最大的特征值及对应特征向量。幂法求矩阵按模最大的特征值及对应特征向量用幂法求矩阵按模最大的特征值及其相应的特征向11 / 12量,使 , 幂法算法幂法是求矩阵主特征值的一种迭代方法。设有 n 个线性无关的特征向量,而相应的特征值满足,则对任意非零初始向量按下述公式构造向量序列:其中表示中最大的分量,并且有, 。 用幂法计算实对称矩阵的特征值时,可用 Rayleig

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论