Как преобразовать значение EditField в массив ячеек? - PullRequest
0 голосов
/ 30 января 2019

Я хочу получить от пользователя массив ячеек, содержащий количество нулей и полюсов каждой функции передачи в приложении идентификации системы, которое я проектирую в конструкторе приложений MATLAB.

Пользователь вводит что-то вроде этого:

{[2,1], [1,0]; [1,0], [2,1]}

EditField или TextArea обрабатывает этот ввод как массив символов или строку, но я хочу преобразовать его в массив ячеек с числами , а не Строка .Как это возможно?

1 Ответ

0 голосов
/ 31 января 2019

Вы можете использовать eval для оценки строки, чтобы получить результирующие числа.Это работает, если у него есть числа, переменные и функции, доступные из рабочей области, в которой вы запускаете eval.См. Документацию для eval по адресу https://www.mathworks.com/help/matlab/ref/eval.html. Если в выражении есть переменная, например, {[2,1], [1,0]; [1,0], a} с a, определенная в базовом рабочем пространстве, вам необходимо использовать evalin.evalin позволяет вам указать рабочую область, в которой нужно вычислить выражение.

Наконец, если это не массив ячеек и содержит только массив чисел, тогда str2num также может выполнить преобразование строкина номера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...