我有一个矩阵A
声明为real :: A(7,8)
并初始化,以便所有条目都是0.0
。Fortran中的“A(:: 2,3)= -1.0”是做什么的?
以下命令不提供任何编译错误。
A(::2,3) = -1.0
我认识到,受影响的列将只有3列 什么行? ::2
是否意味着行1
和2
?或者是其他东西?
我打印出矩阵,但无法理解产生的图案。
这里(的完整性):
do, i=1,7
write(*, "(f5.2)") (A(i,j), j=1,8)
enddo
0.00 i = 1
0.00
-1.00
0.00
0.00
0.00
0.00
0.00 ----
0.00 i = 2
0.00
0.00
0.00
0.00
0.00
0.00
0.00 ----
0.00 i = 3
0.00
-1.00
0.00
0.00
0.00
0.00
0.00 ----
0.00 i = 4
0.00
0.00
0.00
0.00
0.00
0.00
0.00 ----
0.00 i = 5
0.00
-1.00
0.00
0.00
0.00
0.00
0.00 ----
0.00 i = 6
0.00
0.00
0.00
0.00
0.00
0.00
0.00 ----
0.00 i = 7
0.00
-1.00
0.00
0.00
0.00
0.00
0.00
现在看它,它看起来像它开始于i=1
,并增加了2〜i
,直到它到达矩阵的边界。它是否正确? ?
这是否意味着::2
相当于1:7:2
(“从1到7的2步)
使用标签[标签:fortran]更好的可见性。 Fortran 90只是一个特定的(和旧的)版本。 –