Main Content

shiftdim

説明

B = shiftdim(A,n) は、n の分だけ配列 A の次元の位置をシフトします。shiftdim は、n が正の整数の場合は左に、n が負の整数の場合は右に次元をシフトします。たとえば、A が 2×3×4 の配列の場合、shiftdim(A,2) は 4×2×3 の配列を返します。

B = shiftdim(A)A と同じ要素の配列を返しますが、先頭の長さ 1 の次元は削除されます。

[B,m] = shiftdim(A) は、削除された長さ 1 の次元数も返します。

すべて折りたたむ

4×2×3×5 の配列を作成します。次元の位置を 2 個分左にシフトし、最初の長さ 2 を最後の 2 つの次元に移動します。

A = rand(4,2,3,5);
B = shiftdim(A,2);
size(B)
ans = 1×4

     3     5     4     2

次元の位置を 2 個分右にシフトします。その結果、先頭は長さ 1 の 2 つの次元となります。右にシフトしても、次元の長さは移動しません。

C = shiftdim(A,-2); 
size(C)
ans = 1×6

     1     1     4     2     3     5

配列の次元をシフトします。

5 次元配列 A を計算し、先頭の長さ 1 の次元を削除します。関数 shiftdim は 2 つの次元をシフトし、3 次元配列 B を返します。

A = rand(1,1,3,2,4);
[B,nshifts] = shiftdim(A);
nshifts
nshifts = 2
size(B)
ans = 1×3

     3     2     4

B の次元を左に 2 回シフトします。

C = shiftdim(B,2);
size(C)
ans = 1×3

     4     3     2

C の次元を右に 1 回シフトします。

D = shiftdim(C,-1); 
size(D)
ans = 1×4

     1     4     3     2

入力引数

すべて折りたたむ

入力配列。ベクトル、行列または多次元配列として指定します。

次元をシフトする位置の数。整数として指定します。n が正のとき shiftdim は次元を左にシフトし、先頭の次元を最後に移動します。n が負のとき shiftdim は次元を右にシフトし、先頭の長さ 1 の次元がさらにパディングされます。

出力引数

すべて折りたたむ

出力配列。ベクトル、行列または多次元配列として指定します。

削除される次元数。非負の整数として指定します。shiftdim は先頭の長さ 1 の次元のみ削除します。

拡張機能

バージョン履歴

R2006a より前に導入