C实验报告高斯消元法.docVIP

  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文档。上传文档
查看更多
C实验报告高斯消元法

高斯肖元法C++上机实验报告 学生姓名: 学 号: 专业班级: 实验类型: 综合 一 实验项目名称 全选主元高斯消去法解线性方程组 二 实验原理 设有n元线性方程组(考虑便于C++程序数组表示,方程的下标从0开始), 写为矩阵形式为Ax=b,其中A为线性方程组的系数矩阵,x为列向量,是方程组的解,b也是列向量. 一般来讲,可以假定矩阵A是非奇异阵。(n阶矩阵A的行列式不为零,即 |A|≠0,则称A为非奇异矩阵 , , 将系数矩阵A和向量b放在一起,形成增广矩阵B: 全选主元消去就在矩阵B上进行,整个过程分为如下两个步骤: 第一步:消去过程。 对于k从0开始到n-2结束,进行以下三步。 首先,从系数矩阵A的k行k列开始的子矩阵中选取绝对值最大的元素作为主元素。例如: 然后交换B的第k行与第行,第k列与第列,这样,这个子矩阵中具有最大绝对值的元素被交换到 最后进行消去计算: 第二步,回带过程: 三 代码的实现 整个程序分为5个独立文件,Matrix.h文件中包括矩阵类Matrix的定义,Matrix.cpp文件中包括该类成员函数的实现,LinearEqu.h文件中包括线性方程组类LinearEqu的定义,LinearEqu.cpp文件中包括该类的成员函数实现文件;7-9.cpp文件包括程序的主函数,主函数中定义了一个类LinearEqu的对象,通过这个对象求解一个四元线性方程组。 //Matrix.h文件一,定义一个CMatrix类 #ifndef _MATRIX_H #define _MATRIX_H class CMatrix //定义CMatrix基类 { public: //外部接口 CMatrix(int size=2); //构造函数 ~CMatrix(); //析构函数 void setMatrix(const double*values); //矩阵赋初值 void printMatrix() const; //显示矩阵 int getsize() const{return size;} //得到矩阵大小 double element(int i,int j){return elements[i*size+j];} double element(int i,int j)const{return elements[i*size+j];} private: //保护数据成员 int size; //定义矩阵的大小 double*elements; //矩阵存放数组首地址 }; #endif //_MATRIX_H //LinearEqu.h 文件二,CLinearEqu类定义 #ifndef _LINEAR_EQU_H #define _LINEAR_EQU_H #include Matrix.h class CLinearEqu:public CMatrix //公有派生类CLinearEqu定义 { public: //外部接口 CLinearEqu (int size=2); //构造函数 ~CLinearEqu(); //析构函数 void setLinearEqu(const double*a,const double*b); //方程赋值 bool solve(); //全选住院高斯消去法求解方程 void printLinearEqu()const; //显示方程 void printSolution()const; //显示方程的解 private: //私有数据 double*sums; //方程右端项 double*solution; //方程的解 }; #endif //_LINEAR_EQU_H 经过公有派生,LinearEqu类获得了除构造函数、析构函数之外的Matrix

文档评论(0)

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

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

1亿VIP精品文档

相关文档