unfreezeСоздайте активную копию замороженной функции
Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.
Live скрипты MATLAB поддерживают большую часть функциональности MuPAD, хотя существуют некоторые различия. Для получения дополнительной информации смотрите, Преобразуют Notebook MuPAD в Live скрипты MATLAB.
unfreeze(object)
unfreeze(object) повторно активирует все неактивные функции, происходящие в object, продолжение рекурсивно вдоль структуры object, и затем оценивает результат.
unfreeze использование misc::maprec продолжать рекурсивно вдоль структуры object. Это означает это для основных областей, таких как массивы, таблицы, списки, или полиномы, функциональный unfreeze применяется к каждому операнду object.
Если object элемент области библиотеки, затем поведение unfreeze задан методом maprec это перегружает функциональный misc::maprec. Если этот метод не существует, то unfreeze не оказывает влияния на object. Смотрите пример 2.
unfreeze не работает с телом процедур. Поэтому рекомендуется не встроить неактивные функции в процедурах.
Создайте неактивную форму функциональной среды int:
_int := freeze(int): F := _int(x*exp(x^2), x = 0..1)

Неактивная форма int хранит каждую информацию, которая известна о функциональном int, например, выход, тип и "float" паз для оценки с плавающей точкой:
F, type(F), float(F)

Исходная функциональная среда int не изменяется freeze:
int(x*exp(x^2), x = 0..1)
![]()
Используйте unfreeze повторно активировать неактивный функциональный _int и оцените результат:
unfreeze(F), unfreeze(F + 1/2)
![]()
Функциональный unfreeze использование misc::maprec действовать рекурсивно вдоль структуры object. Например, если object массив, содержащий неактивные функции, такие как:
a := array(1..2, [freeze(int)(sin(x), x = 0..2*PI), freeze(sum)(k^2, k = 1..n)] )
![]()
затем unfreeze(a) работает с операндами a:
unfreeze(a)
![]()
Это означает это для областей библиотеки, эффекта unfreeze задан методом maprec. Если область не реализует этот метод, то unfreeze не работает с объектами этой области. Например, создайте область и объект, содержащий неактивную функцию как ее операнд:
dummy := newDomain("dummy"):
o := new(dummy, freeze(int)(sin(x), x = 0..2*PI))
Функциональный unfreeze примененный объект o не оказывает влияния:
unfreeze(o)

Если вы перегружаете функциональный misc::maprec для того, чтобы работать с первым операндом объектов доменного dummy, затем unfreeze работает с o как ожидалось:
dummy::maprec :=
x -> extsubsop(x,
1 = misc::maprec(extop(x,1), args(2..args(0)))
):
unfreeze(o)![]()
|
Любой объект MuPAD® |
Оцененная версия object после повторной активации всех неактивных функций в нем.