Tôi muốn phân bổ một mảng B
có cùng hình dạng và có cùng giới hạn dưới và trên như một mảng A
khác. Ví dụ, tôi có thể sử dụngPhân bổ các mảng có cùng kích thước
allocate(B(lbound(A,1):ubound(A,1), lbound(A,2):ubound(A,2), lbound(A,3):ubound(A,3)))
Nhưng không chỉ là này thanh nha, nó cũng trở nên rất khó chịu đối với mảng của (chẵn) kích thước cao hơn.
Tôi đã hy vọng cho một cái gì đó giống như
allocate(B(shape(A)))
mà không làm việc, và thậm chí nếu điều này đã làm việc, mỗi chiều sẽ bắt đầu từ 1, mà không phải là những gì tôi muốn.
Có ai biết cách tôi có thể dễ dàng phân bổ một mảng để có cùng kích thước và giới hạn như một mảng khác dễ dàng cho các thứ nguyên mảng tùy ý không?
Tôi có thể hỏi lý do tại sao bạn cần phải làm điều này. Bạn có thể không chỉ phân bổ 'B' cùng lúc với' A' (hoặc ít nhất là trong cùng một phạm vi, khi bạn sẽ có quyền truy cập vào các tham số mảng/hình dạng được sử dụng để phân bổ 'A'). Ngoài ra, nếu bạn đang chuyển 'A' vào một hàm hoặc chương trình con, bạn có thể không chỉ có một mảng kích thước giả định' B' cục bộ cho thường trình đó giả định hình dạng của 'A'? – Chris
Vâng, tôi cho rằng tôi không CẦN này, nó chỉ thực sự không phù hợp. Mảng 'A' được phân bổ trong một tệp .f khác với các ranh giới' A (nlmx-a_offset: nlpx + b_offset, ...) ', bạn sẽ lưu ý rằng đây là nhiều ký tự hơn là dùng l/ubound. – user1173081
Sau đó, tôi nghĩ câu trả lời của M.S.B. có lẽ là cách tốt nhất để thực hiện những gì bạn đang cố gắng làm. – Chris