1
有沒有辦法在Fortran中將數組(矢量或矩陣,甚至標量)設置爲零? 2003/2008似乎是採取的Fortran到一個非常現代化的水平,我有其中X是行數懷疑,如果他們都包含一個簡單的方法來設置數組值爲零,而不必做在Fortran中是否有一個將數組初始化爲零的內部函數?
do i = 1,X
do j = 1,Y
A(i,j) = 0
enddo
enddo
Y是2-d矩陣中的列數。這可以概括爲儘可能多的維度,但原則是一樣的。
在Matlab中這是很容易與零函數來完成,即
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
@rici,你是對的。對於我一直在做的事情來說,這是一個非常簡單的解決方案。 –
您找到了正確的答案,但請注意您的「乘以零」方法不正確 - 在表達式中使用未初始化的變量永遠不會正確 –