私はこれにかなり慣れていないので、プログラムを Fortran から Matlab に変換しようとしています。Fortran の READ 関数について質問があります。次の定義があります。
DIMENSION ET2(2),PV(6,12),PNUT(4),T(2),PJD(4),BUF(1500),SS(3),CVAL(400),PVSUN(3,2)
INTEGER LIST(12),IPT(3,13)
CHARACTER*6 TTL(14,3),CNAM(400)
CHARACTER*80 NAMFIL
COMMON/EPHHDR/CVAL,SS,AU,EMRAT,NUMDE,NCON,IPT
COMMON/CHRHDR/CNAM,TTL
COMMON/STCOMX/KM,BARY,PVSUN
そして、私が理解し/翻訳しようとしている読み取りステートメントは次のとおりです。
READ(NRFILE,REC=1)TTL,CNAM,SS,NCON,AU,EMRAT,((IPT(I,J),I=1,3),J=1,12),NUMDE,(IPT(I,13),I=1,3)
READ(NRFILE,REC=2)CVAL
英語は私の母国語ではないので、REC の定義を理解しているかどうか確信が持てません。たとえば、4 つの異なる整数で構成されるファイルがある場合、REC=2 は 2 番目の整数から読み取りを開始していることを示しますか?
第二に、次に何が起こるのか気になります。NRFILE からの情報は、さまざまな変数、TTL、CNAM に保存されていると思います...? NRFILE はバイナリ ファイルを参照していますが、各変数に格納する情報をプログラムがどのように認識しているかがわかりません。TTL と CNAM の次元が異なるため、同じ情報が両方に保存されていないと思いますか?
これがmatlabでどのように見えるか知っている人はいますか? これまでのところ、cval=fread(filID) しか記述できませんでしたが、REC ステートメントは無視しました。