1. 目的:
通过高斯消去法求线性代数方程组的解算法的设计,培养学生综合利用C++语言进行程序设计的能力和解决数学计算问题的能力,使学生将所学知识转化为分析和设计简单实际问题的能力。加强函数的运用及学生对软件工程方法的初步认识,提高软件系统分析能力和程序文档建立、归纳总结的能力。
2. 基本要求:
(1)要求用C++语言编程,在Visual C++环境下调试完成;
(2)要求各个功能分别使用函数来完成;
(3)程序调试通过后,完成程序文档的处理,源代码加必要的注释。
设计方法和基本原理
1. 课题功能描述
课题实现的功能是通过列主元高斯消去法来求解线性代数方程组的解。
2. 问题详细描述
用列主元高斯消去法求解线性方程组AX=B的解:,如以下方程组:
a11X1+a12X2+a13X3=b1 (1)
a21X1+a22X2+a23X3=b2 (2)
a31X1+a32X2+a33X3=b3 (3)
(1) 其中A矩阵为已知系数矩阵
a11 a12 a13
a21 a22 a23
a31 a32 a33
(2) 其中B矩阵为已知常数矩阵
b1
b2
b3
其中X矩阵为待求变量矩阵 【 X1 X2 X3】
问题的解决方案:
根据问题的描述,可以按照要求的功能采用结构化的设计思想。
(1) 系数矩阵(数组)和常数矩阵(数组)的输入要求编写独立函数实现;
(2) 列主元高斯消去法(消元和回代)的算法用独立函数实现;
(3) 待求变量矩阵(数组)的输出要求编写独立函数实现。
求各位大侠帮忙啊。。会的写上注释,发到 307824830 这个QQ的邮箱里面。。谢谢了~~这分就给你了~~
参考资料:http://home.phpchina.com/space.php?uid=34746&do=blog&id=32599
高斯课程
\/ 解方程组,计算x float a[][] 系数矩阵 float b[] 右端项 float x[] 方程组解 int i 解的序号 int n 矩阵大小 return 方程组的第i个解 \/ float getx(float a[N][N], float b[N], float x[N], int i, int n){ float result;if(i==n-1) \/\/计算最后一个x的值 result ...
c++ 高斯消去法 求线性方程组的解
void InputData(); \/\/输入数据 void solve_eqution(); \/\/高斯全主元消去 void gauss_all_valueiaoqu(); \/\/Gauss全主元消去法 void gauss_calculate(); \/\/高斯消去法以后计算未知量的结果 void evaluechange_hang(int m,int n);void evaluechange_a_lie(int m,int n);void e...
求C语言课程设计:用高斯列主元消元法解线性方程组
首先将矩阵A进行LU分解(将系数矩阵分解成一个上三角矩阵和一个下三角矩阵),分解的过程中用到了隐式的主元寻找法,同时利用克鲁特算法可以将两个n*n矩阵压缩到一个n*n矩阵中,大大节省了存储空间提高了计算速度。
...语言或者c++编程,实现用高斯消元法求解线性方程组Ax=b。
void gaussj(double a[], int n, double b[]){ int i,j,k,l,ll,irow,icol;double big,pivinv,dum;int ipiv[50], indxr[50], indxc[50];for (j=0;j<=n-1;j++){ ipiv[j]=0;} for (i=0;i<=n-1;i++){ big=0.0;for (j=0;j<=n-1;j++){ if(ipiv[j]!=1)...
高斯列主元消去法,求解齐次线性方程组的C语言实现
C\/C++ code #include<stdio.h> #include <math.h> #define N 20 int main() { int n,i,j,k; int mi,tmp,mx; float a[N][N],b[N],x[N]; printf("\\nInput n:"); scanf("%d",&n); if(n>N) { printf("The input n should in(0,N)!\\n"); ...
求用C++编程解方程组
如果单就你给出的这个方程来说,最简单的办法就是手工解出x,y的解析表达式,然后让计算机去执行具体的运算工作,就你的这个方程来说,应该不难。如果想实现一个通用的多元方程组求解程序则要分两种情况:对于线形多元方程组有确定的方法求解,比如线形代数中的高斯消元法、QR分解法等,但是代码量很大...
如下方程组如何求解? C++
利用高斯消元法,将方程组转化成矩阵,在解就行了,主要思路就是这样。
求用C++编程解方程组
如果单就你给出的这个方程来说,最简单的办法就是手工解出x,y的解析表达式,然后让计算机去执行具体的运算工作,就你的这个方程来说,应该不难。如果想实现一个通用的多元方程组求解程序则要分两种情况:对于线形多元方程组有确定的方法求解,比如线形代数中的高斯消元法、QR分解法等,但是代码量很大...
C++解数学方程
不知道你听没听过“克莱默”法则,那个是专门用来解n元一次方程组的,利用线性代数里的行列式。其它数学解法灵活性太高,没有统一的步骤,难以用程序实现,克莱默法则完美的解决了这个问题,它有一个固定的流程 具体你可以搜一下,一言难尽。。。
C++高斯列主元消去法,这是我写的程序,计算结果不正确,求高手修改下_百 ...
2 1 -1 3 -1 1 1 3 -1 系数矩阵输入完毕!常数项矩阵 -1 6 2 常数项矩阵输入完毕!整理完毕,此时方程组为 1 -0.333333 0.333333 2 0 1 -0.4 0 0 0 1 5 方程的解为 1 2 5 Press any key to continue \/ include <iostream.h>#include <math.h> define N 100 int ...