Main Content

deintrlv

シンボル順序の復元

説明

deintrlved = deintrlv(data,elements) は、intrlv の逆関数として機能し、data の要素の元の順序を復元します。

すべて折りたたむ

関数 intrlv を使用して、ベクトルの要素を関数 randperm で決定されたランダム置換ベクトルに再配置します。関数 deintrlv を使用し、同じランダム置換ベクトルを再利用して、元のベクトルの要素の順序を復元します。これは、関数 intrlv と関数 deintrlv が逆の関係にあることを示します。

入力信号 data、および置換ベクトル elements を生成します。

data = 10:10:100
data = 1×10

    10    20    30    40    50    60    70    80    90   100

elements = randperm(10) % Permutation vector
elements = 1×10

     6     3     7     8     5     1     2     4     9    10

関数 intrlv を使用し、置換ベクトルに基づいて入力信号を並べ替え、関数 deintrlv を使用して入力信号の順序を復元します。

a = intrlv(data,elements)
a = 1×10

    60    30    70    80    50    10    20    40    90   100

b = deintrlv(a,elements)
b = 1×10

    10    20    30    40    50    60    70    80    90   100

関数 intrlv を使用して、行列の列に含まれる要素を関数 randperm で決定されたランダムな置換ベクトルに再配置します。関数 deintrlv を使用し、同じランダム置換ベクトルを再利用して、元の行列の要素の順序を復元します。これにより、関数 intrlv と関数 deintrlv が逆の関係にあることを示します。

入力信号 data、および置換ベクトル elements を生成します。

data(:,1) = 10:10:100
data = 10×1

    10
    20
    30
    40
    50
    60
    70
    80
    90
   100

data(:,2) = 0.1:0.1:1
data = 10×2

   10.0000    0.1000
   20.0000    0.2000
   30.0000    0.3000
   40.0000    0.4000
   50.0000    0.5000
   60.0000    0.6000
   70.0000    0.7000
   80.0000    0.8000
   90.0000    0.9000
  100.0000    1.0000

elements = randperm(10) % Permutation vector
elements = 1×10

     6     3     7     8     5     1     2     4     9    10

関数 intrlv を使用し、置換ベクトルに基づいて入力信号を並べ替えてから、関数 deintrlv を使用して入力信号の順序を復元します。

a = intrlv(data,elements)
a = 10×2

   60.0000    0.6000
   30.0000    0.3000
   70.0000    0.7000
   80.0000    0.8000
   50.0000    0.5000
   10.0000    0.1000
   20.0000    0.2000
   40.0000    0.4000
   90.0000    0.9000
  100.0000    1.0000

b = deintrlv(a,elements)
b = 10×2

   10.0000    0.1000
   20.0000    0.2000
   30.0000    0.3000
   40.0000    0.4000
   50.0000    0.5000
   60.0000    0.6000
   70.0000    0.7000
   80.0000    0.8000
   90.0000    0.9000
  100.0000    1.0000

入力引数

すべて折りたたむ

ベクトルまたは行列として指定される入力信号。data が複数の行と列をもつ行列である場合、この関数は列を個別に処理します。

data が長さ N のベクトルまたは N 行の行列である場合、elements は、1 ~ N の整数の順序を変更する長さ N のベクトルです。この関数を関数 intrlv の逆関数として使用するには、両方の関数で同じ elements 入力を使用します。その場合、2 つの関数は関数 intrlv の後に関数 deintrlv を適用してもデータが変更されないという意味で、逆関数といえます。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | fi
複素数のサポート: あり

置換ベクトル。整数ベクトルとして指定します。この置換ベクトルは、入力信号の復元に使用するマッピングを指定します。置換ベクトルは、長さが入力信号の長さと等しくなければならず、範囲 [1 length(x,1)] の各整数 k が含まれていなければなりません。data が長さ N のベクトルまたは N 行の行列である場合、elements は長さ N のベクトルでなければならず、範囲 [1 length(x,1)] の各整数が含まれていなければなりません。elements の順番は、data の要素またはその列が deintrlved に表示される順番になります。

データ型: double

出力引数

すべて折りたたむ

デインターリーブされたデータ。入力信号 data と次元およびデータ型が同じベクトルまたは行列として返されます。出力には、範囲 [1 length(data,1)] の各整数 k について deintrlved(elements(k),n) = data(k,n) としてマッピングされた入力信号の要素が含まれます。

拡張機能

C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。

バージョン履歴

R2006a より前に導入

参考