Эта тема объясняет различия между базовым рабочим пространством и функциональными рабочими областями, включая рабочие области для локальных функций, вложенных функций и скриптов.
Базовое рабочее пространство хранит переменные, которые вы создаете в командной строке. Это включает любые переменные, которые скрипты создают, принимая, что вы запускаете скрипт из командной строки или из Редактора. Переменные в базовом рабочем пространстве существуют, пока вы не очищаете их или заканчиваете ваш MATLAB® сеанс.
Функции не используют базовое рабочее пространство. Каждая функция имеет свою собственную функциональную рабочую область. Каждая функциональная рабочая область является отдельной от базового рабочего пространства и всех других рабочих областей, чтобы защитить целостность данных. Даже локальные функции в общем файле имеют свои собственные рабочие области. Переменные, характерные для функциональной рабочей области, называются переменными local. Как правило, локальные переменные не остаются в памяти от одного вызова функции до следующего.
Когда вы вызываете скрипт от функции, скрипт использует функциональную рабочую область.
Как локальные функции, вложенные функции имеют свои собственные рабочие области. Однако эти рабочие области уникальны двумя значительными способами:
Вложенные функции могут получить доступ и изменить переменные в рабочих областях функций, которые содержат их.
Все переменные во вложенных функциях или функциях, которые содержат их, должны быть явным образом заданы. Таким образом, вы не можете вызвать функцию или скрипт, который присваивает значения переменным, если те переменные уже не существуют в функциональной рабочей области.