ドキュメンテーション

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

rescale

配列要素のスケール範囲

構文

B = rescale(A)
B = rescale(A,l,u)
B = rescale(___,Name,Value)

説明

B = rescale(A) は、配列のエントリを [0,1] の区間にスケーリングします。出力配列 B は、A と同じサイズです。

B = rescale(A,l,u) は、配列のエントリを [l,u] の区間にスケーリングします。

B = rescale(___,Name,Value) は、前述の構文のいずれかについて、配列のスケーリングの追加パラメーターを指定します。たとえば、rescale(A,'InputMin',5) は、範囲 [0,1] にスケーリングする前に、A の要素のうち 5 未満の要素をすべて 5 に設定します。

すべて折りたたむ

ベクトルのエントリを区間 [0,1] にスケーリングします。

A = 1:5;
B = rescale(A)
B = 1×5

         0    0.2500    0.5000    0.7500    1.0000

ベクトルの要素を区間 [-1,1] にスケーリングします。

A = 1:5;
B = rescale(A,-1,1)
B = 1×5

   -1.0000   -0.5000         0    0.5000    1.0000

行列の各列の最小値と最大値を指定して、区間 [0,1] にスケーリングします。rescale は、'InputMin' および 'InputMax' パラメーター値の形状に対応する入力配列の次元に沿ってスケーリングを実行します。

A = magic(3)
A = 3×3

     8     1     6
     3     5     7
     4     9     2

colmin = min(A)
colmin = 1×3

     3     1     2

colmax = max(A)
colmax = 1×3

     8     9     7

Bcol = rescale(A,'InputMin',colmin,'InputMax',colmax)
Bcol = 3×3

    1.0000         0    0.8000
         0    0.5000    1.0000
    0.2000    1.0000         0

A の各行を区間 [0,1] にスケーリングします。

rowmin = min(A,[],2)
rowmin = 3×1

     1
     3
     2

rowmax = max(A,[],2)
rowmax = 3×1

     8
     7
     9

Brow = rescale(A,'InputMin',rowmin,'InputMax',rowmax)
Brow = 3×3

    1.0000         0    0.7143
         0    0.5000    1.0000
    0.2857    1.0000         0

入力引数

すべて折りたたむ

入力配列。スカラー、ベクトル、行列または多次元配列として指定します。

  • Asingle 型の場合、出力も single 型です。それ以外の場合、出力の型は double です。

  • A がスカラーの場合、rescale は区間の下限 (既定値は 0) または NaN (出力範囲に Inf が含まれる場合) を返します。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical

下限。スカラー、ベクトル、行列または多次元配列として指定します。l のサイズは、入力配列に適合するサイズでなければなりません。たとえば、A が M 行 N 列の行列である場合、rescalel の形状によって示される次元に沿って動作します。

  • l がスカラーの場合、rescale はこれを A のすべての要素の下限として使用します。

  • l が 1 行 N 列の行ベクトルの場合、rescale は各要素を A の対応する列の下限として使用します。

  • l が M 行 1 列の列ベクトルの場合、rescale は各要素を A の対応する行の下限として使用します。

互換性のある配列サイズの詳細については、基本的な演算で互換性のある配列サイズを参照してください。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

上限。スカラー、ベクトル、行列または多次元配列として指定します。u のサイズは、入力配列に適合するサイズでなければなりません。たとえば、A が M 行 N 列の行列である場合、rescaleu の形状によって示される次元に沿って動作します。

  • u がスカラーの場合、rescale はこれを A のすべての要素の上限として使用します。

  • u が 1 行 N 列の行ベクトルの場合、rescale は各要素を A の対応する列の上限として使用します。

  • u が M 行 1 列の列ベクトルの場合、rescale は各要素を A の対応する行の上限として使用します。

互換性のある配列サイズの詳細については、基本的な演算で互換性のある配列サイズを参照してください。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

名前と値のペアの引数

オプションの Name,Value の引数ペアをコンマ区切りで指定します。Name は引数名で、Value は対応する値です。Name は引用符で囲まなければなりません。Name1,Value1,...,NameN,ValueN のように、複数の名前と値のペアの引数を任意の順序で指定できます。

例: B = rescale(A,'InputMin',5,'InputMax',10)

入力範囲の最小値。スカラー、ベクトル、行列または多次元配列として指定します。入力配列 A に対する既定値は min(A(:)) です。入力範囲を指定すると、入力データの範囲が拡大または縮小します。たとえば、rescale は、スケーリングの前に、指定した入力最小値より小さい要素をすべて 'InputMin' 値に設定します。

'InputMin' 値のサイズは、入力配列に適合するサイズでなければなりません。たとえば、A が M 行 N 列の行列である場合、rescale は入力最小値の形状によって示される次元に沿って動作します。

  • 入力最小値がスカラーの場合、rescale はその最小値を A のすべての要素に対して使用します。

  • 入力最小値が 1 行 N 列の行ベクトルの場合、rescale は各要素を A の対応する列の最小値として使用します。

  • 入力最小値が M 行 1 列の列ベクトルの場合、rescale は各要素を A の対応する行の最小値として使用します。

互換性のある配列サイズの詳細については、基本的な演算で互換性のある配列サイズを参照してください。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

入力範囲の最大値。スカラー、ベクトル、行列または多次元配列として指定します。入力配列 A に対する既定値は max(A(:)) です。入力範囲を指定すると、入力データの範囲が拡大または縮小します。たとえば、rescale は、スケーリングの前に、指定した入力最大値より大きい要素をすべて 'InputMax' 値に設定します。

'InputMax' 値のサイズは、入力配列に適合するサイズでなければなりません。たとえば、A が M 行 N 列の行列である場合、rescale は入力最大値の形状によって示される次元に沿って動作します。

  • 入力最大値がスカラーの場合、rescale はその最大値を A のすべての要素に対して使用します。

  • 入力最大値が 1 行 N 列の行ベクトルの場合、rescale は各要素を A の対応する列の最大値として使用します。

  • 入力最大値が M 行 1 列の列ベクトルの場合、rescale は各要素を A の対応する行の最大値として使用します。

互換性のある配列サイズの詳細については、基本的な演算で互換性のある配列サイズを参照してください。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

アルゴリズム

B = rescale(A,l,u,'InputMin',inmin,'InputMax',inmax) では次の式を使用します。

l + [(A-inmin)./(inmax-inmin)].*(u-l)

これにより、配列 A の要素がスケーリングされます。

  • lu が指定されていない場合、rescale は既定値として 0 および 1 をそれぞれ使用します。

  • 名前と値のペア 'InputMin' が指定されていない場合、rescale はその値を既定値の min(A(:)) に設定します。

  • 名前と値のペア 'InputMax' が指定されていない場合、rescale はその値を既定値の max(A(:)) に設定します。

拡張機能

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

参考

| |

R2017b で導入