evalin

Выполните выражение MATLAB в заданной рабочей области

Описание

пример

evalin(workspace,expression) оценивает код MATLAB®, представленный expression использование переменных в заданной рабочей области.

Примечание

В большинстве случаев, использование evalin функция менее эффективна, чем использование других функций MATLAB и построений языка, и получившийся код может больше затруднить в чтение и отладку. Для получения дополнительной информации см. Альтернативные варианты функции eval.

пример

[output1,...,outputN] = evalin(workspace,expression) возвращает выходные параметры expression в заданных переменных.

Примеры

свернуть все

Используйте evalin функция, чтобы получить значение переменной в базовом рабочем пространстве MATLAB и сохранить его в новой переменной.

Задайте var как матрица 5 на 5, возвращенная magic функция.

var = magic(5);

Получите значение переменной var в базовом рабочем пространстве MATLAB и хранилище это в переменной v.

v = evalin('base','var')
v =

    17    24     1     8    15
    23     5     7    14    16
     4     6    13    20    22
    10    12    19    21     3
    11    18    25     2     9

Входные параметры

свернуть все

Рабочая область, в которой можно выполнить выражение в виде 'base' или 'caller'.

Базовое рабочее пространство MATLAB является рабочей областью, которая замечена по командной строке MATLAB (если не в отладчике). Рабочая область вызывающей стороны является рабочей областью функции, которая вызвала в настоящее время рабочую функцию. Основа и рабочие области вызывающей стороны эквивалентны в контексте функции, которая вызывается из командной строки MATLAB.

Примечание

Если вы используете evalin('caller',expression) в отладчике MATLAB, изменив ваш локальный контекст рабочей области с dbup или dbdown, MATLAB выполняет выражение в контексте функции, которая является, каждый выравнивает в стеке от вашего текущего контекста рабочей области.

Выражение, чтобы оценить в виде вектора символов или строкового скаляра. expression должен быть допустимое выражение MATLAB и не должно включать ключевые слова MATLAB. Чтобы определить, является ли слово ключевым словом MATLAB, используйте iskeyword функция.

Пример: evalin('magic(5)')

Выходные аргументы

свернуть все

Выходные параметры от выполненного выражения, возвращенного как любой тип данных MATLAB.

Ограничения

  • evalin('caller',expression) находит только переменные в рабочей области вызывающей стороны; это не ищет функции в вызывающей стороне. Поэтому вы не можете использовать evalin создать указатель на функцию, которая задана в вызывающей стороне.

  • evalin не может использоваться рекурсивно, чтобы выполнить выражение. Например, оператор evalin('caller','evalin(''caller'',''x'')') недопустимо.

  • Если вы используете evalin в рамках анонимной функции, вложенной функции или функции, которая содержит вложенную функцию, оцененный expression не создает переменных.

Советы

  • Чтобы позволить синтаксическому анализатору MATLAB выполнять более строгие проверки на вашем коде и избегать незахваченных ошибок и других неожиданных поведений, не включайте выходные аргументы во вход к evalin функция. Например, оператор evalin('base',['output = ',expression]) не рекомендуется.

    Вместо этого задайте выходные аргументы evalin функционируйте, чтобы сохранить результаты выполненного выражения. Например:

      output = evalin('base',expression)

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