Наборы

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

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

Создайте наборы

Наборы представляют неупорядоченные математические структуры. Наборы могут содержать произвольные объекты MuPAD®. Например, числа, символы, строки или функции могут быть элементами набора. Чтобы создать набор, разделите объекты MuPAD запятыми и заключите структуру в фигурные скобки:

set1 := {a, 3, b, c, d, 180, -15}

Кроме того, можно создать последовательность и преобразовать ее в набор. Чтобы преобразовать последовательность в набор, заключите последовательность в фигурные скобки. Как ярлык для создания последовательности, используйте генератор последовательности $ или его функциональная форма _seqgen. Заключите последовательность в фигурные скобки:

{i*(i-1) $ i = 1..10}

Порядок элементов в наборе не зависит от порядка, в который вы вставляете их. Если порядок элементов важен, используйте список вместо набора:

[a, 3, b, c, d, 180, -15]

MuPAD не обязательно сортирует элементы набора в алфавитном порядке:

set2 := {cos, tan, sin}

Набор не может содержать дублирующиеся элементы. При создании набора MuPAD автоматически удаляет копии:

set3 := {2, 6, 7, a, 6, 2, 2, a, b}

Набор может быть пустым:

empty_set := {}

Доступ к элементам набора

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

set2 := {[c,a,b], [b,c,a], [a,b,c]};
op(set2, 1), op(set2, 2), op(set2, 3)

При использовании блокнота в интерактивном режиме, можно получить доступ к элементу набора его положением в выходной области. Чтобы получить доступ к элементу положением, когда вы видите его на экране, используйте скобки или _index:

set2 := {[c,a,b], [b,c,a], [a,b,c]}:
set2[1];
_index(set2, 3)

Можно получить доступ к конкретным решениям от набора, возвращенного solve команда. Чтобы использовать порядок элементов набора, когда они появляются на экране, используйте скобки или _index:

solutions := solve(x^4 = 1, x);
solutions[3];
_index(solutions, 2..4)

Если вы используете индексируемое присвоение, не создавая набор, MuPAD генерирует таблицу вместо набора:

set[1] := x: set

Работайте с наборами

Наборы MuPAD поддерживают следующие операции:

  • Определение объекта как член набора

  • Проверка, что набор содержит конкретный объект

  • Используя набор как функция в вызове функции

  • Применение функции ко всем элементам набора

  • Извлечение записей набора

  • Вычисление пересечения множеств

  • Деление набора согласно конкретным свойствам его элементов

Чтобы задать объект как члена набора, используйте in команда:

x in {1, 2, 3, a, d, 5}

Чтобы проверять, принадлежит ли объект набору, используйте contains команда:

set := {a, 3, b, c, d, 180, -15}:
contains(set, d);
contains(set, e);

Если вы используете набор в качестве функции в вызове функции, MuPAD возвращает набор соответствующих вызовов функции:

{sin, cos, tan, f}(x);
{sin, cos, tan, f}(0.1)

Чтобы применить функцию ко всем элементам набора, используйте функциональный map:

map({x, 0.1, 1/5, PI}, sin)

Чтобы извлечь элементы с конкретными свойствами от набора, используйте select команда:

select({{a, x, b}, {a}, {x, 1}}, contains, x)

Чтобы найти пересечение множеств, используйте intersect команда:

S := {1,2,3}:
S intersect {2,3,4};

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

split({{a, x, b}, {a}, {x, 1}}, contains, x)

Получившиеся три набора содержат:

  • Элементы с необходимыми свойствами

  • Элементы без необходимых свойств

  • Элементы, для которых необходимые свойства неизвестны.

Добавьте, замените или удалите элементы набора

Добавить элементы в набор:

  1. Создайте набор, содержащий элементы, которые вы хотите добавить.

  2. Объедините старое и новые наборы с помощью union команда.

set := {a, b, c}:
set := set union {d, e, f}

Чтобы заменить элемент набора, используйте subs команда. Новый элемент не обязательно появляется вместо старого:

set4 := {a, b, 2, 6, 7};
subs(set4, a = 1)

Примечание

Когда вы заменяете и удаляете элементы набора, порядок его элементов может измениться, даже если вы удаляете или заменяете последний элемент.

Когда заменяющий или удаляющий элемент, всегда проверяйте, что вы получаете доступ к элементу в правильном положении:

set4;
op(set4, 4)

subs команда не изменяет исходный набор:

set4 := {a, b, 2, 6, 7}:
subs(set4, a = 1);
set4

Чтобы удалить элементы из набора, используйте minus команда. Можно одновременно удалить несколько элементов набора:

set5 := {1, 2, 6, 7, b}:
set5 minus {1, b}