В MATLAB какие символы ASCII разрешены в имени функции? - PullRequest
4 голосов
/ 27 марта 2009

У меня есть набор объектов, из которых я считываю информацию, которая содержит информацию, которая в итоге превращается в файл MATLAB. Одна часть информации оказывается именем функции в MATLAB. Мне нужно удалить все недопустимые символы из этой строки перед записью файла M в файловую систему. Может кто-нибудь сказать мне, какие символы составляют набор разрешенных символов в имени функции для MATLAB?

Ответы [ 3 ]

10 голосов
/ 27 марта 2009

Допустимые имена следуют шаблону [A-Za-z] [A-Za-z0-9 _] *, то есть буквенный символ, за которым следует ноль или более буквенно-цифровых символов или символов подчеркивания, вплоть до символов NAMELENGTHMAX.

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

5 голосов
/ 27 марта 2009

Краткий ответ ...

Любые буквенно-цифровые символы или символы подчеркивания, если имя начинается с буквы.

Более длинный ответ ...

В документации MATLAB есть раздел " Работа с M-файлами ", в котором именование рассматривается немного подробнее. В частности, он указывает функции NAMELENGTHMAX (максимальное количество символов в имени, на которое ОС будет обращать внимание), ISVARNAME (чтобы проверить, является ли имя переменной / функции допустимым ) и ISKEYWORD (для отображения ограниченных ключевых слов).

3 голосов
/ 27 марта 2009

Отредактировано:

это может быть более информативно:

http://scv.bu.edu/documentation/tutorials/MATLAB/functions.html

...