欢迎来到天天文库
浏览记录
ID:41729798
大小:63.84 KB
页数:16页
时间:2019-08-30
《用高斯列主元消元法解线性方程》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、沈阳航空工业学院课程设计学号2008040201105班级84020103姓名李荣飞指导教师尹航2009年9月11日沈阳航空工业学院课程设计任务书电子信息工程学院电子信息工程专业84020103班学号2008040201105一、课程设计题目:用高斯列主元消元法解线性方程二、课程设计工作自2009年9月6日起至2009年9月11日止三、课程设计内容:运用所学的C语言知识,编制和调试程序,具有如下功能:请用高斯列主元消元法解下列方程组:2%j+2x2+5x33西+4x2+7x3%!+3x2+3x3r四、课程设计要求:程序质量:•贯彻结构化程序设计思想。•用户界面友好,功能明确,操作方便;可
2、以加以其它功能或修饰。•用户界面中的菜单至少应包括“输入数据”、“开始计算”、“退出”3项。•代码应适当缩进,并给出必要的注释,以增强程序的可读性。课程设计说明书:课程结束后,上交课程设计说明书(打印稿和电子稿),其内容如下:•封而•课程设计任务书•目录•需求分析(分析题目的要求)•程序流程图(总体流程图和主要功能模块流程图)•核心技术的实现说明及相应程序段•个人总结•参考资料•源程序及适当的注释指导教师:学生签名:目录一、需求分析1二、程序流程图2三、核心技术的实现说明及相应程序段8四、个人总结10五、参考文献11六、源程序11一、需求分析经过对程序设计题目的分析可知,整个程序的设计实
3、现大致分为三个模块,分别是:输入方程组,计算方程组,继续运算/退岀。计算方程组模块对应三个函数,其函数名和功能如下:一、交换行的距函数(huanhang):主要实现线性代数高斯列主元消元法求解线性方程组中的初等行变换。二、比较系数大小的函数(bijiao):实现比较系数大小的算法。三、实现菜单选择的函数(caidan):使用户界面友好,操作方便。除上面介绍的功能之外,程序还具有“继续运算/退出”功能,可以在程序的一次运行当中循环执行所有的功能,并根据需要,终止程序的执行。、程序流程图1、程序总体结构图图1:程序总体结构图输出:用Gauss列主元消元法解线性方程组输出:解方程组请按1.输出
4、:退出程式请按2.图1程序总体结构图2、具体功能框图(1)界面caidan函数图2caidan函数输出:继续运算按1,退出程序按2!根据getcher()«选择EnterEcs其他调用退出输出:不合法的输入!Yunsuan调用caidan()比较bijiao函数图3:bijiao函数temp=0-I^IT(3)交换行的矩函数huanhang函数i=l当iv=u+l时A[O][i]=A[r][i]14-4-i=l当iv=u+l时A[r][i]=A[k][i]i++i=l-当iv=u+l时A
5、k]
6、i]=A
7、OJ
8、i]i++图4:huanhang函数(4)运算yunsuan函数输出:输入方程
9、组的维数:n二输入:n输出:现在输入系数矩阵A和向量b:i=l当iv二n输出:请输入系数和向量j=l当i<=n+l时输入A[i][jlF+—i++当k<=n-l吋ark=bijiao(k)ark==O假输出:此方程组不合法!error!调用caidanQ调用huanhangO并代入flog,k的值i=k+l(接下页)接上一页:i二k+l(接上一页)当iv=n匸k+l当j<=n+lA[i][j]=A[i][j]-A[k][j]*A[i][k]/A[k][k]j++i++k++x[n]=A[n][n+l]/A[n][n]k=n-l当k>=l时me=O当iv=nme=me+A[k][j]*X[
10、j]ak]=(A[k][n+l]-me)/A[k][l<]i=l(接下一页)接上一页:i=l(接上一页)当i<=n时输出:i,x[i]i++调用caidanQ图5:yunsuan函数三、核心技术的实现说明及相应程序段木程序一共由四个自定义函数和一个主函数组成,其中主函数以菜单的形式调用其他函数来实现要求的所有功能。在这些函数当屮,比较系数大小的函数、运算函数是程序屮较为核心的部分,下面分别进行说明。1、比较系数大小的函数比较系数大小的函数主要是为运算函数所做准备的,fabs是求双精度浮点数的绝对值的函数。输入参数是双精度浮点数,计算结果送返绝对值,也是双精度浮点数这样才可以保证以前已经存
11、在的数据不丢失。具体的程序段如下:floatbijiao(intk)/*比较系数大小的函数*/{inti;floattemp=0;for(i=k;i<=n;i++)if(fabs(A[i][k])>temp){temp=fabs(A[i][k]);flag=i;}returntemp;}2、运算函数运算函数是本程序的主要部分,首先输入系数和向量后存入数组,判断方程是否合法,不合法则返回菜单,然后通过循环解二维数组,最后输出结果i,x
此文档下载收益归作者所有