Kanagawa Institute of Technology
     田辺研究室
                    Tanabe Laboratory

 



TOP

研究室案内

論文タイトル集

講義関連

EVENT

講義



数値シミュレーション
有限要素法



ソースプログラムの紹介

<行列の積>
1)4行4列の行列 U、V の積 W = U × V を解くルーチン”MULT”のリスト

   PROGRAM SAMPLE
   DIMENSION U(4,4),V(4,4),W(4,4)
  
  ( 4行4列の配列 U と V の値を格納 省略 )
  
   CALL MULT(U,V,W)
  
   WRITE(6,10) ((W(I,J),J=1,4),I=1,4)
10 FORMAT(4E12.5)
   END
  
  
   SUBROUTINE MULT(A,B,C)
   DIMENSION A(4,4),B(4,4),C(4,4)
   DO I=1,4
     DO J=1,4
       C(I,J)=0.0
       DO K=1,4
         C(I,J)=C(I,J)+A(I,K)*B(K,J)
       END DO
     END DO
   END DO
   END


 参考
 ・その他、任意の行列の積 [ N , M ]×[ M , L ] = [ N, L ]に対応したサブルーチンを考えてみるのもよい
 ・FORTRAN90には、行列の積を行う組込み関数MATMULが用意されているので、文献等で調べて見るのもよい。

 

 

<ガウスの消去法>

1)ガウスの消去法により連立一次方程式を解くルーチン”SOLV”のリスト

 

! サブルーチン副プログラムSOLV
      SUBROUTINE SOLV(C,N)
! 配列の宣言
      DIMENSION C(100,100)
 
      M=N+1
      XX=1.0E-10

      DO 10 K=1,N
      P=C(K,K)
      P1=ABS(P)
      K1=K+1
      DO 20 J=K1,M
      IF(P1.LT.XX) GO TO 25
   20 C(K,J)=C(K,J)/P
   25 DO 30 I=1,N
      IF(I.EQ.K) GO TO 30
      DO 40 J=K1,M
   40 C(I,J)=C(I,J)-C(I,K)*C(K,J)
   30 CONTINUE
   10 CONTINUE

      RETURN
      END

 


2)プログラムの使用方法
    ガウスの消去法により連立一次方程式

       

    を解く。ここで上式を以下のように表す。

        
    ここで b と c を下図のようにしてプログラムに組み込む。

       

    解析結果は b のところに書き込まれる。


[プログラム例]

! ガウスの消去法により連立一次方程式を解くプログラム例
! メインプログラム
      DIMENSION C(100,100)
      N=2
      C(1,1)=2.0
      C(1,2)=1.0
      C(2,1)=1.0
      C(2,2)=3.0
      C(1,3)=3.0
      C(2,3)=4.0
      CALL SOLV(C,N)
      DO 10 I=1,N
      WRITE(*,100) I,C(I,N+1)
   10 CONTINUE
      STOP
  100 FORMAT(' x[',I1,']=',F5.2)
      END
! サブルーチン副プログラムSOLV
      SUBROUTINE SOLV(C,N)
! 配列の宣言
      DIMENSION C(100,100)
 
      M=N+1
      XX=1.0E-10
 
      DO 10 K=1,N
      P=C(K,K)
      P1=ABS(P)
      K1=K+1
      DO 20 J=K1,M
      IF(P1.LT.XX) GO TO 25
   20 C(K,J)=C(K,J)/P
   25 DO 30 I=1,N
      IF(I.EQ.K) GO TO 30
      DO 40 J=K1,M
   40 C(I,J)=C(I,J)-C(I,K)*C(K,J)
   30 CONTINUE
   10 CONTINUE
 
      RETURN
      END


[解析結果]

       

トップページへ