evalc

Вычислите выражение MATLAB и получите результаты

Описание

пример

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

Примечание

Факторы безопасности: при вызове evalc не доверенный вход пользователя, проверьте вход, чтобы избежать неожиданного выполнения кода. Примерами ненадежного входа являются данные, поступающие от пользователя, которого вы можете не знать, или от источника, над которым вы не имеете никакого контроля. Если вам нужно решить эту проблему, рассмотрим следующие подходы:

  • Проверьте входы evalc. Во-первых, поиск разрешенных операций. Затем, если вы нашли другие операции, отключите выполнение.

  • Заменить evalc с альтернативой. Для получения дополнительной информации смотрите Альтернативные варианты функции eval.

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

[results,output1,...,outputN] = evalc(expression) дополнительно возвращает выходы от expression в заданных переменных.

Примеры

свернуть все

Использовать evalc чтобы вычислить выражение magic(5) и сохраните результаты.

results = evalc('magic(5)')
results =
    
    '
     ans =
     
         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
     
     '

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

свернуть все

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

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

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

свернуть все

Захваченное окно Command Window, возвращенный как символьный массив. Отдельные линии в захваченном выходе разделяются \n персонажи.

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

Ограничения

  • При использовании evalc, функции diary, more, и input отключены.

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

Совет

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

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

      [result,output] = evalc(expression)
Представлено до R2006a