MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

how can i find a special row

Asked by Light on 6 Jun 2013

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]

Products

No products are associated with this question.

Answer by Ravi Jhou on 7 Jun 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.

Light on 7 Jun 2013

Sorry bro!

A=[-1,1,1;0,-1,0;0,0,-1;1,0,0];

In that matrix

blnOut =

`     1     2     3`

I have to find row which include only one -1 or other element in row must be 0 not 1. In that matrix including 1 is found too. Please look at that again please

Ravi Jhou on 7 Jun 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.

Light on 7 Jun 2013

Thank you for your big help ^_^

i want to find row 2 and 3, which are included only one non-zero element '-1

And i found it THANK YOU

Answer by Roger Stafford on 6 Jun 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));`

Light on 7 Jun 2013

Thank you. But i wanna find a row which including only one -1 not 2 or more.

Light on 7 Jun 2013

In a big matrix so many row which including only one -1 can be found. Then i have to choose one of them. How can i code it?

Walter Roberson on 7 Jun 2013
```rows = find( sum(A == -1, 2) == 1 );
```