Contenido principal

cast

Convertir una variable a un tipo de datos diferente

Descripción

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 y dispersión que la variable p. La complejidad (real o complejo) de B está determinada por A y p. Si tanto A como p son reales, B también es real. De lo contrario, B será complejo.

ejemplo

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 = 1×2 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 = 1×3 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 = 2×3 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 sparse double matrix (1 nonzero)
   (2,2)       3.1416

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

B = cast(A,like=p)
B = 2×3 sparse double matrix
   All zero

Argumentos de entrada

contraer todo

Arreglo de entrada, especificado como escalar, vector, matriz o arreglo multidimensional. El tipo de datos de A puede ser un tipo de datos integrado u otro tipo de datos compatible con la conversión al nuevo tipo de datos especificado.

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. El tipo de datos de p puede ser un tipo de datos integrado u otro tipo de datos compatible con la conversión desde el tipo de datos de entrada.

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

Argumentos de salida

contraer todo

Arreglo de salida, devuelto como escalar, vector, matriz o arreglo multidimensional.

Capacidades ampliadas

expandir todo

Historial de versiones

Introducido antes de R2006a

expandir todo