例えば、
私のファイルは00.dat、01.dat、02.dat ... にちなんで命名されています。各ファイルには複数の列が含まれており、READCOL
それらを変数に読み込むために使用します。
for i = 0, n-1 do begin
readcol, string(i, F='(I02)')+'.dat', F='D,D', a0, b0
readcol, string(i, F='(I02)')+'.dat', F='D,D', a1, b1
.
.
c1 = a1 / a0
c2 = a2 / a0
.
.
d1 = b1 / b0
d2 = b2 / b0
.
.
endfor
これは問題なく動作しますが、たとえば 100 個の変数がある場合、すべての変数を 1 つずつ入力することはできません。
したがって、 for ループを使用してa(i), b(i), c(i), d(i)を生成します。その意味で、コードは次のようになります。
for i = 0, n-1 do begin
readcol, string(i, F='(I02)')+'.dat',F='D,D', a(i), b(i)
endfor
for i = 0, n-1 do begin
c(i) = a(i) / a(0)
d(i) = b(i) / b(0)
endfor
しかし、これは機能しません。for ループ内および数学の実行中に変数を宣言する方法はありますか?
(私は英語のネイティブ スピーカーではありません。質問で不明な点があればお知らせください。ありがとうございます!)