Выполните выражение MATLAB в заданной рабочей области
evalin (ws,
expression
)
[a1, a2, a3...] = evalin (ws, expression
)
выполняет evalin(ws, expression)
expression
, вектор символа или скаляр строки, содержащий любое допустимое выражение MATLAB® с помощью переменных в рабочей области ws
. ws
может иметь значение 'base'
или 'caller'
, чтобы обозначить базовое рабочее пространство MATLAB или рабочую область функции вызывающей стороны.
выполняет [a1, a2, a3, ...] = evalin(ws, expression)
expression
и возвращает результаты в заданных выходных переменных. Используя evalin
список выходных аргументов рекомендуется по включению выходных аргументов в выражении:
evalin(ws,'[a1, a2, a3, ...] = function(var)')
Вышеупомянутый синтаксис избегает строгой проверки синтаксическим анализатором MATLAB и может произвести незахваченные ошибки и другое неожиданное поведение.
Этот пример извлекает значение переменного var
в базовом рабочем пространстве MATLAB и получает значение в локальной переменной v
:
v = evalin('base', 'var');
evalin
не может использоваться рекурсивно, чтобы оценить выражение. Например, последовательность формы evalin('caller', 'evalin(''caller'', ''x'')')
не работает.
Базовое рабочее пространство MATLAB является рабочей областью, которая замечена по командной строке MATLAB (если не в отладчике). Рабочая область вызывающей стороны является рабочей областью функции, которая вызвала в настоящее время рабочую функцию. Обратите внимание на то, что основа и рабочие области вызывающей стороны эквивалентны в контексте функции, которая вызывается из командной строки MATLAB.
evalin('caller', expression)
находит только переменные в рабочей области вызывающей стороны; это не ищет функции в вызывающей стороне. Поэтому вы не можете использовать evalin
, чтобы создать указатель на функцию, которая задана в вызывающей стороне.
При использовании evalin('caller', expression)
в отладчике MATLAB, изменив ваш локальный контекст рабочей области с dbup
или dbdown
, MATLAB оценивает выражение в контексте функции, которая является, каждый выравнивает в стеке от вашего текущего контекста рабочей области.