Main Content

cast

変数を別のデータ型に変換

説明

B = cast(A,newclass) は、A のデータをデータ型 (クラス) newclass に変換して返します。ここで newclass は、A と互換性のある組み込みデータ型の名前です。A の値のうち、newclass の範囲外であるものは、B で最も近い端点まで切り捨てられます。

浮動小数点数を整数に変換するとき、関数 cast は数値を最も近い整数に丸めます。浮動小数点数の小数部が厳密に 0.5 の場合、これはゼロ方向とは反対の絶対値が大きい方の整数に丸めます。

B = cast(A,"like",p) は、A を、変数 p と同じデータ型、スパース性、実数/複素数の別 (実数または複素数) に変換します。Ap の両方が実数である場合、B も実数です。そうでない場合、B は複素数です。

すべて折りたたむ

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

入力引数

すべて折りたたむ

入力配列。スカラー、ベクトル、行列または多次元配列として指定します。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char
複素数のサポート: あり

新規クラス。"single""double""int8""int16""int32""int64""uint8""uint16""uint32""uint64""logical" または "char" として指定します。

プロトタイプ。スカラー、ベクトル、行列、または多次元配列として指定します。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char
複素数のサポート: あり

拡張機能

バージョン履歴

R2006a より前に導入

すべて展開する