SPREAD(SOURCE, DIM, NCOPIES)

目的

その次元に沿った既存のエレメントをコピーすることによって、 追加の次元内の配列を複製します。

クラス

変換関数

引き数の型と属性

SOURCE
配列またはスカラーを使用できます。 どのようなデータ型でも持つことができます。 SOURCE のランクは、最大値 19 を持ちます。

DIM
1 <= DIM <= rank(SOURCE)+1 の範囲内の整数スカラーです。他のほとんどの配列組み込み関数とは異なり、SPREAD は DIM 引き数が必要です。

NCOPIES
整数スカラーです。 これは、結果に追加される余分の次元のエクステントになります。

結果の値と属性

結果は、ランクが rank(SOURCE)+1 で、型および型付きパラメーターが source と同じです。

結果の値

SOURCE がスカラーの場合、結果は NCOPIES 個のエレメントを持ち、 そのおのおのが値 SOURCE を持つ 1 次元の配列になります。

SOURCE が配列の場合は、結果はランク rank(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).
IBM Copyright 2003