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 'characters'.

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

Ограничения

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

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

Советы

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

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

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