河北工业大学数值分析实验五实验六实验报告.docVIP

河北工业大学数值分析实验五实验六实验报告.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
河北工业大学数值分析实验五实验六实验报告

数值分析实验报告 指导老师: 宛艳萍 姓 名: 班 级: 学 号: 实验五 矩阵的LU分解法,雅可比迭代 实验名称 矩阵的LU分解法,雅可比迭代 实验目的 1)熟悉求解线性方程组的有关理论和方法; 2)会编制列主元消去法、LU 分解法、雅可比及高斯—塞德尔迭代法德程序; 3)通过实际计算,进一步了解各种方法的优缺点,选择合适的数值方法。 实验内容 会编制列主元消去法、LU 分解法、雅可比及高斯—塞德尔迭代法德程序,进一步了解各种方法的优缺点。 算法描述 1)列主元高斯消去法 算法:将方程用增广矩阵[A∣b]=(表示 消元过程 对k=1,2,…,n-1 ①选主元,找使得 = ②如果,则矩阵A奇异,程序结束;否则执行③。 ③如果,则交换第k行与第行对应元素位置, j=k,┅,n+1 ④消元,对i=k+1, ┅,n计算 对j=l+1, ┅,n+1计算 回代过程 ①若,则矩阵A奇异,程序结束;否则执行②。 ②;对i=n-1, ┅,2,1,计算 2)矩阵直接三角分解法 算法:将方程组Ax=b 中的A分解为A=LU,其中L为单位下三角矩阵,U为上三角矩阵,则方程组Ax=b化为解2个方程组Ly=b,Ux=y,具体算法如下: ①对j=1,2,3,…,n计算 对i=2,3,…,n计算 ②对k=1,2,3,…,n: a. 对j=k,k+1,…,n计算 b. 对i=k+1,k+2,…,n计算 ③,对k=2,3,…,n计算 ④,对k=n-1,n-2,…,2,1计算 注:由于计算u的公式于计算y的公式形式上一样,故可直接对增广矩阵 [A∣b]= 施行算法②,③,此时U的第n+1列元素即为y。 3)雅可比迭代法 算法:设方程组Ax=b系数矩阵的对角线元素,M为迭代次数容许的最大值,ε为容许误差。 ①取初始向量x=,令k=0。 ②对i=1,2,…,n 计算 ③如果,则输出,结束;否则执行④。 ④如果k≥M,则不收敛,终止程序;否则,转②。 4)高斯-塞尔德迭代法 算法:设方程组Ax=b的系数矩阵的对角线元素,,M为迭代次数容许的最大值,ε为容许误差 ①取初始向量,令k=0。 ②对i=1,2,…,n计算 ③如果,则输出,结束;否则执行④。 ④如果则不收敛,终止程序;否则,转②。 程序与实例 1)列主元高斯消去法源程序: 1))例1 #includestdio.h #includemath.h void main(void) { float x[10],A[10],B,amax,S; int n=3,m,i,j,max; float a[3][3]={{0.101,2.304,3.555},{-1.347, 3.712 ,4.623},{-2.835 ,1.072, 5.643}}; float b[3]={1.183,2.137,3.035}; for(i=0;i=n-1;i++) /*求上三角*/ { amax=a[i][i]; max=i; for(m=i+1;m=n-1;m++) { if(fabs(a[m][i])fabs(amax)) { amax=a[m][i]; max=m; } } for(m=0;m=n-1;m++) { A[m]=a[i][m]; a[i][m]=a[max][m]; a[max][m]=A[m]; } B=b[i]; b[i]=b[max]; b[max]=B; for(m=i+1;m=n-1;m++) { A[m]=a[m][i]/a[i][i]; } for(m=i+1;m=n-1;m++) { for(j=i;j=n-1;j++) { a[m][j]=a[m][j]-A[m]*a[i][j]; } b[m]=b[m]-A[m]*b[i]; } } x[n-1]=b[n-1]/a[n-1][n-1]; /*求x*/ for(i=n-2;i=0;i--) { S=0.0; for(j=n-1;j=i+1;j--) { S=S+a[i][j]*x[j]; } x[i]=(b[i]-S)/a[i][i]; } for(i=0;i=n-1;i++) /*输出结果*/ {

文档评论(0)

tianma2015 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档