計算方法實驗1塞德爾迭代法求解線性方程組

2022-05-11 04:20:04 字數 1576 閱讀 7643

一、 實驗目的與任務

1、 熟悉塞德爾迭代法求解線性方程組的方法

2、 用塞德爾迭代法解線性方程組(迭代五次)。

並與精確解比較。

二、 實驗涉及的相關知識點

使用賽德爾迭代法解線性方程組,可把性質良好的方程組

ax=b

按一定途徑轉換成 x=bx+g

對任給初始向量 ,由迭代公式

得到向量序列{},當迭代序列收斂於解向量a時,可用賽德爾迭代法求解。

三、 實驗內容與過程

1. 輸入,允許誤差e,最大迭代次數n,迭代初值;

2. 計算出的維數為;

3. 置;

4. 計算:

5. 若,則輸出,並結束;

若,當時,置,,並轉到4;當時,無輸出,並結束。

四、 實驗結果及分析

在matlab命令視窗中輸入:

>>a=[5 -1 -1 -1;-1 10 -1 -1;-1 -1 5 -1;-1 -1 -1 10;];

>>b=[-4;12;8;34;];

>> x0=[1;1;1;1];

>> gs(a,b,x0,5,0.000001)

ans =

0.996552514803221

1.998599188612620

2.998420412137192

3.999357211555304

五、 實驗相關說明

相對於簡單迭代法,賽德爾迭代法收斂速度很快,此程式可以任意維的方程組求指定的精度的迭代結果,實用性比較強。

六、 實驗有關附件(如程式、附圖、參考資料,等)

實驗程式:

function x1=gs(a,b,x0,n,e)

[m,n]=size(a); %計算a的維數為m

x(m,2)=0; %初始化乙個m行2列的矩陣,記錄相鄰兩次迭代結果

x(:,2)=x0;

for i=[1:1:n], %迭代最高次數為n

if max(abs(x(:,1)-x(:,2))) break;

else

x(:,1)=x(:,2);

for j=[1:1:n],

if j==1,

s1=0;

for e1=[2:1:m],

s1=s1+a(1,e1)*x(e1,1); %求和

endx(j,2)=(b(1,1)-s1)/a(1,1);

elseif j==m,

s2=0;

for e2=[1:1:m-1],

s2=s2+a(m,e2)*x(e2,2); %求和

endx(j,2)=(b(m,1)-s2)/a(m,m);

else

s3=0;

for e3=[1:1:j-1],

s3=s3+a(j,e3)*x(e3,2); %求和

endfor e4=[j+1:1:m],

s3=s3+a(j,e4)*x(e4,1); %求和

endx(j,2)=(b(j,1)-s3)/a(j,j);

end end

endendx1=x(:,2);

數值計算方法實驗

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

泰爾指數公式及計算方法

泰爾指數 theil index 或者泰爾熵標準 theil s entropy measure 泰是由泰爾 theil,1967 利用資訊理論中的熵概念來計算收入不平等而得名。熵在資訊理論中被稱為平均資訊量。在資訊理論中,假定某事件e將以某概率p發生,而後收到一條確定訊息證實該事件e的發生,則此訊...

計算方法實驗報告

實驗報告3 解線性方程組的迭代法 姓名 杜娟學號 08012324 班級 勘查08 3班 一 上機題目 用jacobi迭代法和高斯 賽德爾迭代法解線性方程組 二 目的要求 掌握用jacobi迭代法和高斯 賽德爾迭代法設計程式,從而實現解線性方程組。三.方法原理 解線性方程組的迭代法是將線性方程組 a...