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

Блокноты 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: