Механизм истории

Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.

Live скрипты MATLAB поддерживают большую часть функциональности MuPAD, хотя существуют некоторые различия. Для получения дополнительной информации смотрите, Преобразуют Notebook MuPAD в Live скрипты MATLAB.

Доступ к таблице истории

MuPAD® реализует внутренний механизм истории. Механизм истории позволяет вам получить доступ к ограниченному количеству ранее вычисленных результатов, с или без команд, которые сгенерировали результаты. Механизм истории также помогает вам сократить количество дополнительных идентификаторов, обычно используемых в хранении результатов промежуточных расчетов. Вместо того, чтобы присвоить результаты таких расчетов к вспомогательным идентификаторам, можно получить доступ к записям таблицы истории и получить ранее вычисленный результат.

Чтобы получить доступ к записям таблицы истории, используйте last и history функции. last функция возвращает ранее вычисленные результаты без команды, которая сгенерировала результаты. history функция возвращает ранее вычисленные результаты наряду с командами, которые сгенерировали те результаты.

Для last функция, MuPAD также предоставляет ярлыку %. Вызов функции last(n) (или % n) возвращает nзапись th таблицы истории. last функционируйте считает записи таблицы истории от конца таблицы. Таким образом, когда вы используете last функция, новым результатом является первая запись таблицы истории.

Например, вычислите факториалы чисел 10, 20, и 30:

10!; 20!; 30!;

Чтобы получить доступ к вычисленному факториалу 30, используйте вызов функции last(3) или более короткий вызов %3:

last(3)

Примечание

Когда вы вызываете last или history функция, MuPAD добавляет результат того вызова таблицы истории.

Вызов last функционируйте или его ярлык % вставляет новую запись в таблицу истории. Таким образом таблица истории теперь содержит результаты следующих оценок: 10!, 20!, 30!, и %3 (который в этом примере равен 10!). Если вы вызываете last функция с аргументом 3 снова, система отображает результат оценки 20!:

last(3)

Чтобы получить доступ к новой записи таблицы истории, можно использовать ярлык % без параметров. Например, решите следующее уравнение, и затем упростите результат. Обратите внимание на то, что использование % позволяет вам постараться не присваивать результат решения идентификатора:

solve(log(2, x) + log(2, 5) = x + 5, x);

simplify(%)

last функция не оценивает результаты. last функционируйте также возвращает результаты, для которых вы использовали двоеточия, чтобы подавить выходные параметры:

hold(2 + 2):
%

history функционируйте отображает и результат и команду, которая привела к тому результату. Эта функция считает записи таблицы истории от первого результата полученными на текущем сеансе MuPAD. Таким образом, когда вы используете history функция, новым результатом является последняя запись таблицы истории. В этом разделе первая запись таблицы истории является расчетом факториала 10:

history(1)

Чтобы найти текущее количество записей в таблице истории, вызовите history функция без аргумента:

history()

Можно использовать history функционируйте, чтобы получить доступ к новому расчету и его результату:

a := 2:
history(history())

Для следующих операторов механизм истории зависит от того, вызываете ли вы оператор в интерактивном режиме или в рамках процедуры:

Эти операторы называются составными операторами. На интерактивном уровне MuPAD хранит составные операторы как один модуль. В процедурах MuPAD хранит операторы, найденные в составном операторе в отдельной таблице истории процедуры. В этом случае система не хранит сам составной оператор.

Задайте максимальное количество записей

По умолчанию таблица истории для интерактивных расчетов может содержать до 20 записей. Когда количество записей достигает 20, система удаляет самую старую запись из таблицы истории каждый раз, когда это должно добавить новую запись. Для интерактивных расчетов, переменная окружения HISTORY определяет максимальное количество записей в таблице истории:

HISTORY

Чтобы изменить максимальное количество записей в таблице истории для текущего сеанса MuPAD, присвойте новое значение HISTORY:

HISTORY := 2:

Теперь MuPAD хранит только две новых команды и их результаты в таблице истории:

a := 1: b := 2: c := 3:
%1, %2;
%3

Error: Invalid argument. [last]

Примечание

В рамках процедуры максимальное количество записей в локальной таблице истории процедуры всегда равняется 3, независимому от значения HISTORY.

Для дальнейших расчетов восстановите записи максимального количества по умолчанию в таблице истории:

delete HISTORY:
HISTORY

Очистите таблицу истории

Несмотря на то, что MuPAD ограничивает количество записей в таблице истории, это не ограничивает свой размер. Если команда возвращает большой результат, системные хранилища, которые приводят к таблице истории. В то время как этот результат остается в таблице истории, MuPAD не может выпустить память, должен был сохранить тот результат. Одна или несколько больших записей в таблице истории могут значительно уменьшать доступную память и замедлить дальнейшие расчеты. Если вы знаете, что конкретная команда возвращает использующие память результаты, постарайтесь не писать что команда и ее результаты к таблице истории. Чтобы постараться не писать команду и ее результат к таблице истории, установите значение HISTORY к 0. Недостаток этого подхода - то, что вы удаляете все предыдущие результаты таблицы истории.

Например, установите значение HISTORY к 0 прежде, чем создать последовательность 1 000 000 случайных чисел:

HISTORY := 0:
random() $ i = 1..10^6:

Для дальнейших расчетов восстановите записи максимального количества по умолчанию в таблице истории:

delete HISTORY:
HISTORY

Если таблица истории уже содержит использующий память результат, чтобы выпустить память также можно очистить таблицу истории путем устанавливания значения HISTORY к 0. В качестве альтернативы можно ожидать, пока MuPAD не заполняет таблицу истории новыми записями. Кроме того, можно выбрать Notebook > Disconnect, чтобы перезапустить механизм MuPAD.