浙江工業大學數值計算方法實驗

2021-03-04 00:17:20 字數 1561 閱讀 3897

實驗報告

一、實驗目的

用下列方法解線性方程

並比較計算結果精度

(1)順序消元法

(2)列主元消元法

二、實驗方法(要求用自己的語言描述演算法)

● 順序消元法

本**中是將題中矩陣轉化為上三角矩陣,具體流程如下:

通過雙重for迴圈【外層for迴圈控制作為基準的行數,內層迴圈計算與基準行的倍數,並且進行行相減操作(行相減的for迴圈不考慮在內)】,最後通過回代求解出所有的解。

● 列主元消元法

本**中在將矩陣轉化為上三角矩陣的同時,事先需進行,預處理操作如下(化為上三角矩陣過程同順序消元法):

在每次操作時先找出列中絕對值最大的元素,並與基準行先進行交換。

三、實驗**

#include

#include

#include

using namespace std;

void display(double **a, double *b, int n);

int main()

cout << "請輸入陣列a:" << endl;

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

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

消元計算,將方程組約化為三角形方程組

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

for (i = k + 1; i < n; i++)

輸出方程組的解

cout << "方程的解為:" << endl;

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

cout << "x[" << i + 1 << "]=" << x[i] << endl;

cout << endl;

分割線 cout << endl;

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

if (fabs(c[n - 1][n - 1]) * 100000 < 1)

cout << "det a=0" << endl;

else

輸出方程組的解

cout << "方程的解依次為" << endl;

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

cout << "x[" << i + 1 << "]=" << x[i] << endl;

free(a);free(b);

free(c);free(d);

free(m);free(x);

}}void display(double **a, double *b, int n)

cout << endl;

}四、實驗結果及其討論

本題中輸入部分同過檔案流讀入,實驗結果見圖1與圖2。

圖 1圖 2

討論由於本題中資料精度較低而該程式執行精度高,最後計算得出的結果相同,從結果看無法比較,但對於具體流程來說,可以看出用順序消元法會存在比列主元消元法大的誤差(詳見以上兩圖的最後乙個上三角矩陣)。

五、總結

這兩種方法消元求解過程相對簡單,但是計算次數相對較多,只適用於小規模計算,對於大矩陣等資料量大的計算效率不佳。

河北工業大學數值分析實驗報告

電器數值分析實驗報告 姓名班級學號 1 電磁體設計 請將計算結果填在相應位置 磁通量等勢線 沿z軸的磁感應強度分布曲線 磁感應強度分布雲圖 2 同軸線電感分析 請將計算結果填在相應位置 電感值 1.66733e 007 畫出相應的場量雲圖 3 微波積體電路中的微帶線分析 請將計算結果填在相應位置 等...

數值計算方法實驗

實驗一非線性方程的數值解法 10信計1班楊家博 201002044046 一 實驗目的 熟悉二分法和簡單跌點法的實現 二 實驗內容 教材p40 2.1.5 三 實驗要求 1.根據實驗內容編寫二分法簡單迭代的演算法程式 2.簡單比較分析兩種演算法的誤差 3.試構造不同的迭代格式,分析比較其收斂性 正文...

浙江工業大學管理學

24 集權是指決策權在組織系統中較高層次的一定程度的集中 與此相對應,分權是指決策權在組織系統中較低管理層次的程度上分散。2分 集權和分權主要是乙個相對的概念。絕對的集權意味著組織中的全部權力集中在乙個主管手中,組織活動的所有決策均由主管作出,主管直接面對所有的實施執行者,沒有任何中間管理人員,沒有...