cast
変数を別のデータ型に変換
説明
例
数値データ型の変換
int8
値を uint8
に変換します。
8 ビット整数のベクトルを定義します。
a = int8([-5 5]);
a
を符号なしの 8 ビット整数に変換します。uint8
の範囲外である -5 の値は 0 に切り捨てられます。
b = cast(a,"uint8")
b = 1x2 uint8 row vector
0 5
ベクトルの既存のデータ型への変換
32 ビットの符号付き整数の 1 行 3 列のベクトルを作成します。
A = int32([-12 34 56])
A = 1x3 int32 row vector
-12 34 56
データ型が double
の複素数を作成します。
p = 1+2i
p = 1.0000 + 2.0000i
A
を、変数 p
と同じデータ型と実数/複素数に変換します。
B = cast(A,"like",p)
B = 1×3 complex
-12.0000 + 0.0000i 34.0000 + 0.0000i 56.0000 + 0.0000i
行列の既存のデータ型への変換
要素が 32 ビットの符号なし整数である 2 行 3 列のゼロの行列を作成します。
A = zeros(2,3,"uint32")
A = 2x3 uint32 matrix
0 0 0
0 0 0
データ型が double
の 2 行 2 列のスパース行列を作成します。
p = sparse(2,2,pi)
p = (2,2) 3.1416
A
を変数 p
と同じデータ型およびスパース性に変換します。
B = cast(A,"like",p)
B = All zero sparse: 2x3
入力引数
A
— 入力配列
スカラー | ベクトル | 行列 | 多次元配列
入力配列。スカラー、ベクトル、行列または多次元配列として指定します。
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| logical
| char
複素数のサポート: あり
newclass
— 新規クラス
"single"
| "double"
| "int8"
| "int16"
| "int32"
| "int64"
| "uint8"
| "uint16"
| "uint32"
| "uint64"
| "logical"
| "char"
新規クラス。"single"
、"double"
、"int8"
、"int16"
、"int32"
、"int64"
、"uint8"
、"uint16"
、"uint32"
、"uint64"
、"logical"
または "char"
として指定します。
p
— プロトタイプ
スカラー | ベクトル | 行列 | 多次元配列
プロトタイプ。スカラー、ベクトル、行列、または多次元配列として指定します。
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| logical
| char
複素数のサポート: あり
拡張機能
C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。
使用上の注意事項および制限事項:
列挙型入力は、コンパイル時にスカラー値でなければなりません。列挙型の配列はサポートされていません。
GPU コード生成
GPU Coder™ を使用して NVIDIA® GPU のための CUDA® コードを生成します。
使用上の注意事項および制限事項:
列挙型入力は、コンパイル時にスカラー値でなければなりません。列挙型の配列はサポートされていません。
スレッドベースの環境
MATLAB® の backgroundPool
を使用してバックグラウンドでコードを実行するか、Parallel Computing Toolbox™ の ThreadPool
を使用してコードを高速化します。
この関数はスレッドベースの環境を完全にサポートしています。詳細については、スレッドベースの環境での MATLAB 関数の実行を参照してください。
GPU 配列
Parallel Computing Toolbox™ を使用してグラフィックス処理装置 (GPU) 上で実行することにより、コードを高速化します。
使用上の注意事項および制限事項:
構文
B = cast(A,'like',p)
では、p
がgpuArray
である場合にのみ、出力B
がgpuArray
になります。
詳細については、GPU での MATLAB 関数の実行 (Parallel Computing Toolbox)を参照してください。
分散配列
Parallel Computing Toolbox™ を使用して、クラスターの結合メモリ上で大きなアレイを分割します。
使用上の注意事項および制限事項:
構文
B = cast(A,'like',p)
では、p
が分散配列である場合にのみ、出力B
が分散配列になります。
詳細については、分散配列を使用した MATLAB 関数の実行 (Parallel Computing Toolbox)を参照してください。
バージョン履歴
R2006a より前に導入R2022a: cast
は MATLAB 数値型のサブクラスについて一貫した出力を返す
R2022a 以降、構文 cast(A,"like",p)
は、プロトタイプ p
のデータ型が MATLAB® 数値型のサブクラスである場合、p
と一致する出力を返します。
たとえば、次のコードは p
と同じデータ型の出力を返します。
p = matlab.lang.OnOffSwitchState.on;
x = cast(1,"like",p)
x = OnOffSwitchState enumeration on
logical
である x = 1
を返します。R2021b: 入力引数 newclass
で大文字と小文字を区別
R2021b 以降では、構文 cast(A,newclass)
の入力引数 newclass
で大文字と小文字が区別されます。newclass
は、新しいデータ型を表す小文字の文字ベクトルまたは string として指定する必要があります。
たとえば、double
の値を int8
データ型に変換するには、cast(1.234,"int8")
を使用する必要があります。コマンド cast(1.234,"Int8")
は現在はエラーになります。
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)