計算實習報告

2021-09-26 20:52:13 字數 1956 閱讀 9279

數值分析(b) 大作業(二)

姓名學號**

1、演算法設計:

①矩陣的擬上三角化:

對實矩陣a進行相似變換化為擬上三角矩陣,其變換矩陣採用householder矩陣,變換過程如下:

若,則;

否則,,,,

,。當時,得,令又是對稱正交矩陣,於是成立,因而與相似。

②矩陣的qr分解:

矩陣的qr分解過程與擬上三角化過程相似,在這裡不再重複其原理。

③求全部特徵值

矩陣擬上三角化後利用帶雙步位移的qr方法,採用書本page 63頁具體演算法實現。為了使程式設計方便,並體會goto語句使用的靈活性,程式中的跳轉均使用goto loop*實現。

④求a的相應於實特徵值的特徵向量

求實特徵值對應的特徵向量,即是求解線性方程組,。因此,為得到全部實特徵值對應的特徵向量,解線性方程組的過程要迴圈n次(n為矩陣階數)。線性方程組的求解採用列主元素gauss消去法。

2、程式源**:

#include "stdio.h"

#include "conio.h"

#include "math.h"

// n :待求矩陣的階數

// epsilon:精度水平

// maxl :限制求解的最大迭代次數

#define n 10

#define epsilon 0.000000000001

#define maxl 200

void creat_matrixa(double array[n+1][n+1]);

void load_matrixa(double matrixa[n+1][n+1],double arraya[n+1][n+1]);

void clear_elements(double array[n+1][n+1]);

void initial_to_i(double array[n+1][n+1]);

void nishang(double arraya[n+1][n+1]);

void qr_fenjie(double arraya[n+1][n+1],double q[n+1][n+1],int m);

void solution_namda(double arraya[n+1][n+1],double namda[n+1][2]);

void solution_a_next(double arraya[n+1][n+1],int m,double s,double t);

void solution_vector(double array[n+1][n+1],double namda[n+1][2],double x[n+1][n+1]);

void gausselemitation_select(int m,int flag,double array[n+1][n+1],double x[n+1][n+1]);

void print_test(double array[n+1][n+1]);

void print_testab(double arraya[n+1][n+1],double arrayb[n+1][n+1]);

void print_namda(double namda[n+1][2]);

void print_vector(double x[n+1][n+1],double namda[n+1][2]);

int main(void)

/*建立源矩陣a*/

void creat_matrixa(double array[n+1][n+1])

}/*做矩陣a的拷貝*/

/* 求某個特徵值對應的特徵向量,實際上是求解乙個n元線性方程組的根,

因此每求乙個特徵向量都要重新載入矩陣a。

*/void load_matrixa(double matrixa[n+1][n+1],double arraya[n+1][n+1])

/*輸出給定矩陣的所有元素,按2個元素一行輸出*/

計算實習報告

2012年6月23號 一 專題實習名稱 迭代方法對未知量近似求解中收斂速度的比較。二 專題實習目的 對數值分析課程中的迭代法進行思考 實驗 觀察 分析 總結等,包括資料準備 理論基礎 實驗內容及方法,最終對實驗結果進行分析,通過分析,來比較迭代法對未知量近似求解的收斂速度。從而達到對理論知識的感性認...

實習報告 計算機實習報告總結

一實習目的理論聯絡實際,鞏固所學知識,提高處理實際問題的能力。為自己能順利與社會環境接軌做準備。二實習任務計算機基礎理論在實踐中的應用 三實習內容 資料庫的安裝。配置和使用 基礎,j a網路程式設計 3.linux基礎命令,linux bash shell程式設計,linux伺服器的配置,linux...

計算機實習周實習報告

實習報告 一.實習目的 通過理論聯絡實際,鞏固所學的知識.加強對計算機軟硬體的了解,可以對計算機進行簡單的維護和修復,對以後的工作學習提供專業紮實的計算機基礎知識.提高我們的動手能力.二.實習時間 201x年x月x日 201x年x月x日 三.實習地點 學院四.實習主要內容 星期一 上午.硬體介紹1....