str2num

Преобразуйте символьный массив или строку к числовому массиву

Описание

пример

X = str2num(chr) преобразует символьный массив или строковый скаляр к числовой матрице. Вход может включать пробелы, запятые и точки с запятой, чтобы указать на отдельные элементы. Если str2num не может проанализировать вход как числовые значения, затем он возвращает пустую матрицу.

str2num функция не преобразует массивы ячеек или нескалярные строковые массивы, и чувствительна к разрядке вокруг + и - операторы. Кроме того, str2num использует eval функция, которая может вызвать непреднамеренные побочные эффекты, когда вход включает имя функции. Чтобы избежать этих проблем, используйте str2double.

пример

[X,tf] = str2num(chr) дополнительно возвращает второй выходной аргумент, который является 1 TRUE) если str2num успешно преобразует chr. В противном случае, str2num возвращает 0 ложь).

Примеры

свернуть все

Преобразуйте векторы символов, которые представляют числа.

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

   100   200   300   400

str2num интерпретирует экспоненциальное представление.

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

Преобразуйте вектор символов в 16-битное целое число без знака с помощью str2num и uint16.

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

Преобразуйте вектор символов, содержащий true и false к логическому массиву.

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

   0   1   1   0

Возвратите состояние преобразования, которое перестало работать. tf 0, и X пустая матрица.

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

     []
tf = logical
   0

Если вы удаляете дополнительный текст (m/s), затем преобразование успешно выполняется.

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

    0.0120    0.0059

tf = logical
   1

Входные параметры

свернуть все

Представление числовой матрицы в виде символьного массива или строкового скаляра.

Текст, который представляет числовую матрицу, может содержать пробелы, запятые или точки с запятой, такие как '5', '10,11,12', или '5,10;15,20'. В дополнение к числовым значениям и разделителям, входной текст также может включать любой из следующих элементов:

  • Десятичная точка

  • Продвижение + или - знаки

  • Буква e или d предшествование степени 10 масштабных коэффициентов

  • Буква i или j указание на комплексное или мнимое число

  • true или false указание на логические значения

Пробелы или отсутствие их, могут быть значительными. Например, str2num('1+2i') и str2num('1 + 2i') оба возвращают комплексное число 1.0000 + 2.0000i, в то время как str2num('1 +2i') возвращает вектор 1 на 2 [1.0000 + 0.0000i 0.0000 + 2.0000i]. Чтобы избежать этой проблемы, используйте str2double функция.

str2num преобразует символьные массивы и строковые скаляры только. Чтобы преобразовать нескалярные строковые массивы или массивы ячеек к числовым массивам, используйте str2double функция.

Выходные аргументы

свернуть все

Выходной массив, возвращенный как числовая матрица.

Истинный или ложный результат, возвращенный как 1 или 0 из типа данных logical.

Представлено до R2006a