Проверяйте существование переменной, скрипта, функции, папки или класса
exist возвращает тип namename как число. Этот список описывает тип, сопоставленный с каждым значением:
0 — name не существует или не может быть найдено по другим причинам. Для примера, если name существует в папке с ограничениями, в которую MATLAB® не имеет доступа, exist возвращает 0.
1 — name - переменная в рабочей области.
2 — name является файлом с расширением .m, .mlx, или .mlapp, или name - имя файла с нерегистрируемым расширением файла (.mat, .fig, .txt).
3 — name является файлом MEX в пути поиска файлов MATLAB.
4 — name является загруженным Simulink® модель или модель Simulink или файл библиотеки в пути поиска файлов MATLAB.
5 — name является встроенной функцией MATLAB. Это не включает классы.
6 — name - это Pcode-файл на вашем пути поиска файлов MATLAB.
7 — name является папкой.
8 — name является классом. (exist возвращает 0 для классов Java, если вы запускаете MATLAB с -nojvm опция.)
MATLAB выполняет поиск, начиная с верхней части пути поиска файлов и перемещаясь вниз до тех пор, пока не будет найден результат или не будет достигнута последняя папка в пути. Если больше одного name существует в папке, MATLAB отображает первый образец name, согласно Порядка приоритета функций. Папки являются исключением из правил приоритета функций. Они имеют приоритет над всеми типами, кроме переменных и встроенных функций.
Для примера, если name соответствует обоим файлам с .m расширение и Pcode-файл, затем exist возвращает 6, идентифицируя его как Pcode-файл. Если name соответствует и переменной, и Pcode-файлу, существует возвращает 1, идентифицируя его как переменную. Если name соответствует и папке, и функции MATLAB, exist возвращает 7, идентифицируя его как папку.
exist возвращает тип name searchTypename, ограничение результатов заданным типом, searchType. Если name типа searchType не существует, MATLAB возвращает 0.
Чтобы проверить существование файла или папки, вы также можете использовать isfolder или isfile функций. exist ищет файлы и папки в пути поиска файлов, что может привести к неожиданным результатам. isfolder и isfile поиск файлов или папок только по указанному пути или в текущей папке, что может привести к более четким и быстрым результатам.