Main Content

str2num

Convertir matriz de caracteres a matriz numérica

Descripción

ejemplo

X = str2num(chr) convierte una matriz de caracteres en una matriz numérica. La entrada puede incluir espacios, comas y puntos y comas para indicar elementos separados. Si str2num no puede analizar la entrada como valores numéricos, devuelve una matriz vacía.

La función str2num no convierte matrices de cadenas o celdas, y es sensible al espaciado alrededor de los operadores de + y - . Además, str2num utiliza la función eval , que puede provocar efectos secundarios no deseados cuando la entrada incluye un nombre de función. Para evitar estos problemas, utilice str2double.

ejemplo

[X,tf] = str2num(chr) devuelve además un segundo argumento de salida que es 1 (true) si str2num convierte con éxito chr. De lo contrario, str2num devuelve 0 (false).

Ejemplos

contraer todo

Convertir los vectores de caracteres que representan números.

X = str2num('100')
X = 100
X = str2num('100 200 300 400')
X = 1×4

   100   200   300   400

str2num interpreta la notación exponencial.

X = str2num('12e-3 5.9e-3 -8.1e-3 2.56e-3; 5 11.2 17.9 33')
X = 2×4

    0.0120    0.0059   -0.0081    0.0026
    5.0000   11.2000   17.9000   33.0000

Convertir un vector de caracteres en un entero de 16 bits no firmada mediante str2num y uint16.

X = str2num('256');
X = uint16(X)
X = uint16
    256

Convierta un vector de caracteres que contenga true y false a una matriz lógica.

X = str2num('false true true false')
X = 1x4 logical array

   0   1   1   0

Devuelve el estado de una conversión que falla. tf es 0y X es una matriz vacía.

[X,tf] = str2num('12e-3 m/s, 5.9e-3 m/s')
X =

     []
tf = logical
   0

Si quita el texto adicional (m/s), la conversión tiene éxito.

[X,tf] = str2num('12e-3 5.9e-3')
X = 1×2

    0.0120    0.0059

tf = logical
   1

Argumentos de entrada

contraer todo

Representación de una matriz numérica, especificada como una matriz de caracteres.

El texto que representa una matriz numérica puede contener espacios, comas o punto y coma, como '5', '10,11,12'o '5,10;15,20'. Además de los valores numéricos y delimitadores, el texto de entrada también puede incluir cualquiera de los siguientes elementos:

  • Un punto decimal

  • Principales + o - signos

  • La letra e o d que precede a un poder de 10 factor de escala

  • La letra i o j que indica un número complejo o imaginario

  • true o false que indican valores lógicos

Los personajes espaciales, o la falta de ellos, pueden ser significativos. Por ejemplo, str2num('1+2i') y [1.0000 + 0.0000i 0.0000 + 2.0000i]str2num('1 + 2i') ambos devuelven el número complejo 1.0000 + 2.0000i, mientras que str2num('1 +2i') devuelve el vector 1 por 2 . Para evitar este problema, utilice la función str2double .

str2num convierte únicamente las matrices de caracteres. Para convertir matrices de cadenas o celdas en matrices numéricas, utilice la función str2double .

Argumentos de salida

contraer todo

Matriz de salida, devuelta como una matriz numérica.

Resultado verdadero o falso, devuelto como 1 o 0 de tipo de datos logical.

Introducido antes de R2006a