DOM_LIST
Списки объектов
Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.
Live скрипты MATLAB поддерживают большую часть функциональности MuPAD, хотя существуют некоторые различия. Для получения дополнительной информации смотрите, Преобразуют Notebook MuPAD в Live скрипты MATLAB.
Списки (доменного типа DOM_LIST
) упорядочены наборы произвольного числа произвольных объектов MuPAD®, за исключением последовательностей и несуществующего объекта.
В MuPAD математическом построении n - кортеж реализован как тип данных DOM_LIST
. Списки состоят из произвольного (конечного) количества произвольных объектов, за исключением последовательностей выражения, которые разделены в их операнды, когда помещено в список.
В отличие от наборов, списки могут содержать несколько копий того же элемента. Порядок элементов в списке сохраняется.
Списки могут быть пустыми.
Чтобы создать список для нашего первого примера, мы используем оператор $
:
L := [x_.i $ i=1..10]
Этот список содержит 10 элементов:
nops(L)
Пятым элементом списка является x 5 и список элементов от x 3 через x, К 6 можно также получить доступ очень легко:
L[5], L[3..6]
Чтобы изменить элемент списка, мы используем индексируемую форму на левой стороне присвоения:
L[5] := 5
L
Обратите внимание на то, что это присвоение только изменяет L
, не x 5:
x_5
Аналогично, мы можем изменить подсписок путем присвоения другого списка ему. Это может изменить длину списка:
L[3..6] := [1, 2]
nops(L), L
Используя список, когда функциональный символ создает список, полученный при помощи каждого элемента списка как функциональный символ для операндов, используемых, т.е. [f, g](x, y)
результаты в [f(x, y), g(x, y)]
.
Принятие, что L
список, число элементов в L
может быть определен путем вызова nops(L)
.
К отдельным элементам списка получают доступ в форме L[1]
, L[2]
и т.д. при подсчете с начала или L[-1]
, L[-2]
и т.д. при подсчете от конца. Попытка получить доступ к элементу “вне” списка или L[0]
повышает ошибку.
Непрерывные подсписки могут быть извлечены при помощи области значений в индексном доступе: L[2..4]
возвращает список [L[2], L[3], L[4]]
; L[2..-2]
возвращает список L
без его первого и последнего элемента.
Обе формы индексного доступа могут также использоваться в качестве левой стороны присвоения, cf. Пример 1.
Списки могут быть конкатенированы с точечным оператором, как в L1 . L2
или его функциональная форма, _concat
.
Функциональный contains
находит первое вхождение данного объекта MuPAD в списке. select
и split
может использоваться, чтобы извлечь те элементы из списка, выполняющего произвольный предикат.
Списки могут быть отсортированы с sort
или prog::sort
.
Функциональный map
применяет функцию ко всем элементам списка, возвращая список результатов. Чтобы объединить два списка, поэлементные с некоторой функцией, используйте zip
.
Присвоение списка к списку идентификаторов возможно и приводит к одновременному присвоению, cf. ?_assign
.
Операнды списка являются его элементами.
Самый прямой способ создать список состоит в том, чтобы поместить последовательность объектов MuPAD (разделенный запятыми) между прямоугольными скобками, как в [1, 2, 3]
.