how can i find a special row
    5 visualizzazioni (ultimi 30 giorni)
  
       Mostra commenti meno recenti
    
How can i find a row which including only -1. In that A matrix how can i write a code
A=[-1,-1,0,0,0;0,0,0,-1,0;0,1,-1,0,-1;0,0,1,0,0;1,0,0,1,1]
0 Commenti
Risposta accettata
  Ravi Jhou
 il 7 Giu 2013
        You could try
blnA = logical( A == -1 );
blnOut = find( sum( blnA' ) == 1 );
variable 'blnA' finds the elements of matrix A, which are equal to -1.
The output of blnA is
blnA =
     1     1     0     0     0
     0     0     0     1     0
     0     0     1     0     1
     0     0     0     0     0
     0     1     0     0     0
if there is just one '-1', the summary for each row of logical matrix blnA will be '1'.
And because the command 'sum' sums the elements of column.
So need to do a transpose.
The output of blnOut
blnOut =
     2
A ha, row 2. Got it.
4 Commenti
  Ravi Jhou
 il 7 Giu 2013
				You confused me.
Let me describe what you want.
e.g.
A = [-1  1  1 ;
      0 -1  0 ;
      0  0 -1 ;
      1  0  0];
you want to find row 1, 2 ,and 3, which are included at least one '-1'.
or, you want to find row 2 and 3, which are included only one non-zero element '-1'.
You have to describe your question clearly, so I could answer you exactly.
Più risposte (1)
  Roger Stafford
      
      
 il 6 Giu 2013
        I am guessing that you mean, how can you find those rows each of which includes at least one -1. Is that what you mean? If so, do this:
 f = find(any(A==-1,2));
3 Commenti
Vedere anche
Categorie
				Scopri di più su Linear Algebra 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!



