計算方法 列主元高斯消去

2021-08-21 07:05:39 字數 1522 閱讀 3615

// gauss.cpp: 定義控制台應用程式的入口點。

///*

實驗名稱:列主元高斯消去

實現語言:c++

實驗環境:vs 2017

*/#include "stdafx.h"

#include #include #include using namespace std;

//輸出係數矩陣、右側矩陣

void displayzengguang(vector> a)

cout << endl;

} cout << endl;

}//高斯消元演算法

void gauss(vector> a, vector b,int n)

//高斯消元

float l_ik;

for (int k = 0; k < n - 1; k++)

}} else

}cout << endl << "消元完成的增廣矩陣如下:" << endl;

displayzengguang(a);

//回代求解

vectorresult;

result.resize(n);

result[n - 1] = a[n - 1][n] / (float)a[n - 1][n - 1];//先計算最後

for (int i = n - 2; i >= 0; i--)

result[i] = (a[i][n] - sum) / a[i][i];

} cout << endl << "回代求解結果如下:" << endl;

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

cout << endl << endl;

}//輸出係數矩陣、右側矩陣

void display(vector> a, vector b)

cout << endl;

} cout << endl << "右側矩陣如下:" << endl;

for (int i = 0; i < b.size(); i++)

cout << endl;

}//主函式

int main()

vectorvector_temp;

int temp;

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

a.push_back(vector_temp);

} infile.close();

//右側一維矩陣

vector b;

b.resize(n);

//右側矩陣賦值

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

a.pop_back();

//矩陣顯示

display(a, b);

//高斯消元

gauss(a, b, n);

system("pause");

return 0;

}

計算方法實驗(五) 高斯列主元消去法

高斯 gauss 列主元消去法 對給定的n nn階線性方程組ax bax b ax b 首先進行列主元消元過程,然後進行回代過程,最後得到解或確定該線性方程組是奇異的。如果係數矩陣的元素按絕對值在數量級方面相差很大,那麼,在進行列主元消元過程前,先把係數矩陣的元素進行行平衡 係數矩陣的每行元素和相應...

高斯消去法與列主元消去法

兩種消去法的實現主要是,通過函式的實現,傳入引數來實現的。如有其他需要,請另行修改 function time gauss n,a,b b a b tic for k 1 n 1 if a k,k 0 disp the matrix has too many answers,please chang...

列主元高斯消去法(C語言)

高斯消元法是將方程組中的一方程的未知數用含有另一未知數的代數式表示,並將其代人到另一方程中,這就消去了一未知數,得到一解 或將方程組中的一方程倍乘某個常數加到另外一方程中去,也可達到消去一未知數的目的。消元法主要用於二元一次方程組的求解。核心 1 兩方程互換,解不變 2 一方程乘以非零數k,解不變 ...