展開 (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).