このコードは、Fortranによって保存された数値を読み取るためのものです。そのデータには4800行と19列があります。txtファイルの読み込み中にエラーが発生しました:リスト入力のアイテムの不正な整数
このデータのヘッドはこの
1 2 1.50000000 0.00000000 1 21 240 361 2 0 0 0 0 0 0 0 0 0 0
2 2 1.50000000 0.00000000 1 19 208 390 7 0 0 0 0 0 0 0 0 0 0
3 2 1.50000000 0.00000000 1 13 181 419 11 0 0 0 0 0 0 0 0 0 0
4 2 1.50000000 0.00000000 1 17 213 386 8 0 0 0 0 0 0 0 0 0 0
5 2 1.50000000 0.00000000 1 18 215 389 2 0 0 0 0 0 0 0 0 0 0
6 2 1.50000000 0.00000000 1 18 245 356 5 0 0 0 0 0 0 0 0 0 0
7 2 1.50000000 0.00000000 1 17 205 395 7 0 0 0 0 0 0 0 0 0 0
8 2 1.50000000 0.00000000 1 21 251 350 2 0 0 0 0 0 0 0 0 0 0
9 2 1.50000000 0.00000000 1 17 207 385 15 0 0 0 0 0 0 0 0 0 0
10 2 1.50000000 0.00000000 1 10 142 439 33 0 0 0 0 0 0 0 0 0 0
11 2 1.50000000 0.00000000 1 19 249 353 3 0 0 0 0 0 0 0 0 0 0
列の名前のように見えますが、シム、感染、ベータ、イプシロンあります。他の15列の "countt"はシミュレーション結果です。私はこのコードを書いてF90のデータを読みました。私はこのコードを実行Whenver
program read
implicit none
integer, dimension(4800,15)::countt
integer :: i
integer ,dimension(4800)::sim, infected,id
real,dimension(4800):: epsilon, beta
open(unit = 2, file = '/Dropbox/epi_data.txt', status = 'old', action = 'read')
do i = 1,4800
read(2,*) sim(i), infected(i), beta(i), epsilon(i), countt(i,:)
print*, sim(i), infected(i), beta(i), epsilon(i), countt(i,:)
end do
close(2)
end program read
、私はこのエラーを取得する「Fortranのランタイムエラー:リスト入力 の項目3に悪い整数を」
私はここで何をしないのですか?
トレーニングセットを100で保存したい場合、私は他の問題があります。つまり、100行を保存して100をスキップし、100を保存して100をスキップし、行の最後までスキップします。 ? 私の4800rowsの終わりに、私は2400トレーニングセットを持っています。
この質問のデータをアップロードする必要がありますか?
最新のFortran(2008+)コンパイラにアクセスできますか?もしそうなら、ファイル識別ユニットをハードコーディングするのではなく、 'newunit'指定子を使うことをお勧めします。 – jlokimlin
10以下のユニット番号を使用することは危険です.11以上またはnewunitを使用してください。 –
私はFortranに非常に新しいです(私はこの言語を4週間かけて試し始めました)が、あなたの提案を見ていきます。 – sxq2221