高斯消去法求解方程組的實現 C

2022-02-14 05:44:45 字數 1342 閱讀 7916

高斯消去法,其實就是利用初等變換把矩陣轉換成上三角,便於求行列式,求逆,求線性方程組的解

只要動筆演算一下相關矩陣元素的索引,就能使得核心**特別短,

初等變換如下

for (int i = 0; i < column - 1; i++) }}

方程求解**如下:

double* result = new

double[column-1

];

for(int i=0;i1;i++)

*(result+column-2-i) = (*(matrix+(column-2-i)*column+column-1) - temp) / *(matrix+(column-2-i)*column+column-2-i);

}

完整**給出如下:

#include void printmatrix(double *matrix, int row, int

column)

printf("\n

");}

}void printvector(double *matrix, int

len)

printf("\n

");}void gaussianelimination(double *matrix, int row, int

column)

}//printf("\n");

} printmatrix(matrix, row, column);

double* result = new

double[column-1

];

for(i=0;i1;i++)

*(result+column-2-i) = (*(matrix+(column-2-i)*column+column-1) - temp) / *(matrix+(column-2-i)*column+column-2-i);

}printf(

"求得方程的解為:");

printvector(result, column-1

);

if(result)

}

用主函式測試一下正確性

int

main() ;

int row = 4, column = 5

;

gaussianelimination(matrix, row, column);

return0;

}

結果如下,顯然正確

求解線性方程組 高斯消去法

源 用c 實現 這裡採用的是數值分析裡的演算法 在vc6.0下編譯通過,經測試沒大問題。求解線性方程組 高斯消去法 include using namespace std 二維陣列動態分配模板 template t allocation2d int m,int n return a int main...

(C )列主元消去法解方程組

貼上 using system using system.collections.generic using system.linq using system.text namespace 數值分析實驗報告 console.writeline 您輸入的方程組的增廣矩陣為 outmatrix matr...

MathCAD求解方程組

1 解一元一次方程 root函式 格式 root f x x 例 x 0 定義變數 x 此步不能省 f x 3x 6 root f x x 2 根為2 2 解一元高次方程 格式 polyroots v 其中v是係數矩陣 公升冪排列 例 f x x3 10x 2 r polyroots v 3 解線性...