Осуществите оценку

Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.

Live скрипты MATLAB поддерживают большую часть функциональности MuPAD, хотя существуют некоторые различия. Для получения дополнительной информации смотрите, Преобразуют Notebook MuPAD в Live скрипты MATLAB.

MuPAD® автоматически оценивает результаты, возвращенные большинством системных функций. Однако несколько функций могут возвратить неоцененные результаты. Например, text2expr функция не оценивает возвращенные результаты:

text2expr("2 + 2")

last функционируйте и его ярлык %, которые возвращают ранее вычисленный объект, также не оценивайте результаты:

%

Для таких случаев MuPAD обеспечивает eval функция. Эта функция позволяет вам осуществить оценку выражения. Например, осуществите оценку ранее возвращенного выражения:

eval(%);

Другим примером функции, которая автоматически не оценивает возвращенные результаты, является subs функция. Эта функция может упростить выражения, которые содержат только чисто арифметические операции:

subs(x^2 + 1, x = 0)

Однако subs функция не выполняет выражения. Например, замените переменной x со значением 0 в следующем выражении, которое содержит синусоидальную функцию:

subs(sin(x^2) + 1, x = 0)

Можно использовать eval функция, чтобы осуществить оценку результатов, возвращенных subs. В этом случае MuPAD выполняет целое выражение:

eval(%)

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

subs(sin(x^2) + 1, x = 0, EvalChanges)

Наиболее эффективно выполните выражение в особом значении переменной при помощи evalAt функция. Смотрите Оценку в Точке.

Кроме того, MuPAD не оценивает массивы, таблицы и полиномы. Например, система не оценивает идентификаторы a и b из следующего массива A:

A := array(1..2, [a, b]):
b := 2*a: a := 1: A

Когда вы получаете доступ к записям массива A при помощи op функция, система не оценивает записи A. Когда вы используете индексный доступ, система оценивает записи массивов, матриц и таблиц:

op(A, 1), op(A, 2);
A[1], A[2]

Чтобы оценить все записи массива, таблица или полином применяет eval функционируйте к тому массиву, таблице или полиному. Используйте map функция, чтобы применить eval к массиву или таблице:

map(A, eval)

Для полиномов используйте mapcoeffs функция:

p := poly(c*x, [x]): c := 10:
mapcoeffs(p, eval)

delete a, b, c: