MATLAB ヘルプ センター
指定した次元で演算するためのデータ シフト
[y,perm,nshifts] = shiftdata(x,dim)
[y,perm,nshifts] = shiftdata(x,dim) はデータ x をシフトして、組み込み関数 filter と同じ置換を使用し、次元 dim が 1 列目になるように並べ替えます。perm はこの関数が使用する順列です。
y
perm
nshifts
x
dim
filter
メモ
関数 shiftdata は、データを元の形状に戻す関数 unshiftdata とともに使用します。これらの関数は、filter、goertzel、sgolayfilt、sosfilt のように、特定の次元を操作する関数を作成する場合に役立ちます。
shiftdata
unshiftdata
goertzel
sgolayfilt
sosfilt
例
すべて折りたたむ
3 行 3 列の魔方陣をシフトして、2 番目の次元を 1 列目に並べ替えます。この行列を元の形状に戻します。
3 行 3 列の魔方陣を作成します。
x = magic(3)
x = 3×3 8 1 6 3 5 7 4 9 2
行列をシフトし、2 次元方向に操作します。置換ベクトルとシフト数を、シフトされた行列とともに返します。
[x,perm,nshifts] = shiftdata(x,2)
x = 3×3 8 3 4 1 5 9 6 7 2
perm = 1×2 2 1
nshifts = []
この行列を元の形状に戻します。
y = unshiftdata(x,perm,nshifts)
y = 3×3 8 1 6 3 5 7 4 9 2
シフトするデータを行ベクトルとして定義します。
x = 1:5
x = 1×5 1 2 3 4 5
dim を空に定義し、データの大きさが 1 でない最初の次元を 1 列目にシフトします。shiftdata がデータを列ベクトルとして返し、置換ベクトルとシフト数も返します。
dim = []; [x,perm,nshifts] = shiftdata(x,dim)
x = 5×1 1 2 3 4 5
perm = []
nshifts = 1
シフトされたデータを元の形状に戻します。
y = 1×5 1 2 3 4 5
データ。ベクトルまたは行列として指定します。
データ型: single | double
single
double
[]
動作する対象の次元。正の整数または [] として指定します。dim が [] の場合、この関数は大きさが 1 でない最初の次元を 1 列目にシフトし、シフト数を nshifts で返します。
シフトされたデータ。ベクトルまたは行列として返されます。
データのシフトに使用される順列。ベクトルとして返されます。
シフト数。スカラーとして返されます。
すべて展開する
この関数は、GPU 配列を完全にサポートします。詳細については、GPU での MATLAB 関数の実行 (Parallel Computing Toolbox)を参照してください。
関数 shiftdata は C/C++ コード生成をサポートしています。この機能を使用するには、MATLAB® Coder™ が必要です。
permute | shiftdim | unshiftdata
permute
shiftdim
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 のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
ヨーロッパ
アジア太平洋地域
最寄りの営業オフィスへのお問い合わせ