一、 實驗目的與任務
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...