Доступ к записи таблицы истории
Блокноты 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()
возвращает неотрицательное целое число.