在 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
但关于内在的问题仍然存在。
事实证明答案很简单。
A = 0.0
or just
A = 0
会将数组中的所有元素设置为 0.0000...
(从问题中移开。)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)