C語言解線性方程組

2021-04-08 22:28:40 字數 1245 閱讀 7368

/*按規則輸入線性方程組的係數(每行n+1個數值,按順序輸入n個係數項,最後一項為常數項,用空格隔開)

,輸出該方程組的係數行列式和它的值,最後輸出方程組的解*/

/*處理整型資料*/ 

#include

#include

#define n 4  //行列式的行(列)數

typedef struct node

array;

int sum; //全域性變數,儲存行列式的值

void create(int h[n], int x);  //構造乙個線性方程組

void printh(const int h[n], const int x); //輸出行列式

void solve(const int h[n], array s, int i, int nixu); //採用遞迴方式求行列式的值

bool judge(const array s, int line, int len); //判斷行列式的元素的縱座標是否重複

int main(void)

array;

float sum; //全域性變數,儲存行列式的值

void create(float h[n], float x);  //構造乙個行列式

void printh(const float h[n], const float x); //輸出行列式

void solve(const float h[n], array s, int i, int nixu);//採用遞迴方式求行列式的值

bool judge(const array s, int line, int len); //判斷行列式的元素的縱座標是否重複

int main(void)

{array sl[n]; //棧,儲存行列式的每乙個乘積項的元素(因子)

float h[n][n], ch[n][n];//儲存係數行列式

float b[n];  //儲存常數項

float d, x[n];  //分別儲存係數行列式的值 和 方程組的解

int i, j, k;

create(h,b);  //構造乙個行列式

printh(h,b);  //輸出行列式

sum = 0;

solve(h, sl, 0, 0); //採用遞迴方式求行列式的值

d = sum;

printf("d = %f/n", d); //輸出該行列式的值

for(k=0; k

MATLAB解線性方程組

rref 函式 把矩陣換為行最簡形 可以用來解線性方程組,求矩陣的秩,求矩陣行最簡形 每行首元所在的列只有它乙個是1 首元所在的列數。例如 我們知道乙個方程組 a x b 中 a 係數矩陣 和b列向量 a 2 2 2 6 2 1 2 4 3 1 4 4 1 1 1 3 b 16 10 11 12 u...

Eigen解線性方程組

一.矩陣分解 矩陣分解 decomposition,factorization 是將矩陣拆解為數個矩陣的乘積,可分為三角分解 滿秩分解 qr分解 jordan分解和svd 奇異值 分解等,常見的有三種 1 三角分解法 triangular factorization 2 qr 分解法 qr fact...

線性方程組

給出乙個線性方程組的標準形式 a11x1 a12x 2 a1nx na21x 1 a22 x2 a2n xnan 1x1 an2x 2 annx n b1 b2 bn 1x 2y 34x 5y 6 1 2 這裡由克萊姆法則進行計算得出xy 3625 14 25 3 5 2 61 5 2 4 3 3 ...