ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

shiftdata

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

構文

[x,perm,nshifts] = shiftdata(x,dim)

説明

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

dim がないか空の場合、大きさが 1 でない最初の次元が 1 列目にシフトされ、シフト数が nshifts で返されます。

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

すべて折りたたむ

以下の例では、3 行 3 列の魔方陣 x をシフトして次元 2 を 1 列目に並べ替えます。unshiftdatax を元の形状に戻します。

3 行 3 列の魔方陣を作成します。

x = magic(3)
x = 3×3

     8     1     6
     3     5     7
     4     9     2

行列 x をシフトし、2 次元方向に操作します。置換ベクトル perm とシフト数 nshifts がシフトされた行列と共に返されます。

[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

以下の例では、dim を空に定義した場合の shiftdataunshiftdata の動作を説明します。

x を行ベクトルとして定義します。

x = 1:5
x = 1×5

     1     2     3     4     5

dim を空に定義し、x の大きさが 1 でない最初の次元を 1 列目にシフトします。shiftdatax を列ベクトルとして返し、置換ベクトル perm とシフト数 nshifts も返します。

[x,perm,nshifts] = shiftdata(x,[])
x = 5×1

     1
     2
     3
     4
     5

perm =

     []
nshifts = 1

unshiftdata を使用して、x を元の形状に戻します。

y = unshiftdata(x,perm,nshifts)
y = 1×5

     1     2     3     4     5

R2012b で導入