列主元高斯约当消去法实验Word文档格式.docx
- 文档编号:16938801
- 上传时间:2022-11-27
- 格式:DOCX
- 页数:18
- 大小:50.61KB
列主元高斯约当消去法实验Word文档格式.docx
《列主元高斯约当消去法实验Word文档格式.docx》由会员分享,可在线阅读,更多相关《列主元高斯约当消去法实验Word文档格式.docx(18页珍藏版)》请在冰豆网上搜索。
2015/11/03
绩成
实验名称
用列主元高斯-约当法解方程组
一、实验目的:
nxnbAb?
Ax阶列向阶非奇异方阵,。
式中,约当法解线性方程组式为,用列主元高斯-量,并分析选主元的重要性。
二、实验内容:
解下列方程组
1.13483.4017x19.53421651.18326.3?
?
54350.5301.178752.533012x..63941?
4231.493178.x3.187********.1.3142?
9237x23711.4.672110.49998.0014716.?
三、实验程序:
源代码#include<
iostream>
定义控制台应用程序的入口点。
//Hello.cpp:
#includestdio.h
#includestdlib.h
#includemath.h
intmain(){
doublearr[4][5]={{1.1348,3.8326,1.1651,3.4017,9.5342},
{0.5301,1.7875,2.5330,1.5435,6.3941},
{3.4129,4.9317,8.7643,1.3142,18.4231},
{1.2371,4.9998,10.6721,0.0147,16.9237}
};
for(inti=1;
i<
3;
i++){//确定第一列列主元if(arr[0][0]<
arr[i][0])
for(intj=0;
j<
5;
j++){
doubletemp=arr[0][j];
arr[0][j]=arr[i][j];
arr[i][j]=temp;
}
////////////////////////////////////////输出矩阵\n);
牰湩晴尨确定第一列列主元for(inti=0;
4;
i++){
printf(%f,arr[i][j]);
printf(\);
printf(\
);
}/////////////////////////////////////////////////////////////
....
0将第一列除第一行外其他值变成//doubleolda;
for(inti=1;
i++){
olda=arr[i][0];
j++){
arr[i][j]=(arr[i][j]-(olda/arr[0][0])*arr[0][j]);
输出矩阵////////////////////////////////////////printf(\
0\n);
牰湩晴尨将第一列除第一行外其他值变成
for(inti=0;
1
//把第一行第一列值变为for(intj=4;
j>
-1;
j--){
arr[0][j]=arr[0][j]/arr[0][0];
输出矩阵////////////////////////////////////////printf(\
1\n);
把第一行第一列值变为牰湩晴尨for(inti=0;
//确定第二列列主元
for(inti=2;
if(fabs(arr[1][1])<
fabs(arr[i][1]))
for(intj=1;
doubletemp=arr[1][j];
arr[1][j]=arr[i][j];
\n);
确定第二列列主元牰湩晴尨
0把第二列三四行变为//for(inti=2;
for(intj=4;
0;
arr[i][j]=arr[i][j]-arr[i][1]/arr[1][1]*arr[1][j];
////////////////////////////////////////输出矩阵
牰湩晴尨把第二列三四行变为
1把第二行第二列的值变为//for(intj=4;
arr[1][j]=arr[1][j]/arr[1][1];
第二行第二列的值变为牰湩晴尨for(inti=0;
0把第一行第二列值变为//for(intj=4;
arr[0][j]=arr[0][j]-arr[1][j]*arr[0][1];
牰湩晴尨把第一行第二列值变为
....
//确定第三列列主元for(inti=3;
if(fabs(arr[2][2])<
fabs(arr[i][2]))
for(intj=2;
doubletemp=arr[2][j];
arr[2][j]=arr[i][j];
确定第三列列主元牰湩晴尨for(inti=0;
0//把第四行第三列的值变为
1;
arr[3][j]=arr[3][j]-arr[3][2]/arr[2][2]*arr[2][j];
牰湩晴尨把第四行第三列的值变为for(inti=0;
1把第三行第三列的值变为//for(intj=4;
arr[2][j]=arr[2][j]/arr[2][2];
////////////////////////////////////////输出矩阵printf(\
把第三行第三列的值变为牰湩晴尨for(inti=0;
0//把第一、二行的第三列元素变为
2;
arr[i][j]=arr[i][j]-arr[i][2]*arr[2][j];
//kk
把第一、二行的第三列元素变为牰湩晴尨for(inti=0;
1把第四行第四列的值变为//
arr[3][j]=arr[3][j]/arr[3][3];
牰湩晴尨把第四行第四列的值变为for(inti=0;
0把第一、二、三行的第四列值变为//for(inti=0;
arr[i][j]=arr[i][j]-arr[i][3]*arr[3][j];
牰湩晴尨把第一、二、三行的第四列值变为for(inti=0;
doublex1=arr[0][4];
doublex2=arr[1][4];
doublex3=arr[2][4];
doublex4=arr[3][4];
牰湩晴尨?
┽屦砬?
※
while
(1);
return0;
}
三、结果分析:
虽然两种方法得出的结果均正确,列主元素的计算量稍多,但是从计算过程上看,不列主元素时,多的数据,而列主元素数据较为稳定,波动不大。
对于不能精确保留所矩阵在变换过程中曾出现4539有数据的计算机来说,数据变化越大,损失的精度越多。
所以在进行精确计算时,还是列主元素更为精确稳定。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 列主元高斯约 消去 实验
![提示](https://static.bdocx.com/images/bang_tan.gif)