北航數值分析實習第一題

2022-08-17 08:27:06 字數 2350 閱讀 1608

數值分析計算實習報告

第一題2023年11月

a矩陣是乙個頻寬為5的帶狀矩陣,眾多的0會佔據很多儲存空間,因此可以將其壓縮儲存。

儲存方法是將矩陣逆時針旋轉45度,並調整使列號不變,調整後的矩陣如下:

1.利用冪法計算出矩陣a按模最大的特徵值(它是和中的乙個)。

2.利用冪法計算出矩陣(其中i為單位矩陣)按模最大的特徵值,令(它是和中的另乙個)。

3.比較和的大小,大的是,小的是。

4. 利用反冪法直接計算出矩陣a按模最小的特徵值。

採用原點平移法即可方便求解與某值接近的特徵值。對於每個k值,先利用反冪法計算出矩陣按模最小的特徵值,令即可。

對於非奇異實對稱矩陣a,它的條件數,其中是按模最大的特徵值,是按模最小的特徵值。

行列式的值為上三角矩陣對角線元素的乘積。過在進行反冪法求解中要進行doolittle分解,doolittle分解可以得到乙個上三角矩陣,其對角線元素的乘積就是行列式值。

#include<>

#include<>

void caculatea(double a[5][501]);//計算出a矩陣,並且將其壓縮儲存

double mifa2(double a[5][501]);//用2範數的冪法求按模最大特徵值

double fanmifa2(double a[5][501]);//用2範數的反冪法求按模最小特徵值

void ludoolittle(double a[5][501]);//簡易儲存的矩陣的doolittle分解

double findlamnear(double x);//求x處的特徵值

int max3(int x,int y,int z);//求三個數的最大值

int min2(int x,int y);//求兩個數的最小值

double fanshu2(double a);//向量的2範數

double inner(double x,double y);//向量乘積

void multi(double a[5][501],double x,double y);//矩陣與向量相乘

void solve(double a[5][501],double y,double x);//根據doolittle分解的結果,求解方程解向量x

void main()

caculatea(a);

ludoolittle(a);

det=1.0;

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

lams=fanmifa2(a);

cond=fabs(lamm/lams);

printf("最小特徵值λ1=%.11e\n",lam1);

printf("最大特徵值λ501=%.11e\n",lam501);

printf("按模最小特徵值λs=%.11e\n",lams);

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

printf("\n");

printf("條件數cond(a)=%.11e\n",cond);

printf("行列式值det(a)=%.11e\n",det);

}void caculatea(double a[5][501])

double mifa2(double a[5][501])

return beta1;

}double fanmifa2(double alu[5][501])

solve(alu,y,u);

beta1=inner(yy,u);

err1=fabs((beta1-beta)/beta);

}beta1=1.0/beta1;

return beta1;

}void ludoolittle(double a[5][501])

if(k<500)

}}double findlamnear(double x)

double fanshu2(double a[501])

temp=sqrt(temp);

return temp;

}void multi(double a[5][501],double x[501],double y[501])

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

}for(i=0;i<501;i++)

}int max3(int x,int y,int z)

int min2(int x,int y)

double inner(double x,double y)

void solve(double a[5][501],double y[501],double x[501])

x[500]=y[500]/a[2][500];

for(i=499;i>=0;i--)

{temp2=0.0;

北航碩士數值分析大作業第一題

數值分析a計算實習題目 第一題一 演算法設計方案 1.1 矩陣儲存方案 題目給出的矩陣a為帶狀矩陣,儲存時可以使用如下方式,只儲存矩陣的非零元素,具體如下 對應的角標轉換公式為 1.2 第一問的思路 1 使用一次冪法,求得 2 對進行原點平移,再次使用冪法得,令 3 與必定不同,其中較大的即為所要求...

北航數值分析計算實習大作業

目標 使用帶雙步位移的qr分解法求矩陣的全部特徵值,並對其中的每乙個實特徵值求相應的特徵向量。已知 i,j 1,2,10 演算法 1 輸入需要求解的矩陣 首先輸入需要求解的矩陣。即為下述程式中的void creaa 子程式。2 對上述生成的矩陣進行擬上三角化 為了減少求特徵值和特徵向量過程中的計算量...

口語第一題

1.說出你認為對你最有用的一本書,並解釋原因。3.describe the most important decision that you made in your life.5.空閒時間用來做什麼?7.描述一件自己印象深刻的celebration或者moment。9.describe a soc...