Fortran代码多维数组
Fortran code multidimensional array
我正在将一个旧的 Fortran 代码转换为 java,但我坚持使用以下行:
PARAMETER (MAXC=15)
REAL CKV(MAXC,MAXC)
DATA (CKV( 1,J),J= 2,15)/10*0.,.45,.02,.12,.08/
DATA (CKV( 2,J),J= 3,15)/ 9*0.,.45,.06,.15,.07/
谁能解释一下上面最后两行。
谢谢
PARAMETER (MAXC=15)
这声明了MAXC
一个参数(常量)并赋值15。
REAL CKV(MAXC,MAXC)
这是维度 (MAXC,MAXC)
的浮点(单精度)数组 CKV
的声明
DATA (CKV( 1,J),J= 2,15)/10*0.,.45,.02,.12,.08/
DATA (CKV( 2,J),J= 3,15)/ 9*0.,.45,.06,.15,.07/
此语句将初始值分配给 CKV
(至少对某些元素)。 10*0.
表示 "take 10 times the 0."。
澄清我的回答(按照评论中的要求):
(CKV( 1,J),J= 2,15)
表示"initialize the array subsection CKV( 1,2:15)
",即14个元素。这匹配右侧的 14 个元素 (10x0.
, .45
,.02
,.12
,.08
).
第二个隐式循环从3
开始,所以只分配了13个元素。因此,它只是 9*0.
。
我正在将一个旧的 Fortran 代码转换为 java,但我坚持使用以下行:
PARAMETER (MAXC=15)
REAL CKV(MAXC,MAXC)
DATA (CKV( 1,J),J= 2,15)/10*0.,.45,.02,.12,.08/
DATA (CKV( 2,J),J= 3,15)/ 9*0.,.45,.06,.15,.07/
谁能解释一下上面最后两行。
谢谢
PARAMETER (MAXC=15)
这声明了MAXC
一个参数(常量)并赋值15。
REAL CKV(MAXC,MAXC)
这是维度 (MAXC,MAXC)
CKV
的声明
DATA (CKV( 1,J),J= 2,15)/10*0.,.45,.02,.12,.08/
DATA (CKV( 2,J),J= 3,15)/ 9*0.,.45,.06,.15,.07/
此语句将初始值分配给 CKV
(至少对某些元素)。 10*0.
表示 "take 10 times the 0."。
澄清我的回答(按照评论中的要求):
(CKV( 1,J),J= 2,15)
表示"initialize the array subsection CKV( 1,2:15)
",即14个元素。这匹配右侧的 14 个元素 (10x0.
, .45
,.02
,.12
,.08
).
第二个隐式循环从3
开始,所以只分配了13个元素。因此,它只是 9*0.
。