一、問題描述
用sor法求解方程組ax=b, 其中
要求程式中不存係數矩陣a,分別對不同的階數取w=1.1, 1.2, ...,1.9進行迭代,記錄近似解x(k)達到||x(k)-x(k-1)||<10-6時所用的迭代次數k,觀察鬆弛因子對收斂速度的影響,並觀察當w <= 0或 w>=2會有什麼影響?
二、計算結果與分析
(1) 在收斂標準||x(k)-x(k-1)||-6且最大迭代次數200前提下,分別取階數n=5、20、35、50、65、80,取w=1.1, 1.2, ...,1.9進行sor法迭代求解,計算結果見圖1:
圖1不同階數下鬆弛因子w對收斂速度的影響(w=1.1, 1.2, ...,1.9)
從圖1的計算結果可以看出,在w=1.1, 1.2, ...,1.9範圍內,不同階數時sor法的收斂速度均隨收斂鬆弛因子w的增加而減慢,但在該引數條件下sor法均能達到收斂要求。
(2) 為觀察w£0或w³2時w對收斂速度的影響,在收斂標準||x(k)-x(k-1)||-6且最大迭代次數250前提下,分別取階數n=5、20、35、50、65、80,分別取w=-0.5, -0.4, ...,0和w=2, 2.1, ...,2.5進行sor法迭代求解,計算結果見圖5、圖6:
圖2 不同階數下鬆弛因子w對收斂速度的影響(w=-0.5, -0.4, ...,0)
圖3 不同階數下鬆弛因子w對收斂速度的影響(w=2, 2.1, ...,2.5)
從圖2和圖3可看出,當鬆弛因子w£0或w³2時,不同階數下sor法均迭代到了最大收斂次數,這實際上意味著該引數條件下sor法是發散的(w=0時迭代次數為1是因為此時實際上迭代公式的殘量為0,迭代無意義)。
圖4給出了在w<0和w>2時sor法求解的兩個特例,顯然,迭代到250次時解已趨於無限,這正式迭代發散的表現。
圖4w<0和w>2時sor法求解的兩個特例
綜上所述,對於題目給出的線性方程組來說,當鬆弛因子w=1.1, 1.2, ...,1.9時,sor法迭代求解是收斂的,而當w£0或w³2時sor法是發散的。這實際上與教材中的定理很好的符合,即0三、源**
#include "stdafx.h"
#include #includeusing namespace std;
#include int sor(int n,double w,double e=1e-6,int maxstep=100,int displaytype=0)
//sor法求解題3子函式,n:階數,w:鬆弛因子,e:收斂閾值,maxstep:最大收斂步數,返回值為收斂步驟數,displaytype:是否顯示計算結果,0:不顯示,非零:顯示
///第n行計算
s=px[n-1];
t=px[n-2]-4*px[n-1];
px[n-1]=(-3-t)*w/(-4)+s;
delta+=(px[n-1]-s)*(px[n-1]-s); //(px[n-1]-s)>=0?(px[n-1]-s):(-px[n-1]+s);
delta=(double) sqrt((double)delta);
m+=1;//跌代次數加1
}while((delta>e)&&(me)&&(m>=maxstep))cout<=maxstep))return -m;
return m;
}int _tmain(int argc, _tchar* argv)
{ int n=5; //階數
double w=1.5;//鬆弛因子
double e=1e-6;//收斂閾值
int maxstep=250;//最大收斂步數
不同階數 w=1.1--1.9範圍時w對收斂步數的影響///
for (n=5;n<85;n+=15)
{cout<2時w對收斂步數的影響
//w<=0
cout<=2
for (n=5;n<85;n+=15)
{cout<
鬆弛因子對SOR法收斂速度的影響之C 實現
一 問題描述 用sor法求解方程組ax b,其中 要求程式中不存係數矩陣a,分別對不同的階數取w 1.1,1.2,1.9進行迭代,記錄近似解x k 達到 x k x k 1 10 6時所用的迭代次數k,觀察鬆弛因子對收斂速度的影響,並觀察當w 0或 w 2會有什麼影響?二 計算結果與分析 1 在收斂...
逐次超鬆弛迭代法SOR
sor 逐次超鬆弛迭代法 本函式只能求解當a為n n的矩陣 2010 10 21 function x sor a,b,w tic if nargin 2 w 1.23 預設鬆弛因子w 1.23 endif w 0 error matlab sor argument w should be larg...
求解最佳鬆弛因子
本函式用於計算n n方陣的最佳鬆弛因子 本函式只能求解當a為n n的矩陣 用步長為0.01掃瞄w的取值區間0 2 2010 10 23 function bw,brho bsor a n max size a d zeros n,n l zeros n,n u zeros n,n 初始化三個矩陣 r...