Преобразование символьного массива или строки в числовой массив
преобразует символьный массив или строковый скаляр в числовую матрицу. Входные данные могут содержать пробелы, запятые и точки с запятой для обозначения отдельных элементов. Если X = str2num(chr)str2num не удается проанализировать входные значения как числовые, после чего возвращается пустая матрица.
str2num функция не преобразует массивы ячеек или нескалярные массивы строк и чувствительна к интервалам вокруг + и - операторов.
Примечание
Соображения безопасности:
str2num реализуется с помощью eval , которая вычисляет входной аргумент. При звонке str2num с ненадежным пользовательским вводом проверьте ввод, чтобы избежать непредвиденного выполнения кода. Примерами ненадежного пользовательского ввода являются данные, поступающие от пользователя, которого вы можете не знать, или от источника, которым вы не можете управлять. Если вам нужно решить эту проблему, рассмотрите следующие подходы:
Проверка входных данных для str2num. Во-первых, поиск разрешенных операций, таких как использование (), /, *, +, -, и .и буквы e и i. Затем, если вы найдете другие операции, запретить выполнение.
Заменить str2num с функцией, такой как str2double.
Непреднамеренные побочные эффекты: Кроме того, могут быть и другие непреднамеренные побочные эффекты, когда ввод включает имя функции. Чтобы избежать этих проблем, используйте str2double.