我正在用這個簡單的2方程系統(矩陣形式爲「Mat [2] [3]」)來測試這個代碼來求解線性系統,但是當我執行它時,我得到下面的結果,不與我在系統中引入了矩陣的係數同意:用C++解決線性方程組的程序
CODE:
//Gauss Elimination
#include <iostream>
#include <cmath>
#include <vector>
#include <fstream>
#include <iterator>
#include <string>
#include <iomanip>
using namespace std;
int main() {
double Mat[2][3];
vector<double> q(2);
int Nx = 2, ii, jj, kk;
Mat[1][1] = 2.0;
Mat[1][2] = 3.0;
Mat[1][3] = 2.5;
Mat[2][1] = 1.3;
Mat[2][2] = 3.0;
Mat[2][3] = 2.5;
cout << "Matrix: " << endl;
for (ii = 0; ii < Nx; ii++) {
for (jj = 0; jj < Nx + 1; jj++) {
cout << Mat[ii][jj] << " ";
cout << endl;
}
}
// Triangularization
for (ii = 0; ii < Nx - 1; ii++)
for (kk = ii + 1; kk < Nx; kk++)
{
double t = Mat[kk][ii]/Mat[ii][ii];
for (jj = 0; jj <= Nx; jj++)
Mat[kk][jj] = Mat[kk][jj] - t * Mat[ii][jj];
} // Resolution
for (ii = Nx - 1; ii >= 0; ii--)
{
q[ii] = Mat[ii][Nx];
for (jj = Nx - 1; jj > ii; jj--)
q[ii] = q[ii] - Mat[ii][jj] * q[jj];
q[ii] = q[ii]/Mat[ii][ii];
}
cout << "Solution of the system: " << endl;
cout << q[1] << endl;
cout << q[2] << endl; ////////////////////////////////////////////////////////////////////////
return 0;
}
結果:
Matrix:
0 2.07496e-317 6.95314e-310
0 2 3
Solution of the system:
-nan
0
提交之前你看過你的文章嗎?這看起來像格式,這將有助於我們閱讀?請參閱[格式化此頁](https://stackoverflow.com/help/formatting)您的問題。 – CoryKramer
請檢查編輯器幫助按鈕如何正確格式化代碼段在您的問題。 –
你的問題看起來確實很有趣,但是請花點時間來更好地表達它(添加你期望的結果的細節以及你正在得到的結果) - 通過正確格式化來提高你的問題的可讀性 - 這樣它可能會有很棒的視覺效果! – ishmaelMakitla