C++课程设计高斯消元法求线性代数方程组的解_第1页
C++课程设计高斯消元法求线性代数方程组的解_第2页
C++课程设计高斯消元法求线性代数方程组的解_第3页
C++课程设计高斯消元法求线性代数方程组的解_第4页
C++课程设计高斯消元法求线性代数方程组的解_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、河北工业大学计算机软件技术基础(VC)课程设计报告学院管理班级管理104班姓名杨立宝学号101707成绩一、题目:求线性代数方程组的解(高斯消去法)(C13)二、设计思路1、总体设计1)分析程序的功能第一:编写输入程序,通过键盘先输入对应的已知量及函数的大小n和系数ai和得数bi。第二:编写中间程序,通过函数的调用先定义线性代数方程,然后通过程序求出方程的梯形矩阵系数,并最终得出结果。第三编写输出程序,输出最终结果。2)系统总体结构:设计程序的组成模块,简述各模块功能。模块一:各函数的具体内容A:三个输入函数,分别输入n,维数组,二维数组。即输入已知量。B:中间运算函数,计算是使得方程系数所成

2、的矩阵成梯形矩阵,未知数的结果。即计算中间变量及结果。C:最后输出函数,输出最后计算结果。模块二:各函数原型的声明a写头文件。b变量声明:存放输入数据的数组的声明,存放中间变量的数组的声明,存放运算结果的数组的声明。分别存放对应数据。c输入有关操作的文字d函数调用,在运算中自动调用对应的函数解决对应问题。模块三:主函数2、各功能模块的设计:说明各功能模块的实现方法模块一:各个函数的声明,直接声明。模块二:各函数都通过for循环来实现各个数组之间的基本运算。3、设计中的主要困难及解决方案在这部分论述设计中遇到的主要困难及解决方案。1)困难1函数调用是怎么用?解决方案:仔细阅读课本,以及同学之间的

3、讨论,和老师的帮助。4、你所设计的程序最终完成的功能1)说明你编制的程序能完成的功能输入线性代数的系数后,运行程序即可得到梯形矩阵和结果2)准备的测试数据及运行结果三、程序清单如果是使用一个文件完成的程序,只需列出程序代码。如果是使用多文件完成的程序,首先说明程序中的代码存放在哪些文件中,说明文件名(例如:本程序包含first.cpp、second.cpp、third.cpp和all.h四个文件);然后依次给出每个文件名及该文件清单,例如:#includeconstN=10;/设定矩阵大小范围/*使用已经求出的x,向前计算x(供getx()调用)*doublea系数矩阵*doublex方程组解

4、*inti解的序号*intn矩阵大小*return*/公式中需要的和doublegetm(doubleaNN,doublexN,inti,intn)doublem=0;intr;for(r=i+1;rn;r+)m+=air*xr;returnm;/*解方程组,计算X*doublea系数矩阵*doubleb右端项doublex方程组解inti解的序号intn矩阵大小*return方程组的第i个解*/doublegetx(doubleaNN,doublebN,doublexN,inti,intn)doubleresult;if(i=n-1)/计算最后一个x的值result=double(bn-1/

5、an-1n-1);else/计算其他x值(对于公式中的求和部分,需要调用getm()函数)result=double(bi-getm(a,x,i,n)/aii);returnresult;voidmain()/doubleaNN=2,1,3,2,1,2,2;/doublebN=4,6,5;doubleaNN;/系数矩阵doublebN;/右端项doublexN;/方程组解inti,j,k;intn=N;/矩阵大小/*用户手工输入矩阵*/coutn;cout请连续输入矩阵值:;for(i=0;in;i+)for(j=0;jaij;cout请输入右端项:;for(i=0;ibi;/*显示原始矩阵*

6、/coutn原始矩阵n;for(i=0;in;i+)for(j=0;jn;j+)coutaijt;coutttbin;coutnn;/*进行高斯消去*/for(j=0;jn-1;j+)for(i=j+1;in;i+)doublem=(double)(aij/ajj);for(k=j;kn;k+)aik=aik-m*ajk;bi=bi-m*bj;/*显示处理后矩阵*/cout高斯消去后矩阵n;for(i=0;in;i+)for(j=0;jn;j+)coutaijt;coutttbi=0;i-)xi=getx(a,b,x,i,n);/*显示方程组解*/coutnn方程组解n;for(i=0;in;i+)coutxi+1=xin;(说明:程序清单中一定要有注释。程序清单部分的行间距设为1行即可)四、对该设计题目有何更完善的方案1、对自己完成程序进行自我评价。设计过程中遇到很多问题,但经过和同学讨论,以及老师的解答和查阅资料加上我的努力最终写出了程序。五、收获及心得体会1、通过本次课程设计,自己在哪些方面的能力有所提高。通过对该程序的编写,使我对数组,for循环以及函数的调用有了深刻的认识

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论