テキストデータをグリッドデータとして読む

テキストデータをグリッドデータとして読み込むには、単純にREAD文を書くだけではなく多少の工夫が必要である。
バイナリファイルの場合は、読み出す時点で配列として読むのでこのような問題は発生しない。

例として以下のようなフォーマットのheight.txtがあるとする。
(X方向グリッド番号 Y方向グリッド番号 物理量)

間違い例

open(30,file="height.txt",status="old") 
Do i=1,50*50 Read(30,*) 
  xgrid, ygrid, height(xgrid,ygrid) 
Enddo close(30) 

コンピュータは左から順に読んでいるわけではない(同時に読む)のでheightには不正な値が入る。

正しい例

open(30,file="height.txt",status="old") 
Do i=1,50*50 
  Read(30,*) xgrid, ygrid, hoge 
  height(xgrid,ygrid)=hoge 
Enddo close(30) 

のように書く。配列変数heightを読むのに変数hogeを用いて一旦読んでから改めてheightとして割り当てている。

最終更新:2010年07月15日 14:46