Есть ли способ установить массив (вектор, матрицу или даже скаляр) равным нулю еще в Фортране? 2003/2008, похоже, выводят Фортран на очень современный уровень, и я должен задаться вопросом, включили ли они простой способ установить значения массива в ноль без необходимости делать
do i = 1,X
do j = 1,Y
A(i,j) = 0
enddo
enddo
Где X — количество строк, а Y — количество столбцов в двумерной матрице. Это можно обобщить на любое количество измерений, но принцип тот же.
В Matlab это легко сделать с помощью функции zeros, т.е.
A = zeros(X,Y)
Современный Fortran, похоже, включает в свой репертуар многие вещи, которые людям нравятся в Matlab и других языках, поэтому мне просто любопытно, есть ли у них встроенная функция для этой простой и базовой задачи.
Или, может быть, в современном Фортране нет необходимости очищать ранее сохраненные значения в памяти путем инициализации массивов?
Я думаю, что более короткий путь состоял бы в том, чтобы просто пойти
real, dimension(X,Y) :: A
A = A*0.0 ! Set all elements to zero by multiplying matrix by scalar value 0
Но вопрос о внутренностях остается в силе.
A = 0.0
сделает это. - person rici   schedule 16.04.2017