CSHIFT(ARRAY, SHIFT, DIM)

目的

配列の所定の次元に沿ったすべてのベクトルのエレメントをシフトします。 シフトは循環です。つまり、一方の端がシフトオフされたエレメントは、 もう一方の端に再び挿入されます。

クラス

変換関数

引き数の型と属性

ARRAY
任意の型の配列です。

SHIFT
ARRAY のランクが 1 の場合はスカラー整数でなければなりません。 ARRAY のランクが 1 でない場合は、ランク rank(ARRAY)-1 の スカラー整数または整数式になります。

DIM (オプション)
1 <= DIM <= rank(ARRAY) の 範囲内の整数スカラーです。存在しない場合、デフォルトは 1 になります。

結果の値

結果は、ARRAY と同じ形状とデータ型を持つ配列になります。

SHIFT がスカラーの場合は、個々のベクトルに同じシフトが適用されます。 それ以外の場合は、個々のベクトル ARRAY (s1, s2, ..., s(DIM-1), :, s(DIM+1), ..., sn) は、SHIFT (s1, s2, ..., s(DIM-1), s(DIM+1), ..., sn) 内の対応する値に従ってシフトされます。

SHIFT の絶対値は、シフトの量を決定します。 SHIFT の符号は、シフトの方向を決定します。

正の SHIFT
ベクトルの個々のエレメントをベクトルの先頭に向かって移動します。

負の SHIFT
ベクトルの個々のエレメントをベクトルの終わりに向かって移動します。

ゼロ SHIFT
シフトを行いません。 ベクトルの値は変更されません。

! A is the array | A D G |
!                | B E H |
!                | C F I |
 
! Shift the first column down one, the second column
! up one, and leave the third column unchanged.
       RES = CSHIFT (A, SHIFT = (/-1,1,0/), DIM = 1)
! The result is | C E G |
!               | A F H |
!               | B D I |
 
! Do the same shifts as before, but on the rows
! instead of the columns.
       RES = CSHIFT (A, SHIFT = (/-1,1,0/), DIM = 2)
! The result is | G A D |
!               | E H B |
!               | C F I |
IBM Copyright 2003