数値計算法 演習2


<<演習2.1>>

「熱方程式」の例を計算する つぎのプログラムを実行して下さい.

'熱方程式 教科書P136
window (-0.5,-1.5)-(1.5,0.5)
dim U(100)
dim V(100)
DT=0.025	'時間の刻み幅
TMAX=0.5	'最終時間
N=4		'分割数
DX=1/N		'時間刻み
'軸の表示
connect (0,-1)-(0,0)-(1,0),,pset
locate 17, 6 : print 1
locate 17,18 : print 0
locate 60,18 : print 1
'初期条件  
point (0,0)
for I=0 to N
 U(I)=I/N
 line -(I/N,-U(I)),pset,11
next I
'差分方程式の計算
for T=DT to TMAX step DT
  for I=0 to N
    V(I)=U(I)
  next I
  V(N+1)=U(N) 	'境界条件 
  point (0,0)
  for I=1 to N
     U(I)=V(I)+DT/DX^2*(V(I+1)-2*V(I)+V(I-1)) '差分方程式
     line -(I/N,-U(I)),pset,11
  next I
next T
stop
end 
ソースファイル

図1 ソースファイル

実行結果

図2 実行結果


<<演習2.2>>

演習2.1のプログラムの時間の刻み幅DTをいろいろ変えてみて, 計算結果が発散する場合を調べて下さい.


数値計算法に戻る