高斯 賽德爾迭代演算法 C 實現

2021-08-21 11:19:38 字數 1463 閱讀 1767

輸入:係數矩陣a,最大迭代次數n,初始向量,誤差限e

輸出:解向量

//定義係數矩陣

double a[50][50] = ;

//定義x1解的陣列

double rootx1[100];

//定義x2解的陣列

double rootx2[100];

//定義x3解的陣列

double rootx3[100];

//定義x1的迭代公式

double x1iteration(double x2,double x3);

//定義x2的迭代公式

double x2iteration(double x1,double x3);

//定義x3的迭代公式

double x3iteration(double x1,double x2);

//核心演算法,gauss - seidel 迭代法

void gaussseidel(double x1,double x2,double x3,double e,int n);

//格式輸出

void formatprint(int n);

int main()

}cin>>n>>x1>>x2>>x3>>e;

gaussseidel(x1,x2,x3,e,n);

formatprint(n);

return 0;

}//定義x1的迭代公式

double x1iteration(double x2,double x3)

//定義x2的迭代公式

double x2iteration(double x1,double x3)

//定義x3的迭代公式

double x3iteration(double x1,double x2)

//核心演算法,gauss - seidel 迭代法

高斯 賽德爾迭代法python實現

import scipy import scipy.linalg import numpy.matlib import numpy as np import time import warnings warnings.filterwarnings ignore def gaussseidel inv...

雅可比迭代法 高斯 賽德爾迭代法

求解方程組 用雅可比迭代法求解方程組ax b 輸入 a為方程組的係數矩陣,b為方程組右端的列向量,輸入 x0為迭代初值構成的列向量,nm為最大迭代次數,eps為誤差精度 輸出 x為求得的方程組的解構成的列向量,k為迭代次數 d diag diag a l tril a,1 u triu a,1 b ...

計算機數值方法 雅可比迭代和高斯賽德爾迭代

其實迭代法前面已經學習過啦,這裡的迭代是在前面迭代的基礎上的高階形式 即解決線性方程組的問題。下面簡單介紹雅克比迭代的基本流程。有一線性方程組,ax bax b ax b 其中 我們可以將其化為以下形式 x i bxj f,i 1,2 3.n,j 1,2,3,i.n x i bx j f,i 1,2...