Check for 1 in a array

Hey
I have a 3x20 array, where I want to check if row 2 contains 1. If not it should state a message. I was thinking on a if & else . But I'm not quite sure how to check for the number 1.

 Risposta accettata

Cedric
Cedric il 6 Mag 2014
Modificato: Cedric il 6 Mag 2014
Here is an example:
A = randi( 10, 3 ,20 ) % Dummy example.
if any( A(2,:) == 1 )
fprintf( 'Found at least one 1 on row 2!\n' ) ;
end
Running it gives:
>> A
A =
Columns 1 through 16
1 7 5 1 6 1 3 10 7 4 4 10 6 9 4 4
3 1 2 3 6 9 1 7 5 9 4 9 2 7 6 7
2 7 4 4 8 4 9 6 10 2 10 2 9 3 8 5
Columns 17 through 20
2 6 1 6
7 8 5 10
6 2 9 7
Found at least one 1 on row 2!

6 Commenti

Kasper
Kasper il 6 Mag 2014
Modificato: Kasper il 6 Mag 2014
When I run it
if any( FCA(2,:) == 1 );
fprintf( 'Found at least one 1 on row 2!\n' ) ;
end
i get the message:
Undefined function 'eq' for input arguments of type 'cell'.
Don't have eq anywhere.
edit
I just realized I wrote it wrong. It is a 20x3 matrix, not 3x20. But still get the message
Cedric
Cedric il 6 Mag 2014
Modificato: Cedric il 6 Mag 2014
It is because FCA is not a numeric array, but a cell array [ ref ]. Try to convert it to a numeric array first, i.e.:
FCA_num = cell2mat( FCA ) ;
and then work with FCA_num.
Kasper
Kasper il 6 Mag 2014
Modificato: Kasper il 6 Mag 2014
I guess I should have provided that information, but row 1 is text. So MatLab gives me:
Error using cell2mat (line 46)
All contents of the input cell array must be of the same data type.
Cedric
Cedric il 6 Mag 2014
Modificato: Cedric il 6 Mag 2014
Then convert just row 2 if it is the only row involved.
row2 = cell2mat( FCA(2,:) ) ;
if any( row2 == 1 )
...
end
Kasper
Kasper il 6 Mag 2014
That worked!
Thank you!
Cedric
Cedric il 6 Mag 2014
My pleasure.

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Loops and Conditional Statements in Centro assistenza e File Exchange

Richiesto:

il 6 Mag 2014

Commentato:

il 6 Mag 2014

Community Treasure Hunt

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

Start Hunting!

Translated by