half
半精度数値オブジェクトの作成
説明
half
コンストラクターを使用して半精度データ型を数値または変数に代入します。半精度データ型は 16 ビットのメモリを占有しますが、その浮動小数点表現を使ってこのデータ型で同じサイズの整数データ型または固定小数点データ型よりも広いダイナミック レンジを処理できます。詳細については、浮動小数点数および半精度とはを参照してください。
半精度入力でのコード生成をサポートする関数のリストについては、半精度コード生成のサポートを参照してください。
作成
入力引数
v
— 入力配列
スカラー | ベクトル | 行列 | 多次元配列
入力配列。スカラー、ベクトル、行列または多次元配列として指定します。
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| logical
複素数のサポート: あり
オブジェクト関数
これらの関数は、MATLAB® における半精度入力でのシミュレーションでサポートされます。MATLAB System object™ では半精度データ型がサポートされ、MATLAB Systemブロックでは実数値をもつ半精度データ型がサポートされます。半精度入力でのコード生成をサポートする関数のリストについては、半精度コード生成のサポートを参照してください。
数学と算術
abs | 絶対値と複素数の大きさ |
acos | ラジアン単位の逆余弦 |
acosh | 逆双曲線余弦 |
asin | ラジアン単位の逆正弦 |
asinh | 逆双曲線正弦 |
atan | ラジアン単位の逆正接 |
atan2 | 4 象限逆正接 |
atanh | 逆双曲線正接 |
ceil | 正の無限大方向に丸める |
conj | 複素共役 |
conv | 畳み込みおよび多項式乗算 |
conv2 | 2 次元の畳み込み |
cos | 引数の余弦 (単位: ラジアン) |
cosh | 双曲線余弦 |
cospi | cos(X*pi) を正確に計算 |
cumsum | 累積和 |
dot | ドット積 |
exp | 指数 |
expm1 | 小さい X の exp(X)-1 を正確に計算 |
fft | 高速フーリエ変換 |
fft2 | 2 次元の高速フーリエ変換 |
fftn | N 次元の高速フーリエ変換 |
fftshift | ゼロ周波数成分をスペクトルの中心に移動 |
fix | ゼロ方向への丸め |
fixed.interp1 | 1-D data interpolation (table lookup) |
fixed.interp2 | Interpolation for 2-D gridded data in meshgrid
format |
fixed.interp3 | Interpolation for 3-D gridded data in meshgrid
format |
fixed.interpn | Interpolation for 1-D, 2-D, 3-D, and N-D gridded data in
ndgrid format |
floor | 負の無限大方向の丸め |
fma | 融合積和演算法を使用した乗算と加算 |
hypot | 二乗和の平方根 (斜辺) |
ifft | 逆フーリエ高速変換 |
ifft2 | 2 次元逆高速フーリエ変換 |
ifftn | 多次元逆高速フーリエ変換 |
ifftshift | 逆ゼロ周波数シフト |
imag | 複素数の虚数部 |
ldivide | 配列の左除算 |
log | 自然対数 |
log10 | 常用対数 (10 を底とする) |
log1p | 小さい X の 1+X の自然対数を正確に計算 |
log2 | 2 を底とした対数と浮動小数点数分解 |
mean | 配列の平均値 |
minus | 減算 |
mldivide | x に対する線形方程式 Ax = B の求解 |
mod | 除算後の剰余 (モジュロ演算) |
mrdivide | x に対する線形方程式 xA = B の求解 |
mtimes | 行列乗算 |
plus | 数値の加算と string の付加 |
pow10 | 基数 10 べき乗と半精度数のスケーリング |
pow2 | 2 を底とする指数と浮動小数点数のスケーリング |
power | 要素単位のべき乗 |
prod | 配列要素の積 |
rdivide | 配列の右除算 |
real | 複素数の実数部 |
rem | 除算後の剰余 |
round | 最も近い小数または整数への丸め |
rsqrt | 逆数平方根 |
sign | 符号関数 (関数 signum) |
sin | ラジアン単位の引数の正弦 |
sinh | 双曲線正弦 |
sinpi | sin(X*pi) を正確に計算 |
sqrt | 平方根 |
sum | 配列要素の和 |
tan | ラジアン単位の引数の正接 |
tanh | 双曲線正接 |
times | 乗算 |
uminus | 単項マイナス |
uplus | 単項プラス |
データ型
allfinite | すべての配列要素が有限かどうかの判別 |
anynan | いずれかの配列要素が NaN であるかどうかを判別 |
cast | 変数を別のデータ型に変換 |
cell | cell 配列 |
double | 倍精度配列 |
eps | 浮動小数点相対精度 |
flintmax | 浮動小数点形式の最大連続整数 |
Inf | すべて Inf 値の配列の作成 |
int16 | 16 ビット符号付き整数配列 |
int32 | 32 ビット符号付き整数配列 |
int64 | 64 ビット符号付き整数配列 |
int8 | 8 ビット符号付き整数配列 |
isa | 入力が指定したデータ型であるかどうかを判定 |
isfloat | 入力が浮動小数点データ型かどうかを判別 |
isinteger | 入力が整数配列かどうかを判別する |
islogical | 入力が logical 配列かどうかを判別 |
isnan | NaN の配列要素の判別 |
isnumeric | 入力が数値配列かどうかを判別 |
isobject | 入力が MATLAB オブジェクトかどうかを判別 |
isreal | 配列で複素数ストレージを使用するかどうかを判別 |
logical | 数値を logical に変換 |
NaN | すべて NaN 値の配列の作成 |
realmax | 正の最大浮動小数点数 |
realmin | 最小正規化浮動小数点数 |
single | 単精度配列 |
storedInteger | fi オブジェクトの格納整数値 |
typecast | 基となるデータを変更せずにデータ型を変換 |
uint16 | 16 ビット符号なし整数配列 |
uint32 | 32 ビット符号なし整数配列 |
uint64 | 64 ビット符号なし整数配列 |
uint8 | 8 ビット符号なし整数配列 |
関係演算子および論理演算子
配列と行列の演算
cat | 配列の連結 |
chol | コレスキー分解 |
circshift | 配列を循環シフト |
colon | ベクトルの作成、配列の添字、および for ループの反復 |
complex | 複素数配列の作成 |
ctranspose | 複素共役転置 |
empty | 指定されたクラスの空の配列を作成 |
eye | 単位行列 |
flip | 要素の順序の反転 |
fliplr | 配列の左右の反転 |
flipud | 配列の上下の反転 |
horzcat | 異種混合配列の水平連結 |
iscolumn | 入力が列ベクトルかどうかを判別 |
isempty | 配列が空かどうかを判別 |
isfinite | 有限の配列要素の判別 |
isinf | 無限の配列要素の判別 |
ismatrix | 入力が行列かどうかを判別 |
isrow | 入力が行ベクトルかどうかを判別 |
isscalar | 入力がスカラーかどうかを判別 |
issorted | 配列が並べ替えられているかどうかを判別 |
isvector | 入力がベクトルかどうかを判別 |
length | 最大の配列の次元の長さ |
lu | 行列の LU 分解 |
max | 配列の最大要素 |
min | 配列の最小要素 |
ndims | 配列の次元数 |
numel | 配列の要素数 |
ones | すべての要素が 1 の配列の作成 |
permute | 配列の次元の並べ替え |
repelem | 配列要素のコピーの繰り返し |
repmat | 配列のコピーの繰り返し |
reshape | 既存の要素を再配列して配列を形状変更する |
size | 配列サイズ |
sort | 配列要素の並べ替え |
squeeze | 長さ 1 の次元の削除 |
transpose | ベクトルまたは行列の転置 |
vertcat | 異種混合配列の垂直連結 |
zeros | すべての要素が 0 の配列の作成 |
グラフィックス
深層学習
activations (Deep Learning Toolbox) | (非推奨) 深層学習ネットワーク層の活性化の計算 |
classify (Deep Learning Toolbox) | (非推奨) 学習済み深層学習ニューラル ネットワークを使用したデータの分類 |
predict (Deep Learning Toolbox) | 学習済みの自己符号化器を使用した入力の再構成 |
predictAndUpdateState (Deep Learning Toolbox) | (非推奨) 学習済み再帰型ニューラル ネットワークを使用した応答の予測とネットワーク状態の更新 |
サポートされている関数のリストを表示するには、MATLAB コマンド ウィンドウで次を入力します。
methods(half(1))
例
半精度への値の変換
倍精度数を半精度にキャストするには、関数 half
を使用します。
a = half(pi)
a = half 3.1406
関数 half
を使用して、既存の変数を半精度にキャストすることもできます。
v = single(magic(3))
v = 3x3 single matrix
8 1 6
3 5 7
4 9 2
a = half(v)
a = 3x3 half matrix 8 1 6 3 5 7 4 9 2
拡張機能
C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。
半精度入力でのコード生成をサポートする関数のリストと関連する制限事項については、半精度コード生成のサポートを参照してください。
半精度をネイティブでサポートしていないターゲット ハードウェアの場合、
half
はストレージ型として使用され、単精度で算術演算が実行されます。一部の関数では、ターゲット ハードウェアに関係なく、
half
はストレージ型としてのみ使用され、演算は単精度で実行されます。深層学習コード生成の場合、half 入力は単精度にキャストされ、計算は単精度で実行されます。
MATLAB では、関数
isobject
は半精度入力について true を返します。生成コードでは、この関数は false を返します。
GPU コード生成
GPU Coder™ を使用して NVIDIA® GPU のための CUDA® コードを生成します。
半精度入力でのコード生成をサポートする関数のリストと関連する制限事項については、半精度コード生成のサポートを参照してください。
半精度データ型を含むコードの生成と実行には、CUDA® Compute Capability 5.3 以上が必要です。
半精度データ型を含むコードの生成と実行には、CUDA ツールキット Version 10.0 以降が必要です。
CUDA コードを生成するには、メモリ割り当て (
malloc
) モードを'Discrete'
に設定しなければなりません。半精度の複素数データ型は GPU コード生成ではサポートされません。
半精度をネイティブでサポートしていないターゲット ハードウェアの場合、
half
はストレージ型として使用され、単精度で算術演算が実行されます。一部の関数では、ターゲット ハードウェアに関係なく、
half
はストレージ型としてのみ使用され、演算は単精度で実行されます。深層学習コード生成の場合、half 入力は単精度にキャストされ、計算は単精度で実行されます。計算を half で実行するには、
coder.DeepLearningConfig
でライブラリ ターゲットを'tensorrt'
に設定し、データ型を'FP16'
に設定します。MATLAB では、関数
isobject
は半精度入力について true を返します。生成コードでは、この関数は false を返します。
バージョン履歴
R2018b で導入
参考
トピック
- 半精度コード生成のサポート
- 浮動小数点数
- 半精度とは
- 半精度データ型を使用するソーベル エッジ検出のコードの生成 (MATLAB Coder)
- 半精度のソーベル方式によるエッジ検出 (GPU Coder)
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)