listlib:: insertВставьте элемент в список
Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.
Live скрипты MATLAB поддерживают большую часть функциональности MuPAD, хотя существуют некоторые различия. Для получения дополнительной информации смотрите, Преобразовывают Notebook MuPAD в Live скрипты MATLAB.
listlib::insert(list, element, <function>)
listlib::insert(list, element) вставляет element в list.
С функциональным listlib::insert любой элемент может быть вставлен в любой список.
С третьим дополнительным аргументом функция может состоять в том, учитывая, что сравнивают элементы списка с элементом, чтобы вставить, и к тому же определяет положение, элемент вставляется. Заданная функция вызвана двумя элементами и должна возвратить TRUE, если эти два элемента находятся в правильном порядке, в противном случае FALSE (см. следующий абзац).
Заданная функция называется шаг за шагом с элементом списка так же первым аргументом и данным элементом как второй аргумент, пока это не возвращает FALSE. Затем данный элемент вставляется в список перед последним доказанным элементом (см. Пример 2).
Список должен быть упорядочен относительно функции порядка, в противном случае элемент мог быть вставлен в неправильном месте.
Если никакому третьему аргументу не дают, функциональный _less используется. Если никакой порядок элементов относительно _less не задан, функция должна быть дана, в противном случае ошибка появляется. Системная функция sysorder всегда может использоваться.
Вставьте 3 в данный упорядоченный список:
listlib::insert([1, 2, 4, 5, 6], 3)
![]()
Вставьте 3 в данный убывающий упорядоченный список. Функция вставки представляет и сохраняет порядок списка:
listlib::insert([6, 5, 4, 2, 1], 3, _not@_less)
![]()
Поскольку идентификаторы не могут быть упорядочены _less, другая функция должна быть дана, например, функция, которая представляет системы внутренний порядок:
listlib::insert([a, b, d, e, f], c, sysorder)
![]()
Поскольку никакая функция не дана как третий аргумент, функциональный _less используется. _less называется: _less(1, 3), _less(2, 3), _less(4, 3) и затем 3 вставляются перед 4:
listlib::insert([1, 2, 4], 3)
![]()
Если списку не упорядочивают право, то положение вставки могло быть неправильным:
listlib::insert([4, 1, 2], 3)
![]()
Следующий пример показывает, как выражения могут быть упорядочены определяемым пользователем приоритетом. Это распоряжение дано функцией с именем priority, который возвращает меньшее число, когда выражение имеет тип с более высоким приоритетом:
priority := X -> contains(["_power", "_mult", "_plus"], type(X)): priority(x^2), priority(x + 2)
![]()
Функциональный sortfunc возвращает TRUE, если оба данных аргумента находятся в правильном порядке, т.е. первый аргумент имеет более высокое (или равный) приоритет, чем второй аргумент:
sortfunc := (X, Y) -> bool(priority(Y) > priority(X)): sortfunc(x^2, x + 2), sortfunc(x + 2, x*2)
![]()
Теперь выражение x*2 вставляется в “правильном” месте в списке:
listlib::insert([x^y, x^2, x*y, -y, x + y], x*2, sortfunc)
![]()
|
Список MuPAD® |
|
Выражение MuPAD, чтобы вставить |
|
Функция, которая определяет положение вставки |
Учитывая список, увеличенный со вставленным элементом