Main Content

cast

Convertir una variable a un tipo de datos diferente

Descripción

ejemplo

B = cast(A,newclass) devuelve los datos de A convertidos al tipo de datos (clase) newclass, donde newclass es el nombre de un tipo de datos integrado compatible con A. Cualquier valor de A que esté fuera del rango de newclass se trunca en B con el punto final más cercano.

Cuando se convierte un número de punto flotante en un entero, la función cast redondea el número al entero más cercano. Si el número de punto flotante tiene una parte fraccionaria de exactamente 0,5, se redondea alejándose de cero hacia el entero de mayor magnitud.

ejemplo

B = cast(A,"like",p) convierte A al mismo tipo de datos, dispersión y complejidad (real o complejo) que la variable p. Si tanto A como p son reales, B también será real. De lo contrario, B será complejo.

Ejemplos

contraer todo

Convierta los valores int8 en uint8.

Defina un vector de enteros de 8 bits.

a = int8([-5 5]);

Convierta a en enteros de 8 bits sin signo. El valor –5 fuera del rango de uint8 está truncado a 0.

b = cast(a,"uint8")
b = 1x2 uint8 row vector

   0   5

Cree un vector de 1 por 3 de enteros con signo de 32 bits.

A = int32([-12 34 56])
A = 1x3 int32 row vector

   -12    34    56

Cree un número complejo del tipo de datos double.

p = 1+2i
p = 1.0000 + 2.0000i

Convierta A al mismo tipo de datos y complejidad que la variable p.

B = cast(A,"like",p)
B = 1×3 complex

 -12.0000 + 0.0000i  34.0000 + 0.0000i  56.0000 + 0.0000i

Cree una matriz de ceros de 2 por 3 cuyos elementos sean enteros sin signo de 32 bits.

A = zeros(2,3,"uint32")
A = 2x3 uint32 matrix

   0   0   0
   0   0   0

Cree una matriz dispersa de 2 por 2 del tipo de datos double.

p = sparse(2,2,pi)
p = 
   (2,2)       3.1416

Convierta A al mismo tipo de datos y dispersión que la variable p.

B = cast(A,"like",p)
B = 
   All zero sparse: 2x3

Argumentos de entrada

contraer todo

Arreglo de entrada, especificado como escalar, vector, matriz o arreglo multidimensional.

Tipos de datos: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char
Soporte de números complejos:

Nueva clase, especificada como "single", "double", "int8", "int16", "int32", "int64", "uint8", "uint16", "uint32", "uint64", "logical" o "char".

Prototipo, especificado como escalar, vector, matriz o arreglo multidimensional.

Tipos de datos: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char
Soporte de números complejos:

Capacidades ampliadas

Historial de versiones

Introducido antes de R2006a

expandir todo