求解線性方程組 Jacobi迭代法

2021-05-02 19:40:50 字數 996 閱讀 6803

求解線性方程組--jacobi迭代法

/* 求解線性方程組--jacobi迭代法 */

#include #include using namespace std;

/* 二維陣列動態分配模板 */

template t** allocation2d(int m, int n)

return a;

}/* 一維陣列動態分配模板 */

template t* allocation1d(int n)

/* 求矩陣的一範數 */

float matrix_category(float* x, int n)

return temp;

}int main()

}/* 生成並初始化初始向量 */

x_0 = allocation1d(n);

cout << endl << "輸入初始向量:/n";

for (i = 0; i < n; i++)

/* 生成迭代向量 */

x_k = allocation1d(n);

float temp;

/* 迭代過程 */

for (k = 0; k < max; k++)

temp = temp + a[i][j] * x_0[j];

}x_k[i] = (a[i][n] - temp) / a[i][i];

}/* 求兩解向量的差的範數 */

for (i = 0; i < n; i++)

if (matrix_category(x_0, n) < precision)

else }}

/* 輸出過程 */

if (max == k)

cout << "迭代次數為:" << k << endl;

cout << "解向量為:/n";

for (i = 0; i < n; i++)

return 0;

}

jacobi迭代法求解線性方程組

首先將 方程組中的 係數矩陣 a分解成三部分,即 a l d u,如圖1所示,其中 d為對角陣,l為下三角矩陣,u為上三角矩陣。之後確定迭代格式,x k 1 b x k f 這裡 表示的是上標,括號內數字即迭代次數 如圖2所示,其中 b稱為迭代矩陣,雅克比迭代法中一般記為 j。k 0,1,再選取初始...

MATLAB 線性方程組求解

clc,clear all close all 高斯消去法 a 2 3 4 3 5 2 4 3 30 線性方程組的係數矩陣 b 6 5 32 線性方程組的右端列向量 m,n size a 測量係數矩陣的維數 if m n fprint 線性方程組的係數矩陣非方陣 break end fprintf ...

MATLAB線性方程組求解

對於一般的,有唯一解的線性方程組,我們可以轉換成矩陣的形式 a x bax b ax b 則可以用矩陣運算求解x,即x a b 求解齊次線性方程組基礎解系的函式是null z null a 表示返回矩陣a的基礎解系組成的矩陣。z還滿足ztz i z null a,r 得出的z不滿足ztz i,但得出...