evalin

Выполните выражение 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 выполняет выражение в контексте функции, которая является, каждый выравнивает в стеке от вашего текущего контекста рабочей области.

Смотрите также

| | | |

Представлено до R2006a