rescale
配列要素のスケール範囲
説明
は、前述の構文の入力引数の任意の組み合わせに加え、1 つ以上の名前と値の引数を使用してオプションを指定します。たとえば、R
= rescale(___,Name,Value
)rescale(A,"InputMin",5)
は、区間 [0, 1] にスケーリングする前に、A
の 5 未満の要素をすべて 5 に設定します。
例
単位区間にスケーリング
ベクトルの要素を単位区間 [0, 1] (rescale
の既定の区間) にスケーリングします。スケーリングでは分布の形状が維持されます。
A = 1:5; R = rescale(A)
R = 1×5
0 0.2500 0.5000 0.7500 1.0000
区間の指定
下限と上限を指定して、ベクトルの要素を区間 [–1, 1] にスケーリングします。
A = 1:5; R = rescale(A,-1,1)
R = 1×5
-1.0000 -0.5000 0 0.5000 1.0000
行列の列における区間および範囲の指定
行列の各列を単位区間 [0, 1] に独立してスケーリングします。行列の各列の最小要素を含む行ベクトルとして入力範囲の最小値を指定します。行列の各列の最大要素を含む行ベクトルとして入力範囲の最大値を指定します。
A = [0.4 -4; 0.5 -5; 0.9 9; 0.2 1]
A = 4×2
0.4000 -4.0000
0.5000 -5.0000
0.9000 9.0000
0.2000 1.0000
colmin = min(A)
colmin = 1×2
0.2000 -5.0000
colmax = max(A)
colmax = 1×2
0.9000 9.0000
R = rescale(A,"InputMin",colmin,"InputMax",colmax)
R = 4×2
0.2857 0.0714
0.4286 0.0000
1.0000 1.0000
0 0.4286
2 番目の列を区間 [–1, 1] にスケーリングします。名前と値の引数 InputMin
および InputMax
に加え、再スケーリングされるデータの上限と下限を指定します。
Rcol = rescale(A,[0 -1],1,"InputMin",colmin,"InputMax",colmax)
Rcol = 4×2
0.2857 -0.8571
0.4286 -1.0000
1.0000 1.0000
0 -0.1429
範囲の指定
入力ベクトルの要素を範囲 [1, 5] にクリップし、ベクトルを既定の区間 [0, 1] に再スケーリングします。クリッピングにより、すべての要素の値が指定した入力範囲に制限されます。
A = [-30 1 2 3 4 5 70]; R = rescale(A,"InputMin",1,"InputMax",5)
R = 1×7
0 0 0.2500 0.5000 0.7500 1.0000 1.0000
入力引数
A
— 入力配列
ベクトル | 行列 | 多次元配列
入力配列。ベクトル、行列または多次元配列として指定します。
A
がsingle
型の場合、出力もsingle
型です。それ以外の場合、出力の型はdouble
です。A
が定数の場合、rescale
は区間の下限 (既定値は 0) またはNaN
(指定した区間にInf
が含まれる場合) を返します。
l
— 下限
0 (既定値) | スカラー | ベクトル | 行列 | 多次元配列
再スケーリングされるデータの下限。スカラー、ベクトル、行列または多次元配列として指定します。l
は上限未満でなければならず、入力配列と互換性のあるサイズでなければなりません。詳細については、基本的な演算で互換性のある配列サイズを参照してください。
A
のすべての要素に対して同じ下限を使用するには、l
をスカラーとして指定します。A
の列または行ごとに異なる下限を使用するには、それぞれ行ベクトルまたは列ベクトルとして l
を指定します。
列または行ごとに異なる区間の上下限を設定した場合でも、rescale
は各列または行のスケーリング値を計算する際に入力配列内のすべての値を考慮します。各列または行を独立して再スケーリングするには、l
および u
をベクトルとして指定することに加え、名前と値の引数 InputMin
および InputMax
をベクトルとして指定して各列または行に沿って入力配列の範囲を設定します。
u
— 上限
1 (既定値) | スカラー | ベクトル | 行列 | 多次元配列
再スケーリングされるデータの上限。スカラー、ベクトル、行列または多次元配列として指定します。u
は下限より大きくなくてはならず、入力配列と互換性のあるサイズでなければなりません。詳細については、基本的な演算で互換性のある配列サイズを参照してください。
A
のすべての要素に対して同じ上限を使用するには、u
をスカラーとして指定します。A
の列または行ごとに異なる上限を使用するには、それぞれ行ベクトルまたは列ベクトルとして u
を指定します。
列または行ごとに異なる区間の上下限を設定した場合でも、rescale
は各列または行のスケーリング値を計算する際に入力配列内のすべての値を考慮します。各列または行を独立して再スケーリングするには、l
および u
をベクトルとして指定することに加え、名前と値の引数 InputMin
および InputMax
をベクトルとして指定して各列または行に沿って入力配列の範囲を設定します。
名前と値の引数
引数のオプションのペアを Name1=Value1,...,NameN=ValueN
として指定します。ここで Name
は引数名で、Value
は対応する値です。名前と値の引数は他の引数の後になければなりませんが、ペアの順序は重要ではありません。
例: R = rescale(A,InputMin=5,InputMax=10)
R2021a より前では、コンマを使用してそれぞれの名前と値を区切り、Name
を引用符で囲みます。
例: R = rescale(A,"InputMin",5,"InputMax",10)
InputMin
— 入力範囲の最小値
スカラー | ベクトル | 行列 | 多次元配列
入力範囲の最小値。スカラー、ベクトル、行列または多次元配列として指定します。InputMin
の既定値は min(A(:))
です。InputMin
のサイズは入力配列と互換性がなければなりません。詳細については、基本的な演算で互換性のある配列サイズを参照してください。
InputMin
を指定して入力配列の範囲をクリップまたは拡大します。rescale
は入力範囲の最小値として、A
の最小値ではなく InputMin
を使用します。A
の InputMin
未満の要素は、スケーリング前に InputMin
の対応する値に設定されます。
A
のすべての要素に対して同じ入力範囲最小値を使用するには、InputMin
をスカラーとして指定します。A
の列を独立してスケーリングするには、InputMin
を行ベクトルとして指定します。A
の行を独立してスケーリングするには、InputMin
を列ベクトルとして指定します。
例: R = rescale(A,"InputMin",5)
例: R = rescale(A,"InputMin",min(A),"InputMax",max(A))
InputMax
— 入力範囲の最大値
スカラー | ベクトル | 行列 | 多次元配列
入力範囲の最大値。スカラー、ベクトル、行列または多次元配列として指定します。InputMax
の既定値は max(A(:))
です。InputMax
のサイズは入力配列と互換性がなければなりません。詳細については、基本的な演算で互換性のある配列サイズを参照してください。
InputMax
を指定して入力配列の範囲をクリップまたは拡大します。rescale
は入力範囲の最大値として、A
の最大値ではなく InputMax
を使用します。InputMax
より大きい A
の要素は、スケーリング前に InputMax
の対応する値に設定されます。
A
のすべての要素に対して同じ入力範囲最大値を使用するには、InputMax
をスカラーとして指定します。A
の列を独立してスケーリングするには、InputMax
を行ベクトルとして指定します。A
の行を独立してスケーリングするには、InputMax
を列ベクトルとして指定します。
例: R = rescale(A,"InputMax",10)
例: R = rescale(A,"InputMin",min(A),"InputMax",max(A))
アルゴリズム
rescale
は式 を使用して、A
の値が InputMin
と InputMax
で定義された範囲内の場合に入力配列 A
の要素をスケーリングします。
l
とu
が指定されていない場合、rescale
は既定値として 0 および 1 をそれぞれ使用します。InputMin
が指定されていない場合、rescale
はその値を既定値のmin(A(:))
に設定します。InputMax
が指定されていない場合、rescale
はその値を既定値のmax(A(:))
に設定します。
拡張機能
tall 配列
メモリの許容量を超えるような多数の行を含む配列を計算します。
使用上の注意事項および制限事項:
入力
l
とu
、および名前と値の引数InputMin
とInputMax
の値は、複数の行をもつことができません。
詳細については、tall 配列を参照してください。
C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。
スレッドベースの環境
MATLAB® の backgroundPool
を使用してバックグラウンドでコードを実行するか、Parallel Computing Toolbox™ の ThreadPool
を使用してコードを高速化します。
この関数はスレッドベースの環境を完全にサポートしています。詳細については、スレッドベースの環境での MATLAB 関数の実行を参照してください。
GPU 配列
Parallel Computing Toolbox™ を使用してグラフィックス処理装置 (GPU) 上で実行することにより、コードを高速化します。
この関数は GPU 配列を完全にサポートしています。詳細については、GPU での MATLAB 関数の実行 (Parallel Computing Toolbox)を参照してください。
分散配列
Parallel Computing Toolbox™ を使用して、クラスターの結合メモリ上で大きなアレイを分割します。
この関数は分散配列を完全にサポートしています。詳細については、分散配列を使用した MATLAB 関数の実行 (Parallel Computing Toolbox)を参照してください。
バージョン履歴
R2017b で導入
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)