MATLAB ヘルプ センター
配列次元のシフト
B = shiftdim(A,n)
B = shiftdim(A)
[B,m] = shiftdim(A)
B = shiftdim(A,n) は、n の分だけ配列 A の次元の位置をシフトします。shiftdim は、n が正の整数の場合は左に、n が負の整数の場合は右に次元をシフトします。たとえば、A が 2×3×4 の配列の場合、shiftdim(A,2) は 4×2×3 の配列を返します。
B
A
n
shiftdim
shiftdim(A,2)
例
B = shiftdim(A) は A と同じ要素の配列を返しますが、先頭の長さ 1 の次元は削除されます。
[B,m] = shiftdim(A) は、削除された長さ 1 の次元数も返します。
m
すべて折りたたむ
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 回シフトします。
C
D = shiftdim(C,-1); size(D)
ans = 1×4 1 4 3 2
入力配列。ベクトル、行列または多次元配列として指定します。
次元をシフトする位置の数。整数として指定します。n が正のとき shiftdim は次元を左にシフトし、先頭の次元を最後に移動します。n が負のとき shiftdim は次元を右にシフトし、先頭の長さ 1 の次元がさらにパディングされます。
出力配列。ベクトル、行列または多次元配列として指定します。
削除される次元数。非負の整数として指定します。shiftdim は先頭の長さ 1 の次元のみ削除します。
すべて展開する
使用上の注意および制限:
入力配列 A を cell 配列にすることはできません。
入力引数 n を使用する場合、コード生成時に定数でなければなりません。
入力引数 n を指定しない場合、コード ジェネレーターは、可変サイズであるか固定サイズが 1 より大きい A の最初の次元を特定します。この次元がコード生成時に可変サイズで実行時に 1 になる場合、ランタイム エラーが発生することがあります。
n が正で、A の最後の次元がコード生成時に可変サイズである場合、この次元のサイズが実行時に 1 になることはありません。
使用上の注意および制限については、「C/C++ コード生成」セクションを参照してください。GPU コード生成にも同様の、使用上の注意および制限が適用されます。
backgroundPool
ThreadPool
shiftdim 関数はスレッドベースの環境を完全にサポートしています。詳細については、スレッドベースの環境での MATLAB 関数の実行を参照してください。
shiftdim 関数は、GPU 配列を完全にサポートします。GPU 上で関数を実行するには、入力データを gpuArray (Parallel Computing Toolbox) として指定します。詳細については、GPU での MATLAB 関数の実行 (Parallel Computing Toolbox)を参照してください。
gpuArray
shiftdim 関数は分散配列を完全にサポートしています。詳細については、分散配列を使用した MATLAB 関数の実行 (Parallel Computing Toolbox)を参照してください。
R2006a より前に導入
circshift | reshape | squeeze | permute
circshift
reshape
squeeze
permute
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
ヨーロッパ
アジア太平洋地域
最寄りの営業オフィスへのお問い合わせ