Main Content

shiftdata

指定した次元で演算するためのデータ シフト

説明

[y,perm,nshifts] = shiftdata(x,dim) はデータ x をシフトして、組み込み関数 filter と同じ置換を使用し、次元 dim が 1 列目になるように並べ替えます。perm はこの関数が使用する順列です。

メモ

関数 shiftdata は、データを元の形状に戻す関数 unshiftdata とともに使用します。これらの関数は、filtergoertzelsgolayfiltsosfilt のように、特定の次元を操作する関数を作成する場合に役立ちます。

すべて折りたたむ

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 = unshiftdata(x,perm,nshifts)
y = 1×5

     1     2     3     4     5

入力引数

すべて折りたたむ

データ。ベクトルまたは行列として指定します。

データ型: single | double

動作する対象の次元。正の整数または [] として指定します。dim[] の場合、この関数は大きさが 1 でない最初の次元を 1 列目にシフトし、シフト数を nshifts で返します。

データ型: single | double

出力引数

すべて折りたたむ

シフトされたデータ。ベクトルまたは行列として返されます。

データのシフトに使用される順列。ベクトルとして返されます。

シフト数。スカラーとして返されます。

拡張機能

バージョン履歴

R2012b で導入