资源描述:
《高斯消去,并行,实验报告》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划高斯消去,并行,实验报告 高斯肖元法C++上机实验报告 学生姓名:学号:专业班级:实验类型:综合 一实验项目名称 全选主元高斯消去法解线性方程组二实验原理 设有n元线性方程组(考虑便于C++程序数组表示,方程的下标从0开始), ?a00x0?a01x1????a0,n?1xn?1?b0? ?a00x0?a01x1????a0,n?1xn?1?b1??? ?ax?ax????an?1,n?1xn?
2、1?bn?1 n?1,11?n10 写为矩阵形式为Ax=b,其中A为线性方程组的系数矩阵,x为列向量,是方程组的解,b也 是列向量. 一般来讲,可以假定矩阵A是非奇异阵。 ?a00?a10?A? ??? ?an?1,0 a01a11?an?1,1 ???? a0,n??x0??b0?目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个
3、人素质的培训计划 ?????a1,nx1b1 ???x??b?? ???,?????, ????? an?1,n?1?xb?n?1??n?1? 将系数矩阵A和向量b放在一起,形成增广矩阵B: ?a00 ?a10 b?(A,b)?? ??? ?an?1,0 a01a11?an?1,1 ???? a0,na1,n?an?1,n?1 b0??b1 ????bn?1? 全选主元消去就在矩阵B上进行,整个过程分为如下两个步骤:第一步:消去过程。 对于k从0开始到n-2结束,进行以下三步。1.首先
4、,从系数矩阵A的k行k列开始的子矩阵中选取绝对值最大的元素作为主元素。例如: ai1,j1?maxaij?0目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划 k?i?nk?j?n 然后交换B的第k行与第i1行,第k列与第k1列,这样,这个子矩阵中具有最大绝对值的元素被交换到k行k列的位置上. ??akj?akj/akk,j?k
5、?1,?,n?1 2.其次,进行归一化计算。计算方法为:? ??bk?bk/akk ??aij?aij?aikakj,j,i?k?1,?,n?1 3.最后进行消去计算:? b?b?ab,i?k?1,?,n?1?iikk?i ?xn?1?bn?1/an?1,n?1 ?n?1 第二步,回带过程:? x?b?ax,i?n?2,?,1,0?iiijj? j?i?1? 三代码的实现 整个程序分为5个独立文件,文件中包括矩阵类Matrix的定义,文 件中包括该类成员函数的实现,文件中包括线性方程组类Line
6、arEqu的定义,文件中包括该类的成员函数实现文件;文件包括程序的主函数,主函数中定义了一个类LinearEqu的对象,通过这个对象求解一个四元线性方程组。目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划 //文件一,定义一个CMatrix类 #ifndef_MATRIX_H#define_MATRIX_H classCMatr
7、ix//定义CMatrix基类{ public://外部接口}; #endif//_MATRIX_H //文件二,CLinearEqu类定义 CMatrix(intsize=2);//构造函数~CMatrix();//析构函数 voidsetMatrix(constdouble*values);//矩阵赋初值voidprintMatrix()const;//显示矩阵intgetsize()const{returnsize;}//得到矩阵大小double&element(inti,intj){returnelem
8、ents[i*size+j];}doubleelement(inti,intj)const{returnelements[i*size+j];}intsize;//定义矩阵的大小double*elements;//矩阵存放数组首地址 private://保护数据成员 #ifndef_LINEAR_EQU_H#de