2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 Матлаб: как получить сочетания из эл. нескольких множеств?
Сообщение11.06.2019, 13:23 
Здравствуйте!
Функция nchoosek(v,k) дает все сочетания требуемого размера (k) из элементов одного множества (компонентов вектора v).
Однако у меня несколько множеств и требуется получить все наборы, в каждом из которых имеется ровно один элемент из каждого множества.
Как?

 
 
 
 Re: Матлаб: как получить сочетания из эл. нескольких множеств?
Сообщение11.06.2019, 13:25 
Аватара пользователя
А как получить, например, все трёхзначные числа?

 
 
 
 Re: Матлаб: как получить сочетания из эл. нескольких множеств?
Сообщение11.06.2019, 13:34 
Geen в сообщении #1398771 писал(а):
А как получить, например, все трёхзначные числа?

Я понимаю, что "торможу", но не могли бы Вы подсказать ответ?

 
 
 
 Re: Матлаб: как получить сочетания из эл. нескольких множеств?
Сообщение11.06.2019, 14:20 
Аватара пользователя
Трёхзначные числа это пример выбора всех сочетаний по одному элементу из трёх множеств $\{0..9\}$ (в данном случае множества одинаковые, но это случайно).

Т.е. надо "крутить" цикл от единицы до произведения размеров множеств.
Точнее (и эффективнее) можно описать, если Вы укажите в каком виде даны множества и как Вы собираетесь использовать "сочетания элементов".

 
 
 
 Re: Матлаб: как получить сочетания из эл. нескольких множеств?
Сообщение11.06.2019, 14:40 
Geen в сообщении #1398780 писал(а):
Трёхзначные числа это пример выбора всех сочетаний по одному элементу из трёх множеств $\{0..9\}$ (в данном случае множества одинаковые, но это случайно).

Т.е. надо "крутить" цикл от единицы до произведения размеров множеств.
Точнее (и эффективнее) можно описать, если Вы укажите в каком виде даны множества и как Вы собираетесь использовать "сочетания элементов".

Спасибо.
Отвечаю на вопросы:
1. Каждое множество представляет собой столбец в массиве ячеек. Таким образом мощность всех множеств одинакова.
2. В каждой ячейке массива лежит вектор, причем все вектора имеют одинаковый размер. Для полученного сочетания (набора векторов) нужно просто найти сумму (суммировать все вектора одного набора).
Это, как говорят, "первая часть Марлезанского балета", про вторую скажу позже!))

 
 
 
 Re: Матлаб: как получить сочетания из эл. нескольких множеств?
Сообщение17.06.2019, 12:22 
Свел свою частную задачу к следующей:
Имеется два массива ячеек: А и В. У них разный размер, а именно: А имеет размер 7 на n, В имеет размер 3 на m.
Необходимо получить все наборы ячеек, каждый из которых содержит ровно одну ячейку из каждого столбца массива ячеек А и каждого столбца массива ячеек B.
Таким образом, в каждом наборе имеем $n+m $ ячеек.
Количество всех наборов понятно: $ 7^n \cdot 3^m$
Но как их получить?
Буду признателен за любую помощь.

 
 
 
 Posted automatically
Сообщение17.06.2019, 12:29 
 i  Тема перемещена из форума «Околонаучный софт» в форум «Карантин»
по следующим причинам:

- неправильно набраны формулы (краткие инструкции: «Краткий FAQ по тегу [math]» и видеоролик Как записывать формулы);
- отсутствуют собственные содержательные попытки решения задачи (алгоритм-то вы описать можете?).

Исправьте все Ваши ошибки и сообщите об этом в теме Сообщение в карантине исправлено.
Настоятельно рекомендуется ознакомиться с темами Что такое карантин и что нужно делать, чтобы там оказаться и Правила научного форума.

 
 
 [ Сообщений: 7 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group