Выделение массивов одинакового размера

Я бы хотел выделить массив B из та же форма и имеют те же нижнюю и верхнюю границы, что и другой массив A . Например, я мог бы использовать

allocate(B(lbound(A,1):ubound(A,1), lbound(A,2):ubound(A,2), lbound(A,3):ubound(A,3)))

Но это не только неэлегантно, но и очень раздражает массивы (даже) более высоких измерений.

Я надеялся на что-то более похожее на

allocate(B(shape(A)))

, что не работает, и даже если бы это действительно сработало, каждое измерение начиналось бы с 1, чего я не хочу.

Кто-нибудь знает, как я могу легко выделить массив, имеющий тот же размер и границы, что и другой массив, для произвольных размеров массива?

11
задан Chris 27 January 2012 в 10:06
поделиться