5

有没有办法在 Fortran 中将数组(向量,矩阵,甚至标量)设置为零?2003/2008 年似乎将 Fortran 提升到了一个非常现代的水平,我想知道他们是否包含一种简单的方法来将数组值设置为零而不必这样做

do i = 1,X

        do j = 1,Y

            A(i,j) = 0

        enddo

enddo

其中 X 是行数,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

但是关于内在的问题仍然存在。

4

1 回答 1

14

事实证明,答案很简单。

A = 0.0 

要不就

A = 0

将数组中的所有元素设置为 0.0000 ...

(从问题中移开。)

于 2017-04-16T08:00:03.510 回答