欢迎来到天天文库
浏览记录
ID:15903350
大小:618.00 KB
页数:24页
时间:2018-08-06
《高斯列主消元法求解方程 c语言程序报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、HUNANUNIVERSITY程序设计训练报告专业班级材料科学与工程四班指导老师院长(系主任)2012年6月30日22目录1软件开发平台12软件功能说明12.1功能分析说明12.2功能说明图43软件设计详细内容53.1采用的主要数据结构类型53.2流程图54软件测试114.1软件测试用例114.2软件测试报告165总结和致谢166附录..176.1源码176.2二人分工说明……………………………………………………………………….226.3参考文献22221软件开发平台VisulC++6.02软件功能说明用高斯列主消元法求解方程个数不超过15个的线性方程组2.1功能分析说明线性方程
2、组可以表示为以下形式:通解于:方程等价于AX=b对其增广矩阵进行初等行换不改变方程组的解,从而将其化为简单形式来求解方程组。
3、A
4、=(-1)aa…a&calculate(intn,intm)功能:22quanpailie_A()功能:计算一个全排列(-1)aa…a的值gauss_row_xiaoqu()功能:将增广矩阵通过交换两行的方法使得第一列中a绝对值最大第二行各元素分别减去第一行对应元素的a/a倍,使得a化为零;第三行各元素分别减去第一行对应元素的a/a倍,使得a化为零;同理将a,a…a都化为零;通过交换两行的方法使得第一列中a绝对值最大第三行各元素分别减去第二行对应元素的
5、a/a倍,使得a化为零;第四行各元素分别减去第二行对应元素的a/a倍,使得a化为零;同理将a,a…a都化为零;以此类推,可将主对角线下的元素全化为零,变为上三角矩阵。gauss_calculate()功能化为上三角矩阵之后,增广矩阵最后一行可以表示为x=解得x=/倒数第二行可以表示为ax+ax=b解得x=(b-ax)/2依次按照此法可以求出个未知量对应的值gauss_row()功能:调用函数calculate_A(n,m)计算行列式
6、A
7、的值,调用函数gauss_row_xiaoqu()将(A
8、b)化为上三角矩阵,调用函数gauss_calculate()计算未知量的值。22若行
9、列式不为零,输出“系数行列式不为零,有唯一解”,并输出解;若行列式为零,输出“系数行列式为零,无唯一解”。exchange_han(m,n)功能:交换a[][]与b[]即(A
10、b)中m行和n行对应元素的值。exchange(m,i)功能:交换A_y[m]与A_y[i]的值。input()功能:输入函数个数,若大于15,则提醒重新输入;若小于15,则按照提示输入方程组对应得增广矩阵,并备份数据。221.1功能说明图高斯列主消元法求解线性方程组输入增广矩阵:输出结果:系数行列式不为零,方程有唯一解a=…b=…c=…d=……221软件设计详细内容1.1采用的主要数据结构类型#inclu
11、de#include#include#include"bios.h"一位数组二维数组1.2流程图主流程图:22YNY开始结束输入方程个数nn>15?输入方程对应的增广矩阵(A
12、b)调用函数calculate()计算系数行列式
13、A
14、的值
15、A
16、=0?调用函数gauss_row_xiaoqu将A化为上三角矩阵调用函数gauss_calculate()计算未知量的值输出个未知量对应的值输出“行列式为零,方程无唯一解”N22函数calculate_A()流程图:YN结束输出a_suma_sum+=quanpailie_A()ex
17、change(m,m+i)Calculate_A(n-1,m+1)exchange(m,m+i)i18、a[i][j]19、>20、a[maxi][j]21、?maxi=ii++Maxi≠k?exchange_hang(k,maxi)k22、N22函数exchange_hang()流程图:开始j=0j
18、a[i][j]
19、>
20、a[maxi][j]
21、?maxi=ii++Maxi≠k?exchange_hang(k,maxi)k22、N22函数exchange_hang()流程图:开始j=0j
22、N22函数exchange_hang()流程图:开始j=0j
此文档下载收益归作者所有