C课程设计高斯消元法求线性代数方程组的解.doc

C课程设计高斯消元法求线性代数方程组的解.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C课程设计高斯消元法求线性代数方程组的解

河北工业大学计算机软件技术基础(VC)课程设计报告 学院 管理 班级 管理104班 姓名 杨立宝 __ 学号 101707____ 成绩 __ ____ 一、题目: 求线性代数方程组的解(高斯消去法)(C13) 二、设计思路 1、总体设计 1)分析程序的功能 第一:编写输入程序,通过键盘先输入对应的已知量及函数的大小n和系数a[i]和得数b[i]。 第二:编写中间程序,通过函数的调用先定义线性代数方程,然后通过程序求出方程的梯形矩阵系数,并最终得出结果。 第三编写输出程序,输出最终结果。 2)系统总体结构:设计程序的组成模块,简述各模块功能。 模块一:各函数的具体内容 A:三个输入函数,分别输入n,一维数组,二维数组。即输入已知量。 B:中间运算函数,计算是使得方程系数所成的矩阵成梯形矩阵,未知数的结果。即计算中间变量及结果。 C:最后输出函数,输出最后计算结果。 模块二:各函数原型的声明 a写头文件。 b变量声明:存放输入数据的数组的声明,存放中间变量的数组的声明,存放运算结果的数组的声明。分别存放对应数据。 c输入有关操作的文字 d函数调用,在运算中自动调用对应的函数解决对应问题。 模块三:主函数 2、各功能模块的设计:说明各功能模块的实现方法 模块一:各个函数的声明,直接声明。 模块二:各函数都通过for循环来实现各个数组之间的基本运算。 3、设计中的主要困难及解决方案 在这部分论述设计中遇到的主要困难及解决方案。 1)困难1 函数调用是怎么用? 解决方案: 仔细阅读课本,以及同学之间的讨论,和老师的帮助。 4、你所设计的程序最终完成的功能 1)说明你编制的程序能完成的功能 输入线性代数的系数后,运行程序即可得到梯形矩阵和结果。 2)准备的测试数据及运行结果 三、程序清单 如果是使用一个文件完成的程序,只需列出程序代码。 如果是使用多文件完成的程序,首先说明程序中的代码存放在哪些文件中,说明文件名(例如:本程序包含first.cpp、second.cpp、third.cpp和all.h四个文件);然后依次给出每个文件名及该文件清单,例如: #include iostream.h const N= 10 ;//设定矩阵大小范围 /* * 使用已经求出的x,向前计算x(供getx()调用) * double a[][] 系数矩阵 * double x[] 方程组解 * int i 解的序号 * int n 矩阵大小 * return 公式中需要的和 */ double getm(double a[N][N], double x[N], int i, int n) { double m = 0; int r; for(r=i+1; rn; r++) { m += a[i][r] * x[r]; } return m; } /* * 解方程组,计算x * double a[][] 系数矩阵 * double b[] 右端项 * double x[] 方程组解 * int i 解的序号 * int n 矩阵大小 * return 方程组的第i个解 */ double getx(double a[N][N], double b[N], double x[N], int i, int n) { double result; if(i==n-1) //计算最后一个x的值 result = double(b[n-1]/a[n-1][n-1]); else //计算其他x值(对于公式中的求和部分,需要调用getm()函数) result = double((b[i]-getm(a,x,i,n))/a[i][i]); return result; } void main() { //double a[N][N] = {{2},{1,3,2},{1,2,2}}; //double b[N] = {4,6,5}; double a[N][N]; //系数矩阵 double b[N]; //右端项 double x[N]; //方程组解 int i,j,k; int n=N; //矩阵大小 /*用户手工输入矩阵*/ cout请输入系数矩阵的大小:; cinn; cout请连续输入矩阵值:; for(i=0; in

文档评论(0)

weizhent2017 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档