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