После всех отзывов, которые у меня были для этого вопроса, я внес изменения, чтобы сделать его более понятным и простым.Поиск подмножеств набора векторов, которые удовлетворяют некоторым условиям
Для решения этой проблемы у меня есть матрица A
и вектор строки A(1,2:7)
(ссылка на строку), которая содержит как минимум один 0
.
Из матрицы A
:
A=[1 2 0 1 2 0 0 0
2 1 1 1 0 2 2 0
3 0 0 0 0 1 1 1
4 0 2 0 1 1 1 2
5 0 0 0 0 0 1 0
6 1 0 1 1 2 0 2
7 1 1 2 2 2 1 1
8 0 1 1 2 2 0 0
9 0 1 1 2 2 0 0
10 2 2 2 2 0 0 1]
Я хочу, чтобы найти один или, если возможно все комбинации векторов A(k,2:7),k≠1 and A(k,8)=0
, в дополнение к A(1,2:7)
, которые удовлетворяют следующим условиям:
Комбинация формируется только с векторами, которые удовлетворяют
A(k,8)=0; k=1,..,10
Я не буду рассматривать A (7,2: 7) в результатах, поскольку она не содержит 0.
если
{A(1,2:7),A(j,2:7)}
является данная комбинация, это означает, что на менееA(1,n)≠0
илиA(j,n)≠0
дляn = 2,...,7
, (По крайней мере, один из два значения, которые находятся на одной и той же колонке вA
, должно быть отличается от0
)Одна комбинация может содержать два или более векторов. Другой пример: , если
{A(1,2:7),A(j,2:7),A(p,2:7)}
представляет собой заданную комбинацию, это означает , что при менееA(1,n)≠0
илиA(j,n)≠0
илиA(p,n)≠0
дляn = 2,...,7
. (По крайней мере, одно из трех значений, которые находятся на одной и той же колонке вA
, должна отличаться от0
)Для матрицы
A
,{A(1,2:7),A(2,2:7)}
представляет собой комбинацию, которая удовлетворяет желаемых условий. Но я не хочу иметь комбинацию , такую как{A(1,2:7),A(2,2:7),A(3,2:7)}
, так какA(1,2:7)
иA(2,2:7)
достаточны для формирования одной комбинации.
Для комбинации векторов, я должен взять один вектор в качестве эталона, в этом случае вектор A(1,2:7)
. Это вектор, который мы хотим компенсировать их нулями. Так A(1,2:7)
способствует в ассоциации по его ненулевых компонент: 2,1 и 2.
, когда я говорю выше «Я хочу найти ... в дополнение к A(1,2:7)
», это справедливо, когда A(1,2:7)
является опорной строки. Но если A(5,2:7)
является ссылкой на строку, в этом случае предложение становится «в дополнение к A(5,2:7)
».
Для моей настоящей проблемы A
является матрицей 700x8
. Здесь A
, A(1,2:7)
и A(7,2:7)
- всего лишь пример, я предпочитаю решение для любого вектора A(k,2:7)
матрицы A
, с A(k,8)=0
и, по крайней мере, одним из его компонентов является 0
.
Пусть нам [продолжить это обсуждение в чате] (HTTP://chat.stackoverflow.com/rooms/67051/discussion-between-knedlsepp-and-bzak). – knedlsepp
Мне действительно интересно, почему люди голосуют за этот вопрос отрицательно !!! – bzak
Потому что это было (и все еще) написано очень запутанным образом. – knedlsepp