展開 (SOURCE、DIM、NCOPIES)
用途
複製其他維度中的陣列,方法是複製該維度上的現有元素。
類別
轉換函數
引數類型和屬性
- SOURCE
INTENT(IN)引數。 對應的實際引數可以是任何資料類型的陣列或純量。 SOURCE 的等級上限值為 19。- DIM
INTEGER純量。 其值必須在 1 ≤ DIM ≤ rank (SOURCE) + 1 的範圍內。 與大部分其他陣列本質函數不同, SPREAD 需要 DIM 引數。- NCOPIES
INTEGER純量。 它會變成新增至結果之額外維度的延伸範圍。
結果類型和屬性
結果是等級等級 (SOURCE) + 1 的陣列,具有與 來源相同的類型和類型參數。
結果值
如果 SOURCE 是純量,則結果是具有 NCOPIES 元素的一維陣列,每一個元素都具有值 SOURCE。
如果 SOURCE 是陣列,則結果是等級 (SOURCE) + 1 的陣列。 沿著維度 DIM ,結果的每一個陣列元素都等於 SOURCE 中對應的陣列元素。
如果 NCOPIES 小於或等於零,則結果是大小為零的陣列。
範例
! A is the array (/ -4.7, 6.1, 0.3 /)
RES = SPREAD( A, DIM = 1, NCOPIES = 3 )
! The result is | -4.7 6.1 0.3 |
! | -4.7 6.1 0.3 |
! | -4.7 6.1 0.3 |
! DIM=1 extends each column. Each element in RES(:,1)
! becomes a copy of A(1), each element in RES(:,2) becomes
! a copy of A(2), and so on.
RES = SPREAD( A, DIM = 2, NCOPIES = 3 )
! The result is | -4.7 -4.7 -4.7 |
! | 6.1 6.1 6.1 |
! | 0.3 0.3 0.3 |
! DIM=2 extends each row. Each element in RES(1,:)
! becomes a copy of A(1), each element in RES(2,:)
! becomes a copy of A(2), and so on.
RES = SPREAD( A, DIM = 2, NCOPIES = 0 )
! The result is (/ /) (a zero-sized array).