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

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

ID:62988904

大小:29.50 KB

页数:17页

时间:2021-07-24

河北工业大学数值分析实验五实验六实验报告 (6000字).doc_第1页
河北工业大学数值分析实验五实验六实验报告 (6000字).doc_第2页
河北工业大学数值分析实验五实验六实验报告 (6000字).doc_第3页
河北工业大学数值分析实验五实验六实验报告 (6000字).doc_第4页
河北工业大学数值分析实验五实验六实验报告 (6000字).doc_第5页
资源描述:

《河北工业大学数值分析实验五实验六实验报告 (6000字).doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、河北工业大学数值分析实验五实验六实验报告(6000字)数值分析实验报告姓班学实验五矩阵的LU分解法,雅可比迭代1.实验名称矩阵的LU分解法,雅可比迭代2.实验目的1)熟悉求解线性方程组的有关理论和方法;2)会编制列主元消去法、LU分解法、雅可比及高斯—塞德尔迭代法德程序;3)通过实际计算,进一步了解各种方法的优缺点,选择合适的数值方法。3.实验内容会编制列主元消去法、LU分解法、雅可比及高斯—塞德尔迭代法德程序,进一步了解各种方法的优缺点。4.算法描述1)列主元高斯消去法算法:将方程用增广矩阵[A∣b]=n?表示1)消元过程对k=1,2,…,n-1①选主元,找ik??k,k?1,?,n?使得

2、aik,k=maxk?i?naik②如果aik,k?0,则矩阵A奇异,程序结束;否则执行③。③如果ikakj?aikj?k,则交换第k行与第ik行对应元素位置,j=k,┅,n+1④消元,对i=k+1,┅,n计算lik?aik/akk对j=l+1,┅,n+1计算aij?aij?likakj2)回代过程①若ann②xn?0,则矩阵A奇异,程序结束;否则执行②。;对i=n-1,┅,2,1,计算?an,n?1/annn?xi??ai,n?1????/a?aijxj??iij?i?1?2)矩阵直接三角分解法算法:将方程组Ax=b中的A分解为A=LU,其中L为单位下三角矩阵,U为上三角矩阵,则方程组Ax

3、=b化为解2个方程组Ly=b,Ux=y,具体算法如下:①对j=1,2,3,…,n计算u1j?a1j对i=2,3,…,n计算li1?ai1/a11②对k=1,2,3,…,n:a.对j=k,k+1,…,n计算k?1ukj?akj??lq?1kquqjb.对i=k+1,k+2,…,n计算k?1lik?/ukk③y1?b1,对k?1k=2,3,…,n计算yk?bk??lq?1kqyq④xn?yn/unn,对k=n-1,n-2,…,2,1计算nxk?/ukk注:由于计算u的公式于计算y的公式形式上一样,故可直接对增广矩阵?a11?a?21???an1a1,n?1??a22?a2na2,n?1?????

4、???an2?annan,n?1??a12a1n[A∣b]=施行算法②,③,此时U的第n+1列元素即为y。3)雅可比迭代法算法:设方程组Ax=b系数矩阵的对角线元素aii?0,M为迭代次数容许的最大值,ε为容许误差。T①取初始向量x=,x,?,x),令k=0。n②对i=1,2,…,n计算xi?1aiinn③如果?i?1xi?xi??,则输出x,结束;否则执行④。?k?1,转②。④如果k≥M,则不收敛,终止程序;否则k4)高斯-塞尔德迭代法算法:设方程组Ax=b的系数矩阵的对角线元素,aii?0,M为迭代次数容许的最大值,ε为容许误差①取初始向量x?1,x2,?,xn)T,令k=0。②对i=1

5、,2,…,n计算xi?1aiii?1nj??aj?i?1xj)ij③如果?i?1nxi?xi??,则输出x,结束;否则执行④。④如果k?M,则不收敛,终止程序;否则k?k?1,转②。5.程序与实例1)列主元高斯消去法源程序:1))例1#include#includevoidmain{floatx[10],A[10],B,amax,S;intn=3,m,i,j,max;floata[3][3]={{,,},{-,,},{-,,}};floatb[3]={,,};for/*求上三角矩阵*/{amax=a[i][i];max=i;for{if>fabs){amax=a[m][i];max=m;}}

6、for{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{A[m]=a[m][i]/a[i][i];}for{for{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{S=;for{S=S+a[i][j]*x[j];}x[i]=/a[i][i];}for/*输出结果*/{printf;}}2))例2#include#includevoidmain{floatx[

7、10],A[10],B,amax,S;intn=5,m,i,j,max;floata[5][5]={{,,,,},{,,,,},{,,,,},{,,,,},{,,,,}};floatb[5]={-,-,-,-,-};for/*求上三角*/{amax=a[i][i];max=i;for{if>fabs){amax=a[m][i];max=m;}}for{A[m]=a[i][m];a[i][m]=a[max][m

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。