このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。
rescale
配列要素のスケール範囲
説明
例
単位区間にスケーリング
ベクトルのエントリを区間 [0,1] にスケーリングします。
X = 1:5; R = rescale(X)
R = 1×5
0 0.2500 0.5000 0.7500 1.0000
指定した範囲にスケーリング
ベクトルの要素を区間 [-1,1] にスケーリングします。
X = 1:5; R = rescale(X,-1,1)
R = 1×5
-1.0000 -0.5000 0 0.5000 1.0000
行列の列と行をスケーリング
行列の各列の最小値と最大値を指定して、区間 [0,1] にスケーリングします。rescale
は、InputMin
および InputMax
の値の形状に対応する入力配列の次元に沿ってスケーリングを実行します。
X = magic(3)
X = 3×3
8 1 6
3 5 7
4 9 2
colmin = min(X)
colmin = 1×3
3 1 2
colmax = max(X)
colmax = 1×3
8 9 7
Rcol = rescale(X,"InputMin",colmin,"InputMax",colmax)
Rcol = 3×3
1.0000 0 0.8000
0 0.5000 1.0000
0.2000 1.0000 0
X
の各行を区間 [0,1] にスケーリングします。
rowmin = min(X,[],2)
rowmin = 3×1
1
3
2
rowmax = max(X,[],2)
rowmax = 3×1
8
7
9
Rrow = rescale(X,"InputMin",rowmin,"InputMax",rowmax)
Rrow = 3×3
1.0000 0 0.7143
0 0.5000 1.0000
0.2857 1.0000 0
入力引数
X
— 入力配列
スカラー | ベクトル | 行列 | 多次元配列
入力配列。スカラー、ベクトル、行列または多次元配列として指定します。
X
がsingle
型の場合、出力もsingle
型です。それ以外の場合、出力の型はdouble
です。X
が定数の場合、rescale
は区間の下限 (既定値は 0) またはNaN
(指定した区間にInf
が含まれる場合) を返します。
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| logical
a
— 下限
0 (既定値) | スカラー | ベクトル | 行列 | 多次元配列
下限。スカラー、ベクトル、行列または多次元配列として指定します。a
のサイズは、入力配列に適合するサイズでなければなりません。たとえば、X
が M
行 N
列の行列である場合、rescale
は a
の形状によって決定される次元に沿って動作します。
a
がスカラーの場合、rescale
はこれをX
のすべての要素の下限として使用します。a
が 1 行N
列の行ベクトルの場合、rescale
は各要素をX
の対応する列の下限として使用します。a
がM
行 1 列の列ベクトルの場合、rescale
は各要素をX
の対応する行の下限として使用します。
互換性のある配列サイズの詳細については、基本的な演算で互換性のある配列サイズを参照してください。
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
b
— 上限
1 (既定値) | スカラー | ベクトル | 行列 | 多次元配列
上限。スカラー、ベクトル、行列または多次元配列として指定します。b
のサイズは、入力配列に適合するサイズでなければなりません。たとえば、X
が M
行 N
列の行列である場合、rescale
は b
の形状によって決定される次元に沿って動作します。
b
がスカラーの場合、rescale
はこれをX
のすべての要素の上限として使用します。b
が 1 行N
列の行ベクトルの場合、rescale
は各要素をX
の対応する列の上限として使用します。b
がM
行 1 列の列ベクトルの場合、rescale
は各要素をX
の対応する行の上限として使用します。
互換性のある配列サイズの詳細については、基本的な演算で互換性のある配列サイズを参照してください。
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
名前と値の引数
引数のオプションのペアを Name1=Value1,...,NameN=ValueN
として指定します。ここで Name
は引数名で、Value
は対応する値です。名前と値の引数は他の引数の後になければなりませんが、ペアの順序は重要ではありません。
R2021a より前では、コンマを使用してそれぞれの名前と値を区切り、Name
を引用符で囲みます。
例: B = rescale(A,"InputMin",5,"InputMax",10)
InputMin
— 入力範囲の最小値
スカラー | ベクトル | 行列 | 多次元配列
入力範囲の最小値。スカラー、ベクトル、行列または多次元配列として指定します。入力配列 X
に対する既定値は min(X(:))
です。入力範囲を指定すると、入力データの範囲が拡大または縮小します。たとえば、rescale
は、スケーリングの前に、指定した入力最小値より小さい要素をすべて InputMin
の値に設定します。
InputMin
の値のサイズは、入力配列に適合するサイズでなければなりません。たとえば、X
が M
行 N
列の行列である場合、rescale
は入力最小値の形状によって示される次元に沿って動作します。
入力最小値がスカラーの場合、
rescale
はその最小値をX
のすべての要素に対して使用します。入力最小値が 1 行
N
列の行ベクトルの場合、rescale
は各要素をX
の対応する列の最小値として使用します。入力最小値が
M
行 1 列の列ベクトルの場合、rescale
は各要素をX
の対応する行の最小値として使用します。
互換性のある配列サイズの詳細については、基本的な演算で互換性のある配列サイズを参照してください。
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| logical
InputMax
— 入力範囲の最大値
スカラー | ベクトル | 行列 | 多次元配列
入力範囲の最大値。スカラー、ベクトル、行列または多次元配列として指定します。入力配列 X
に対する既定値は max(X(:))
です。入力範囲を指定すると、入力データの範囲が拡大または縮小します。たとえば、rescale
は、スケーリングの前に、指定した入力最大値より大きい要素をすべて InputMax
の値に設定します。
InputMax
の値のサイズは、入力配列に適合するサイズでなければなりません。たとえば、X
が M
行 N
列の行列である場合、rescale
は入力最大値の形状によって示される次元に沿って動作します。
入力最大値がスカラーの場合、
rescale
はその最大値をX
のすべての要素に対して使用します。入力最大値が 1 行
N
列の行ベクトルの場合、rescale
は各要素をX
の対応する列の最大値として使用します。入力最大値が
M
行 1 列の列ベクトルの場合、rescale
は各要素をX
の対応する行の最大値として使用します。
互換性のある配列サイズの詳細については、基本的な演算で互換性のある配列サイズを参照してください。
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| logical
アルゴリズム
R = rescale(X,a,b,"InputMin",inmin,"InputMax",inmax)
では次の式を使用します。
l + [(X-inmin)./(inmax-inmin)].*(b-a)
これは、X
の値が inmin
と inmax
の境界内にある場合、配列 X
の要素をスケーリングします。
a
とb
が指定されていない場合、rescale
は既定値として 0 および 1 をそれぞれ使用します。InputMin
が指定されていない場合、rescale
はその値を既定値のmin(X(:))
に設定します。InputMax
が指定されていない場合、rescale
はその値を既定値のmax(X(:))
に設定します。
拡張機能
tall 配列
メモリの許容量を超えるような多数の行を含む配列を計算します。
使用上の注意事項および制限事項:
入力
a
とb
、および名前と値の引数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)