How can I generate all possible combinations of a matrix which have a certain value?

1 回表示 (過去 30 日間)
Roel
Roel 2014 年 10 月 20 日
コメント済み: Roel 2014 年 10 月 20 日
How can matlab provide all possible combinations of a matrix which equals to zero? For example: I have the matrix a=[0 1 0; 1 1 0; 0 1 1] and matlab has to give the answer: 1 3 7 8, 1 3 7, 1 3 8, 1 7 8, 3 7 8, 1 3, 1 7, 1 8, 3 7, 3 8, 7 8.

採用された回答

Andrei Bobrov
Andrei Bobrov 2014 年 10 月 20 日
n = find(a==0);
out = arrayfun(@(x)nchoosek(n,x),numel(n):-1:2,'un',0)
  2 件のコメント
Guillaume
Guillaume 2014 年 10 月 20 日
For people unfamiliar with arrayfun, the 'un', 0 at the end is short for 'UniformOutput', false, which means put the output in a cell array.
Roel
Roel 2014 年 10 月 20 日
Thanks!

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeMatrices and Arrays についてさらに検索

タグ

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by