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