Доступ к записи таблицы истории
Блокноты 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 всегда обращается к таблице истории на интерактивном уровне.
Индекс новой записи в таблице истории увеличивается одной для каждой вводимой команды, также 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.
Первым a должен быть 0:
a := 0: a
![]()
Теперь 1 присвоен a:
a := 1: a
![]()
Команда history ( history() -2) отсылает к команде a после присвоения 0 к a, возвращаемому значению history, не является новым значением a, потому что результат, возвращенный history, не оценен снова:
history(history() - 2)
![]()
Следующие команды создают две записи в таблице истории. Команда 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))
![]()
|
Положительное целое число |
history(n) возвращает список с двумя элементами, и history() возвращает неотрицательное целое число.