история

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

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

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

Синтаксис

history(n)
history()

Описание

history(n) возвращает n th запись таблицы истории.

history() возвращает индекс новой записи в таблице истории.

Команды, которые вводятся в интерактивном режиме на сеансе MuPAD®, выполнились в процедуре, или читайте из файла, а также получившегося MuPAD, выходные параметры хранятся во внутренней структуре данных, таблице истории. history() возвращает индекс новой записи в таблице истории. На интерактивном уровне это - количество команд, которые были введены начиная с запуска сеанса или последнего перезапуска.

history(n) возвращает n th запись в таблице истории в форме списка с двумя элементами. Первый элемент этого списка является командой MuPAD, и второй элемент является результатом этой команды, возвращенной MuPAD. Порядок записей в таблице истории таков, что большие индексы соответствуют более свежим записям.

Команда last получает доступ к записям результата из таблицы истории. Вызов last(n) эквивалентен history ( history() - n + 1) [2] на интерактивном уровне.

HISTORY переменной окружения определяет максимальное количество записей истории, которые хранятся на интерактивном уровне. Значением по умолчанию является 20. Только новые записи сохранены в памяти. Таким образом допустимые аргументы для history являются всеми целыми числами между history() - HISTORY + 1 и history(). Все другие целые числа приводят к сообщению об ошибке.

Результат, возвращенный history, не оценен снова (см. eval истории в качестве примера). Используйте функциональный eval, чтобы обеспечить последующую оценку.

Команды и их результаты хранятся в таблице истории, даже если вывод подавлен двоеточием. Смотрите Пример 1.

Составные операторы, такие как for, repeat, и циклы while, if и команды ветвления case и определения процедуры через proc хранятся в таблице истории в целом на интерактивном уровне. Смотрите страницу справки last для примеров.

Команды, появляющиеся на той же входной строке, ведут, чтобы разделить записи в таблице истории, если они разделяются двоеточием или точкой с запятой. Напротив, последовательность оператора рассматривается как одна команда (см. Пример 3).

Команды, которые читаются из файла через fread или read, хранятся в таблице истории, и наконец команда fread или read хранится в таблице истории (потому что команда fread или read закончена в первую очередь после чтения файла). Однако, если опция, Plain используется, то отдельная таблица истории в действительности в файле и командах из файла, не появляется в таблице истории контекста включения.

Обратите внимание на то, что каждый вызов history изменяет таблицу истории и возможно стирает самую раннюю запись истории.

Каждая процедура имеет свою собственную локальную таблицу истории. Однако к записям этой таблицы нельзя получить доступ через history (см. last). Команда history всегда обращается к таблице истории на интерактивном уровне.

Примеры

Пример 1

Индекс новой записи в таблице истории увеличивается одной для каждой вводимой команды, также history(). Обратите внимание на то, что каждая команда хранится в таблице истории, подавлен ли ее вывод двоеточием или нет:

history(); sqrt(1764); history(): history()
 3 42 6 

history ( history() ) возвращает список с двумя элементами. Первый элемент является последней командой, и второй элемент является результатом, возвращенным MuPAD, который равен last(1) или %:

int(2*x*exp(x^2), x);
history(history()), last(1)

Следующая команда возвращается рядом с последней командой и ее результатом:

history(history() - 1)

Перезапуск очищает таблицу истории:

reset():
history()
4

Вывод команды history() выше зависит от количества команд в вашем файле запуска MuPAD userinit.mu.

Пример 2

Первым a должен быть 0:

a := 0:
a

Теперь 1 присвоен a:

a := 1:
a

Команда history ( history() -2) отсылает к команде a после присвоения 0 к a, возвращаемому значению history, не является новым значением a, потому что результат, возвращенный history, не оценен снова:

history(history() - 2)

Пример 3

Следующие команды создают две записи в таблице истории. Команда history ( history() -1) возвращает только последнюю команду b:=a, не обе команды:

a := 0: b := a:
history(history() - 1)

Если команды вводятся как последовательность оператора (заключенный в  ( )), они создают одну запись. history ( history() ) выбирает последнюю команду, то есть, последовательность оператора:

(a := 0; b := a;):
history(history())
[(a := 0;
b := a), 0]

Последний вход

type(op(%, 1))

Параметры

n

Положительное целое число

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

history(n) возвращает список с двумя элементами, и history() возвращает неотрицательное целое число.

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

Функции MuPAD