"nchoosek" function for a matrix whose all elements are 0 or 1
    4 visualizzazioni (ultimi 30 giorni)
  
       Mostra commenti meno recenti
    
I have a matrix A whose all elements are 0 or 1. For example, the first row of A is:
[   0     0     1     0     0     1     0     1     0     0]
I want to use nchoosek function to find the combinations of (total number of 1's in a row) -1. Here, n= 3, k=n-1=2 (always k=n-1). How can I apply this function to all the rows of the matrix or at least, for the above vector.
The output should be as:
[   0     0     1     0     0     1     0     0     0     0]
[   0     0     1     0     0     0     0     1     0     0]
[   0     0     0     0     0     1     0     1     0     0]
nchoosek (3,2)=3.
Thanks
2 Commenti
  the cyclist
      
      
 il 29 Dic 2016
				For the example
A = [0 0 1 0 0 1 0 1 0 0]
you want all possible rows that have two 1's and how many 0's?
Risposta accettata
  James Tursa
      
      
 il 29 Dic 2016
        
      Modificato: James Tursa
      
      
 il 29 Dic 2016
  
      E.g., using a loop:
f = find(A);
n = numel(f);
result = repmat(A,n,1);
for k=1:n
    result(k,f(k)) = 0;
end
Or if the order matters:
    result(k,f(n-k+1)) = 0;
Più risposte (0)
Vedere anche
Categorie
				Scopri di più su Loops and Conditional Statements in Help Center e File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


