こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

FORTRAN 初心者です

以下の連立一次方程式をSOR法で解く問題です。
初心者なりにガウスザイデル法を応用してプログラムしたつもりですが、やはり難しいです(答えは違います)。
どこをどうすれば良いのか分かりませんので、よろしければヒントや助言をいただきたいです。

PROGRAM SOR
REAL A(10,10),B(10),X(10),X0(10)
INTEGER N,I,J,K,Kmax,w

N=3
A(1,1)=4 ;A(1,2)=1 ;A(1,3)=2
A(2,1)=1 ;A(2,2)=3 ;A(2,3)=1
A(3,1)=1 ;A(3,2)=2 ;A(3,3)=5
B(1)=16
B(2)=10
B(3)=12
X0(1)=1 ;X0(2)=1 ;X0(3)=2
w=1.2

Kmax=50
EPS=1.D-5

DO I=1,N
D=A(I,I)
S=B(I)
B(I)=B(I)/D
END DO

DO K=1,Kmax
DO I=1,N
DO J=1,N
if(J<I) X0(J)=X(J)
S=S-A(I,J)*X0(J)
END DO
X(I)=(1-w)*X(I)+w*S
END DO
DO I=1,N
S=S-(X(I)-X0(I))**2
END DO
IF(S<EPS) GOTO 10
DO I=1,N
X0(I)=X(I)
END DO
END DO

10 WRITE(*,*) K
DO I=1,N
WRITE(*,*) 'SOR法で求めた解は'
WRITE(*,*) 'X(',I,')=',X(I)
END DO

END PROGRAM SOR
!------------------------------------

※wは緩和係数です

投稿日時 - 2005-12-07 18:02:33

QNo.1825353

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

ANo.1

解法は、判りませんが。
FORTRANとして眺めると
wが整数型になっているようですが。

投稿日時 - 2005-12-17 16:34:40

あなたにオススメの質問