MATLAB ヘルプ センター
変数を別のデータ型に変換
B = cast(A,newclass)
B = cast(A,like=p)
B = cast(A,newclass) は、A のデータをデータ型 (クラス) newclass に変換して返します。ここで newclass は、A と互換性のある組み込みデータ型の名前です。A の値のうち、newclass の範囲外であるものは、B で最も近い端点まで切り捨てられます。
B
A
newclass
浮動小数点数を整数に変換するとき、関数 cast は数値を最も近い整数に丸めます。浮動小数点数の小数部が厳密に 0.5 の場合、これはゼロ方向とは反対の絶対値が大きい方の整数に丸めます。
cast
例
B = cast(A,like=p) は、A を変数 p と同じデータ型およびスパース性に変換します。B の実数/複素数 (実数または複素数のいずれであるか) は、A と p の両方によって決まります。A と p の両方が実数である場合、B も実数です。そうでない場合、B は複素数です。
p
すべて折りたたむ
int8 値を uint8 に変換します。
int8
uint8
8 ビット整数のベクトルを定義します。
a = int8([-5 5]);
a を符号なしの 8 ビット整数に変換します。uint8 の範囲外である -5 の値は 0 に切り捨てられます。
a
b = cast(a,"uint8")
b = 1×2 uint8 row vector 0 5
32 ビットの符号付き整数の 1 行 3 列のベクトルを作成します。
A = int32([-12 34 56])
A = 1×3 int32 row vector -12 34 56
データ型が double の複素数を作成します。
double
p = 1+2i
p = 1.0000 + 2.0000i
A を、変数 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 = 2×3 uint32 matrix 0 0 0 0 0 0
データ型が double の 2 行 2 列のスパース行列を作成します。
p = sparse(2,2,pi)
p = 2×2 sparse double matrix (1 nonzero) (2,2) 3.1416
A を変数 p と同じデータ型およびスパース性に変換します。
B = 2×3 sparse double matrix All zero
入力配列。スカラー、ベクトル、行列または多次元配列として指定します。A のデータ型は、組み込みデータ型、または指定された新しいデータ型への変換をサポートする他のデータ型にすることができます。
データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char 複素数のサポート: あり
single
int16
int32
int64
uint16
uint32
uint64
logical
char
"single"
"double"
"int8"
"int16"
"int32"
"int64"
新規クラス。"single"、"double"、"int8"、"int16"、"int32"、"int64"、"uint8"、"uint16"、"uint32"、"uint64"、"logical" または "char" として指定します。
"uint8"
"uint16"
"uint32"
"uint64"
"logical"
"char"
プロトタイプ。スカラー、ベクトル、行列、または多次元配列として指定します。p のデータ型は、組み込みデータ型、または入力データ型からの変換をサポートする他の互換性のあるデータ型にすることができます。
出力配列。スカラー、ベクトル、行列または多次元配列として返されます。
すべて展開する
使用上の注意および制限:
列挙型入力は、コンパイル時にスカラー値でなければなりません。列挙型の配列はサポートされていません。
backgroundPool
ThreadPool
この関数はスレッドベースの環境を完全にサポートしています。詳細については、スレッドベースの環境での MATLAB 関数の実行を参照してください。
cast 関数は GPU 配列入力をサポートしますが、次の使用上の注意および制限があります。
構文 B = cast(A,like=p) では、p が gpuArray である場合にのみ、出力 B が gpuArray になります。
gpuArray
詳細については、GPU での MATLAB 関数の実行 (Parallel Computing Toolbox)を参照してください。
構文 B = cast(A,like=p) では、p が分散配列である場合にのみ、出力 B が分散配列になります。
詳細については、分散配列を使用した MATLAB 関数の実行 (Parallel Computing Toolbox)を参照してください。
R2022a 以降、構文 cast(A,like=p) は、プロトタイプ p のデータ型が MATLAB® 数値型のサブクラスである場合、p と一致する出力を返します。
cast(A,like=p)
たとえば、次のコードは p と同じデータ型の出力を返します。
p = matlab.lang.OnOffSwitchState.on; x = cast(1,like=p)
x = OnOffSwitchState enumeration on
x = 1
R2021b 以降では、構文 cast(A,newclass) の入力引数 newclass で大文字と小文字が区別されます。newclass は、新しいデータ型を表す小文字の文字ベクトルまたは string として指定する必要があります。
cast(A,newclass)
たとえば、double の値を int8 データ型に変換するには、cast(1.234,"int8") を使用する必要があります。コマンド cast(1.234,"Int8") は現在はエラーになります。
cast(1.234,"int8")
cast(1.234,"Int8")
class | typecast
class
typecast
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
ヨーロッパ
アジア太平洋地域
最寄りの営業オフィスへのお問い合わせ