高斯列主消元数值分析实验报告

高斯列主消元数值分析实验报告

ID:36476041

大小:139.50 KB

页数:7页

时间:2019-05-11

高斯列主消元数值分析实验报告_第1页
高斯列主消元数值分析实验报告_第2页
高斯列主消元数值分析实验报告_第3页
高斯列主消元数值分析实验报告_第4页
高斯列主消元数值分析实验报告_第5页
资源描述:

《高斯列主消元数值分析实验报告》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、数值分析实验报告之高斯列主消元法一、实验目的:清楚高斯列主元消去法与高斯主元素消去法的区别,以及它提出的必要性;掌握高斯列主元消去法的原理及推导过程,会用其解简单的线性方程组。二、实验内容:用高斯列主元消去法解方程组=三、实验原理:在采用高斯消去法解方程组时,小主元可能产生麻烦,即用其做除数,会导致其他元素数量级的严重增长和舍入误差的扩散,最终使得计算的解不可靠。故应避免采用绝对值小的主元素。在消元之前,选择一个绝对值最大的元素作为主元,用其做除数来进行消元,这样就具有较好的数值稳定性。这就是选主元消去法。下面详细

2、说明列主元素消去法。第一步:在Ax=b即的系数矩阵的第一列元素中选择一个绝对值最大的元素,不妨设为。对调和及和(j=1,2,……,n,1≤l≤n)。以作为新的进行消元(消去对调后的第2~n个方程中的)。第k步:(1≤k≤n-1)设第k-1步消元过程完成,得到,检查中第k列的后n-k+1个元素,,…,,从中选出绝对值最大者,不妨设是,称它为第k列主元素。若p=k,则取做除数直接进行消元。若p≠k,则将第p个方程与第k个方程对调,使成为新的,然后以其作为除数进行消元,继续这一过程,直至得到等价的三角形方程组,下一阶段的

3、回代过程不变。四、程序流程图:输入系数矩阵a,常数项b及ndet←1k=0调用选列主元子程序i=k+1←/(乘数)j=k+1j=0det←det。输出b及det结束开始否k++是是否i++是否j++否是j++是否i--回代过程消元过程选列主元的子程序流程图:有主程序转来d←,p←ki=k+1

4、aik

5、>

6、d

7、d←aik,p←ii

8、t返回主程序是否选列主元否输出失败,det=0结束是否返回主程序是否j++i++五、程序代码#include"stdio.h"#include"math.h"#definen3voidChooseMain(doublea[n][n],doubleb[n],intk,double*det){//选列主元intp=k;doubled=a[k][k],t;for(inti=k+1;ifabs(d)){d=a[i][k];p=i;}}if(d==0){det=0;print

9、f("

10、a

11、=0");}else{if(p==k)return;else{for(intj=k;j

12、n;i++){m=a[i][k]/a[k][k];//求乘数a[i][k]=m;for(intj=k+1;j

13、n");printf("a[i][j]b[i]");for(inti=0;i

14、

15、%.4f",b[i]);}b[n-1]=b[n-1]/a[n-1][n-1];//求出了x3for(i=n-2;i>=0;i--){doubles=0;for(intj=i+1;j

16、]-s)/a[i][i];//求出xi}det=a[n-1][n-1]*det;printf("--------------------------------------------------");printf("方程组的解为:x1x2x3");for(i=0;i

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

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

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