メインコンテンツ

digitrevorder

入力を桁反転した順序に変更

説明

y = digitrevorder(x,r) は、入力データ x を桁反転した順序で返します。桁反転は、数体系 (進法) の基数 r を使用して計算されます。

[y,i] = digitrevorder(x,r) は、y = x(i) であるような、桁反転された入力データと桁反転されたインデックスを返します。

すべて折りたたむ

9 つの値を含むベクトルを基数 3 で桁反転順にした出力を得ます。基数 3 に変換してその桁数を反転して同じ結果を得ます。

x = (0:8)';

y = digitrevorder(x,3);

c1 = dec2base(x,3);
c2 = fliplr(c1);
c3 = base2dec(c2,3);

T = table(x,y,c1,c2,c3)
T=9×5 table
    x    y    c1    c2    c3
    _    _    __    __    __

    0    0    00    00    0 
    1    3    01    10    3 
    2    6    02    20    6 
    3    1    10    01    1 
    4    4    11    11    4 
    5    7    12    21    7 
    6    2    20    02    2 
    7    5    21    12    5 
    8    8    22    22    8 

入力引数

すべて折りたたむ

入力データ。ベクトルまたは行列として指定します。x の長さは r の整数乗でなければなりません。x が行列の場合は、サイズが 1 より大きい x の最初の次元で桁反転が発生します。

進法の基数。範囲 [2, 36] 内の整数で指定します。

出力引数

すべて折りたたむ

桁反転したデータ。ベクトルまたは行列として返されます。yx と同じサイズです。

桁反転したインデックス。ベクトルまたは行列として返されます。

メモ

MATLAB® の行列ではインデックスが 1 から始まるため、y の最初のインデックスは 0 ではなく 1 になります。

詳細

すべて折りたたむ

ヒント

  • 関数 digitrevorder は、周波数領域でのフィルター処理アルゴリズムで使用するためにフィルター係数のベクトルの要素をあらかじめ並べ替えるのに便利です。これらのアルゴリズムでは、実行時の効率を向上させるために、fftifft の変換は桁反転を行わずに計算されます。

拡張機能

すべて展開する

バージョン履歴

R2006a より前に導入

参考

| |