DOM_LIST

Списки объектов

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

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

Описание

Списки (доменного типа DOM_LIST) упорядочены наборы произвольного числа произвольных объектов MuPAD®, за исключением последовательностей и несуществующего объекта.

В MuPAD математическом построении n - кортеж реализован как тип данных DOM_LIST. Списки состоят из произвольного (конечного) количества произвольных объектов, за исключением последовательностей выражения, которые разделены в их операнды, когда помещено в список.

В отличие от наборов, списки могут содержать несколько копий того же элемента. Порядок элементов в списке сохраняется.

Списки могут быть пустыми.

Примеры

Пример 1

Чтобы создать список для нашего первого примера, мы используем оператор $:

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].

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

Области MuPAD