2 つの列 (最初の列は x、2 番目の列は f(x)) を持つファイルに保存された分布関数 f(x) があります。
..
1.667 0.815083333
1.668 0.810443333
1.669 0.813403333
1.67 0.810623333
1.671 0.804236667
1.672 0.805286667
...
この関数のうち、対数を引く必要があります。x のある値に対して分布が 0 になる可能性があるため、x のある値に対して対数が無限大になる可能性があります。このように-log(f(x))
、ファイルに書き込むと、
3.894 13.8155106
3.895 13.8155106
3.896 INF
3.897 INF
3.898 INF
最終的にファイルを読み取ると、プログラムはエラーで終了します
invalid number: incomprehensible list input
apparent state: unit 17 named fort.17
last format: list io
lately reading direct formatted external IO
Aborted (core dumped)
読み取り/書き込みを処理できるようにプログラムを書き直す最良の方法は何-log(0)
ですか?