高斯-塞德尔迭代法Gauss-Seidel_解线性方程组的迭代法
2018-01-15 22:07
393 查看
高斯-塞德尔迭代法Gauss-Seidel_解线性方程组的迭代法
标签:计算方法实验
#include <stdio.h> #include <math.h> #define maxn 3 int main() { double a[maxn][maxn + 1], x[maxn] = {0}; double eps = 1e-9; int n, k, kmax = 100; freopen("gauss.txt", "r", stdin); scanf("%d", &n); for(int i = 0; i < n; i++) for(int j = 0; j < n + 1; j++) scanf("%lf", &a[i][j]); //for(int i = 0; i < n; i++) //{ //for(int j = 0; j < n + 1; j++) printf("%-15f", a[i][j]); //printf("\n"); //} for(k = 0; k < kmax; k++) { double norm = 0; for(int i = 0; i < n; i++) { double x0 = x[i]; double sum = 0; for(int j = 0; j < n; j++) if(j != i) sum += a[i][j] * x[j]; /// x[i] = (a[i] - sum) / a[i][i]; //n if(fabs(x[i] - x0) > norm) norm = fabs(x[i] - x0); //norm } printf("\nk = %2d x = ", k + 1); for(int i = 0; i < n; i++) printf("%-15f", x[i]); if(norm < eps) break; } if(k < kmax) { printf("\n\nk = %d\n", k + 1); for(int i = 0; i < n; i++) printf("x%d = %-15f\n", i + 1, x[i]); } else printf("\n\nfailed\n"); return 0; }
数据文件
实验结果
相关文章推荐
- 高斯—赛德尔(Gauss - Seidel)迭代法解线性方程组(Matlab程序)
- 求解线性方程组之超松弛Gauss_Seidel迭代
- 分别用雅可比(Jacobi)迭代法和高斯—塞德尔(Gauss—Seidel)迭代法求解线性方程组
- 线性方程组的迭代解法:高斯-塞德尔迭代法
- Matlab实现——严格对角占优三对角方程组求解(高斯赛尔德Gauss-Seidel迭代、超松弛)
- Matlab的Gauss_Seidel迭代方法解线性方程组
- 基于matlab的Guass-Seidel(高斯--赛德尔) 迭代法求解线性方程组
- 高斯-塞德尔迭代法解线性方程组
- 雅克比迭代法与高斯塞德尔迭代法求解方程组(C语言)
- 10个重要的算法C语言实现源代码:拉格朗日,牛顿插值,高斯,龙贝格,牛顿迭代,牛顿-科特斯,雅克比,秦九昭,幂法,高斯塞德尔
- 10个重要的算法C语言实现源代码:拉格朗日,牛顿插值,高斯,龙贝格,牛顿迭代,牛顿-科特斯,雅克比,秦九昭,幂法,高斯塞德尔
- 10个重要的算法C语言实现源代码:拉格朗日,牛顿插值,高斯,龙贝格,牛顿迭代,牛顿-科特斯,雅克比,秦九昭,幂法,高斯塞德尔
- Gauss迭代,Jacobi迭代,SORT迭代解线性方程组
- 10个重要的算法C语言实现源代码:拉格朗日,牛顿插值,高斯,龙贝格,牛顿迭代,牛顿-科特斯,雅克比,秦九昭,幂法,高斯塞德尔
- JacobiAndGauss-Seidel迭代(基于java)
- 10个重要的算法C语言实现源代码:拉格朗日,牛顿插值,高斯,龙贝格,牛顿迭代,牛顿-科特斯,雅克比,秦九昭,幂法,高斯塞德尔
- Gauss-Seidel解线性方程组
- Jacobi迭代、Gauss_Seidel迭代和最佳因子SOR迭代的比较
- 10个重要的算法C语言实现源代码:拉格朗日,牛顿插值,高斯,龙贝格,牛顿迭代,牛顿-科特斯,雅克比,秦九昭,幂法,高斯塞德尔 (转帖)
- 10个重要的算法C语言实现源代码:拉格朗日,牛顿插值,高斯,龙贝格,牛顿迭代,牛顿-科特斯,雅克比,秦九昭,幂法,高斯塞德尔