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 не работает с телом процедур. Поэтому рекомендуется не встроить неактивные функции в процедурах.

Примеры

Пример 1

Создайте неактивную форму функциональной среды 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)

Пример 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)

Параметры

object

Любой объект MuPAD®

Возвращаемые значения

Оцененная версия object после повторной активации всех неактивных функций в нем.

Смотрите также

Функции MuPAD