有没有一种方法可以将Fortran中的数组(向量、矩阵或甚至是标量)设置为零?2003/2008似乎将Fortran提升到了非常现代化的水平,我不禁想知道它们是否已经包含了一种简单的方法来将数组值设置为零,而无需执行其他操作。
do i = 1,X
do j = 1,Y
A(i,j) = 0
enddo
enddo
X是2D矩阵的行数,Y是列数。这个原理可以推广到任意维度。
在Matlab中,可以使用zeros函数轻松实现,例如:
A = zeros(X,Y)
现代Fortran似乎将人们喜欢的Matlab和其他语言的许多特性融入到了它的语言库中,因此我只是好奇它是否已经有了这个简单而基本的任务的内在函数。
或者,在现代Fortran中,初始化数组时不需要清除先前存储的任何值吗?
我想更简短的方法只是去:
real, dimension(X,Y) :: A
A = A*0.0 ! Set all elements to zero by multiplying matrix by scalar value 0
但是围绕“内在的”问题仍然存在。
A = 0.0
就可以了。 - rici