forget
Очистите помнить таблицу процедуры
Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.
Live скрипты MATLAB поддерживают большую часть функциональности MuPAD, хотя существуют некоторые различия. Для получения дополнительной информации смотрите, Преобразовывают Notebook MuPAD в Live скрипты MATLAB.
forget(f
)
forget(f)
очищает помнить таблицу процедуры f
. Функция forget
очищается, только помнят, что таблицы, составленные опцией, помнят.
Функция forget
очищается, только помнят, что таблицы, составленные опцией, помнят. Функция не влияет на помнить таблицы, составленные prog::remember
.
Не вызывайте функцию forget
для предопределенных функций MuPAD®. Многие предопределили функции MuPAD, сохранили специальные значения в их помнить таблицы. Функция forget
не выдает ошибку, когда вы вызываете ее для предопределенной функции MuPAD.
Функция forget
не работает рекурсивно. Если внутренняя процедура во вложенном использовании процедуры, которое опция помнит, функция forget
, не очищает помнить таблицу, составленную для внутренней процедуры.
Если вы используете опцию, помнят в процедуре, MuPAD хранит все входные параметры, которые вы использовали в вызовах процедуры в качестве индексов помнить таблицы и соответствующих результатов как значения этих записей. Например, создайте следующую процедуру f
как обертка для функции MuPAD sign
. Использование опция не забывает включать помнить механизм для процедуры f
:
f := proc(x) option remember; begin sign(x) end:
Теперь вычислите функцию sign
для значений-1, 0, и 1:
f(-1), f(0), f(1)
Можно задать различное значение для sign(0)
. Сначала используйте функцию unprotect
, чтобы смочь перезаписать значение sign
. Затем присвойте новое значение sign(0)
:
unprotect(sign): sign(0):= 1/2:
Несмотря на то, что вы задали новое значение для sign(0)
, MuPAD не повторно вычисляет результат вызова функции f(0)
. Вместо этого система возвращает результат, сохраненный в помнить таблице:
f(0)
Чтобы очистить помнить таблицу, составленную опцией remember
, используйте функцию forget
:
forget(f): f(0)
Если вы присваиваете значение вызову функции, вызывание функции forget
также очищает то значение:
f(2) := 1/3: f(2)
forget(f): f(2)
Для дальнейших вычислений восстановите функцию sign
к ее определению по умолчанию. Используйте функцию protect
с опцией ProtectLevelError
, чтобы предотвратить дальнейшие изменения в sign
. Кроме того, удалите процедуру f
:
sign(0):= 0: protect(sign, ProtectLevelError): delete f
|
Процедура или функциональная среда |
Пустой объект доменного типа DOM_NULL