Main Content

str2num

Convertir un arreglo de caracteres o una cadena a un arreglo numérico

Descripción

ejemplo

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

La función str2num no convierte arreglos de celdas ni arreglos de cadenas no escalares, y distingue los espacios antes y después de los operadores + y -.

Nota

Consideraciones de seguridad: str2num se implementa utilizando la función eval, lo que puede provocar efectos colaterales no deseados. Cuando llama a str2num con una entrada del usuario que no es fiable, utilice Evaluation='restricted' o str2double para evitar que se ejecute código de forma inesperada.

ejemplo

X = str2num(txt,Evaluation=method) determina cómo se evalúa txt. El valor predeterminado es "all", que evaluará cualquier entrada. Especificar Evaluation="restricted" restringe las entradas aceptadas para txt a expresiones matemáticas básicas como 200, 200+2i o exp(2).

ejemplo

[X,tf] = str2num(txt) devuelve también un segundo argumento de salida que es 1 (true) si str2num convierte txt correctamente. Si no, str2num devuelve 0 (false).

Ejemplos

contraer todo

Convierta 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

Utilice el argumento nombre-valor Evaluation="restricted" para restringir las entradas aceptadas a expresiones matemáticas básicas.

Cuando no se establece Evaluation, str2num evaluará cualquier entrada.

X = str2num("datetime")
X = datetime
   25-Jan-2024 19:59:15

Especifique Evaluation="restricted" para restringir las entradas aceptadas a expresiones matemáticas básicas. Las entradas que no son expresiones matemáticas básicas devuelven [] en su lugar.

X = str2num("datetime",Evaluation="restricted")
X =

     []

Convierta un vector de caracteres a un valor entero de 16 bits sin signo utilizando str2num y uint16.

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

Convierta un vector de caracteres que contenga true y false a un arreglo lógico.

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

   0   1   1   0

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

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

     []
tf = logical
   0

Si elimina el texto adicional (m/s), la conversión se lleva a cabo correctamente.

[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 arreglo de caracteres o escalar de cadena.

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

  • Un separador decimal

  • Signos + o - delante

  • La letra e o d antes de una potencia de factor de escala 10

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

  • true o false, que indican valores lógicos

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

str2num convierte solo arreglos de caracteres y escalares de cadena. Para convertir arreglos de cadenas o arreglos de celdas no escalares a arreglos numéricos, utilice la función str2double.

Método de evaluación, especificado como "all" o "restricted". Establecer el método de evaluación en "restricted" restringe las entradas aceptadas para chr a expresiones matemáticas básicas.

Argumentos de salida

contraer todo

Arreglo de salida, devuelto como matriz numérica.

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

Capacidades ampliadas

Historial de versiones

Introducido antes de R2006a

expandir todo