/*************************************
* 用高斯列主元消去法求线性方程组
*
* 2*x1 + 2*x2 + 3*x3 = 3
*{4*x1 + 7*x2 + 7*x3 = 1
* -2*x1+ 4*x2 + 5*x3 = -7
*
**************************************/
#include<stdio.h>
#include<math.h>
#include<conio.h>
#include<string.h>
#define N 3
int main() {
static double a[N][N] = { { 2, 2, 3 }, { 4, 7, 7 }, { -2, 4, 5 } };
double b[N] = { 3, 1, -7 };
double x[N] = { 0, 0, 0 };
double r, s, e;
int k, i, j, p, flag = 1;
for (k = 0; k < N - 1; k++) {
p = k;
e = a[k][k];
for (i = k; i < N; i++)
if (fabs(a[i][k]) > e) {
e = fabs(a[i][k]);
p = i;
}
for (j = k; j < N; j++) {
s = a[k][j];
a[k][j] = a[p][j];
a[p][j] = s;
}
s = b[k];
b[k] = b[p];
b[p] = s;
if (a[k][k] == 0) {
printf("Gauss-Method does not run!");
flag = 0;
break;
} else {
for (i = k + 1; i < N; i++) {
r = a[i][k] / a[k][k];
if (a[k][k] != 0) {
for (j = k; j < N; j++)
a[i][j] = a[i][j] - r * a[k][j];
}
b[i] -= r * b[k];
}
}
}
if (flag) {
x[N - 1] = b[N - 1] / a[N - 1][N - 1];
for (i = N - 2; i >= 0; i--) {
s = b[i];
for (j = i + 1; j < N; j++)
s -= a[i][j] * x[j];
x[i] = s / a[i][i];
}
for (i = 0; i < N; i++)
printf("x[%d] = %10.7f\n", i + 1, x[i]);
}
return 0;
}
分享到:
相关推荐
高斯列主元消去法解线性方程组
使用MATLAB来编写高斯列主元消去法求线性方程组的解
高斯列主元消去法解线性方程组--课程设计报告,里边描述了整个课程的实现过程,且附有截图及代码
matlab编程实现高斯列主元消去法求解线性方程组
doc文件 共12页 喜欢,用得到的就下吧
高斯消去法和列主元高斯消去法解线性方程组的程序C语言
本实验报告主要解决了Gauss列主演消去法的几个简单问题的MATLAB实现,仅供参考,如有不足,烦请指正。
列主元高斯消去法解线性方程组的MATLAB程序,参考教材《数值分析》李乃成
用c++程序实现高斯列主元消去法解方程组 简单易懂
高斯列主消元法解线性方程输入有解的方程组可得到阶梯矩阵与相应的解无穷多解时只得到阶梯矩阵
《矩阵与数值分析》上机作业,采用带列主元的Gauss消去法求解线性方程组的根。采用C语言编程,程序简单实用,有运行结果,修改方程组系数即可求解不同维数线性方程组的根。
高斯列主元素消去法是计算机上常用来求解线性方程组的一种直接的方法。就是在不考虑舍入误差的情况下,经过有限步的四则运算可以得到线性方程组的准确解的一类方法。
数值计算基础的实验之一 直接法解线性方程组 高斯列主元消去法的C语言代码实现
用列主元Gauss消去法求解方程组,代码分为两部分:通用列主元高斯消去法和线性方程组求解
分别取n=20,60,100,200,采用高斯消去法、列主元高斯消去法计算下列n阶线性方程组Ax=b的解:
高校研究生课程计算方法题目 运用列主元高斯消去法解线性方程组的matlab程序
计算方法线性方程组求解高斯赛德尔迭代法、高斯列主元消去法 、计算方法线性方程组求解高斯赛德尔迭代法、高斯列主元消去法 计算方法线性方程组求解高斯赛德尔迭代法、高斯列主元消去法 计算方法线性方程组求解高斯...
java 求解线性方程组 高斯列主元消去 迭代法 LU二分法 import java.util.Scanner; public class Gauss { /** * @列主元高斯消去法 */ static double a[][]; static double b[]; static double x[]; ...
用部分选主元的高斯消去法并行求解线性方程组,刘向娇,刘佳梅,高斯消去法,又称高斯消元法,实际上就是我们俗称的加减消元法。数学上,高斯消去法或称高斯-约当消去法,由高斯和约当得名(很��
高斯顺序消元法程序简单,操作便捷,结果比较精确,但是每次运算的时候必须保证对角线上元素不为0,否则将无法计算,并且当主元过小的时候(病态情况)会产生较大误差,影响算法的稳定性。通过对比,列主元法通过...