




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、用高斯消去法解线性方程组。设有n元线性方程组如下:算法:对于k从0开始到n-2结束,进行以下步骤:首先,第k行第k列的数不能为0,若为0,则与下面不为0的行交换。将k行所有数除以第k行第k列的数.其次,进行消去:aij=aij-aik*akj,j,i=k+1,k+2,,n-1bi=bi-aik*bk,i=k+1,k+2,n-1最后,回代过程xn-1=bn-1/an-1n-1xi=bi-aijxj,I=n-2,1,0定义一个矩阵类Matrix作为基类,然后由矩阵类派生出线性方程组类Linequ。程序清单:#include<iostream>#include<cmath>u
2、sing namespace std;class Matrix /定义矩阵类public:Matrix(int dims=2) /构造函数index=dims; /保护数据赋值MatrixA=new doubleindex*index; /动态内存分配Matrix()delete MatrixA; /内存释放void setMatrix(double *rmatr) /设置矩阵值for(int i=0;i<index*index;i+)*(MatrixA+i)=rmatri; /矩阵成员赋初值 void printM(); /显示矩阵 protected: int index; doub
3、le* MatrixA; ;class Linequ:public Matrix /线性方程组类 public: Linequ(int dims=2):Matrix(dims) sums=new doubledims; solu=new doubledims; Linequ(); void setLinequ(double*a,double*b); void printL(); int Solve(); void showX(); private: double *sums; double *solu; ;void Matrix:printM() /显示矩阵的元素 cout<<&q
4、uot;The Matrix is:"<<endl; for(int i=0;i<index;i+) for(int j=0;j<index;j+) cout<<*(MatrixA+i*index+j)<<" " cout<<endl; Linequ:Linequ() deletesums; deletesolu; void Linequ:setLinequ(double *a,double *b) setMatrix(a); for(int i=0;i<index;i+) sumsi=bi;/方程
5、赋值 /显示方程 /高斯消元法求解 /输出方程的解 /方程赋值void Linequ:printL() /显示方程 cout<<"The Line eqution is:"<<endl;for(int i=0;i<index;i+)for(int j=0;j<index;j+)cout<<*(MatrixA+i*index+j)<<" " cout<<" "<<sumsi<<endl;void Linequ:showX() cout<
6、<"The Result is:"<<endl;for(int i=0;i<index;i+)cout<<"X"<<i<<"="<<solui<<endl; int Linequ:Solve() int l,k,i,j,is,p,q,m=0;double d,t;l=1;for(k=0;k<=index-2;k+) d=0.0;for(i=k;i<=index-1;i+)for(j=k;j<=index-1;j+)t=fabs(Mat
7、rixAi*index+j); if(t>d)d=t;is=i;if(d+1.0=1.0)l=0;if(l=0)cout<<"fail"<<endl;return(0);d=MatrixAk*index+k;if(d=0)m+; /输出方程的解 /解线性方程组 /消去过程d=MatrixA(k+m)*index+k; is=k+m; if(is!=k) for(j=k;j<=index-1;j+) p=k*index+j;q=is*index+j; t=MatrixAp;MatrixAp=MatrixAq;MatrixAq=t; t=su
8、msk;sumsk=sumsis;sumsis=t; d=MatrixAk*index+k;for(j=k;j<=index-1;j+) p=k*index+j;MatrixAp=MatrixAp/d;sumsk=sumsk/d;for(i=k+1;i<=index-1;i+)for(j=k+1;j<=index-1;j+)p=i*index+j;MatrixAp=MatrixAp-MatrixAi*index+k*MatrixAk*index+j; sumsi=sumsi-MatrixAi*index+k*sumsk;d=MatrixA(index-1)*index+ind
9、ex-1;if(fabs(d)+1.0=1.0)cout<<"fail"<<endl;return(0);soluindex-1=sumsindex-1/d; /回代过程 for(i=index-2;i>=0;i-)t=0.0;for(j=i+1;j<=index-1;j+)t=t+MatrixAi*index+j*soluj;solui=sumsi-t;int main() /主函数 double a=2,-0.5,-0.5,0, -0.5,2,0,-0.5, -0.5,0,2,-0.5, 0,-0.5,-0.5,2; double b4=0,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【正版授权】 ISO/IEC 29110-5-1-1:2025 EN Systems and software engineering - Life cycle profiles for very small entities (VSEs) - Part 5-1-1: Software engineering guidelines for the gener
- 【正版授权】 ISO/IEC 27035-4:2024 EN Information technology - Information security incident management - Part 4: Coordination
- 酒店设施改造与管理输出合同
- 网络安全评估及防护服务合同
- 挂靠房地产公司协议书
- 简易离婚协议书
- 技师劳动合同
- 爱眼日学校活动方案(3篇)
- 美容院会员卡转让合同
- 网络直播活动策划方案
- 城市开放空间-课件
- 2025年春季学期学校德育工作计划安排表(完整版)
- 《幼儿教育政策与法规》教案-单元4 幼儿园的保育和教育
- 电气化基本知识-岗培教材编写86课件讲解
- 2024年广东省公务员录用考试《行测》试题及答案解析
- 人工智能需求文档6篇
- 轴承专用中英文对照表 (完整版)
- 了解现代汉字字义的特点根据形旁的表义ppt课件
- 人教版小学数学四年级下册教材分析ppt课件
- 嵩晟富氢水销售方案ppt课件
- 药物疗法和过敏试验法护理学基础
评论
0/150
提交评论