數值分析程式設計作業
一.housholder變換.求方程的解
二.求特徵值
一,程式要求:
(1)用household變換,把a化為三對角陣b(並列印b).
(2)用超鬆弛法求解bx=b(取鬆弛因子ω=1.4,x(0)=0,迭代9次)
(3)用列主元消去法求解bx=b。
(4) 用對分法求b(即a)的小於23且最接近23的特徵值的近似值(誤差小於0.1)
(5) 用反冪法求b的該特徵值的更精確近似值及相應的特徵向量.
二,解題演算法
1:household 法
(1) 令a0=a, aij(1)=aij,已知ar-1 即ar-1=(aij(r))
(2) sr=( (air(r ))2)1/2
(3) αr=sr2+|a(r)r+1,r|sr
ur=[0,0,a(r)r+1,r+sign(a(r)r+1,r)sr,a(r)r+2,r,…,anr(r)]t
(4) yr=ar-1ur/αr
(5) kr= urtyr/2αr
(6) qr=yr-krur
(7) ar=ar-1-(qrurt+urqrt) r=(1,2,……n-2)
2:超鬆弛法
其基本思想是迭代,即在高斯方法已求出x(m),x(m-1)的基礎上,組合新的序列,從而加快收斂速度。其算式是:
xi(m)=(1-ω)xi(m-1)+ω( bijxi(m)+ xj(m-1)+gi)
其中ω是超鬆弛因子,當ω>1時,可以加快收斂速度。
3:高斯消去法:
對矩陣作恰當的調整,選取絕對值盡量大的元素作為主元素。然後把矩陣化
為上三角陣,再進行回代,求出方程的解。
對分法和反冪法求解特徵值及特徵向量
4. 對分法:對於對稱的三對角方陣,其特徵值必落在[-‖b‖, ‖b‖]中,其中‖b‖是其任意範數.
通過同號數的計算,可知在[0, ‖b‖]中特徵根的個數,在不斷對分,就可得特徵根所在的區間,如在[lk,uk]中有一根λk,且[lk,uk]很小,就可取lk+uk/2作為λk的近似值.
5. 反冪法:基於乘冪法中求a-1不太容易,因此不直接用a-1xk=xk+1,而使用axk+1=xk.
用求解線性方程組求出xk+1,再標準化,就可得到絕對值最小的特徵值與相應的特徵向量,這就是反代法(也稱反冪法).
三,程式清單
#include "math.h"
#include "io.h"
#include "stdio.h"
#include "string.h"
#define n 9
float sign(float x);
void guss(float a[n][n]);
float fanmi(float a[n][n]);
float sor(float a[n][n],float b[n]);
float duifen();
void housholder();
int f(float x);
float e[n],o[n];
float approx;
float b[n]=;
float a[n][n]=
; void housholder()
for(k=0;k for(k=0;kfor(l=0;l for(k=0;kfor(k=0;k for(k=0;kfor(l=0;l sr1=0;kr=0;ar=0.0;
}system("cls");
for(k=0;k
for(i=0;i for(i=0;i}
float sor(float a[n][n],float b[n]) /*超鬆馳法求解的子函式*/
g=(h+b[i-1])*w;
x[i-1]=(1-w)*x[i-1]+g;
h=0.0;g=0.0;
}}printf("超鬆馳法結果::\n");
printf("\n");
for(i=0;i printf("%f,",x[i]); /*輸出超鬆馳法求解的特徵向量*/
return 0;
} float sign(float x子函式符號函式*/
void guss(float a[n][n]) /*高斯法求解的子函式*/
,x[n],h=0;
float b[n]=;
數值分析上機實習報告
學號 姓名 專業 聯絡 2011 年 11 月 序言1.程式語言 我的數值分析上機實踐採用matlab語言作為程式語言,利用matlab集數值計算 符號計算和圖形視覺化三大功能與一體的特點程式設計實現,採用函式檔案編寫程式命令流,並將計算結果儲存為excel格式,並根據計算結果生成圖形,方便查閱 分...
數值分析上機報告
數學與計算科學學院 實驗報告 實驗專案名稱迭代法求線性方程組 所屬課程名稱數值方法a 實驗型別驗證型 實驗日期2011.11.03 班級學號 姓名成績 附錄1 源程式 附錄2 實驗報告填寫說明 1 實驗專案名稱 要求與實驗教學大綱一致。2 實驗目的 目的要明確,要抓住重點,符合實驗教學大綱要求。3 ...
西南交大2019數值分析上機實習報告要求
下列資料為另外的對照記錄,它們可以作為近似函式的評價參考資料。xi columns 1 through 7 1.5000 1.9000 2.3000 2.7000 3.1000 3.5000 3.9000 columns 8 through 14 4.3000 4.7000 5.1000 5.500...