我对此很陌生,我正在尝试将程序从 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 的定义。例如,如果我有一个由四个不同整数组成的文件,REC=2 是否表明我开始从第二个整数读取?
其次,我想知道接下来会发生什么。我假设来自 NRFILE 的信息保存在不同的变量中,TTL,CNAM ...?NRFILE 指的是二进制文件,但我不明白程序如何知道要在每个变量中存储哪些信息。我假设相同的信息没有存储在 TTL 和 CNAM 中,因为它们具有不同的维度?
有谁知道这在matlab中会是什么样子?到目前为止,我只能写 cval=fread(filID),但我忽略了 REC 语句..