other than strcmp???

11 Ansichten (letzte 30 Tage)
AZZA
AZZA am 14 Mär. 2011
I am trying to use strcmp to compare 2 logical arrays, reading the notes, this cannot be used for logical arrays, only character arrays.
http://www.mathworks.com/help/techdoc/ref/strcmp.html
TF = strcmp(C1, C2)
As it stands i have 2 options, either:
1) find a function that will allow me to compare logical arrays.(No such look so far).
2) convert all the 1's to a specific letter and all my 0's to a different letter also, then i should be able to use strcmp. (But am unsure how to change specific data in an array.)
Regards
AZZA

Antworten (3)

Paulo Silva
Paulo Silva am 14 Mär. 2011
a=logical([1 0 1 1])
b=logical([1 0 1 1])
isequal(a,b)
ans=
1
a=logical([1 0 1 1])
b=logical([1 0 0 1])
isequal(a,b)
ans=
0

Walter Roberson
Walter Roberson am 14 Mär. 2011
You cannot successfully strcmp logical values for no particular reason I can see. The comparison just returns false.
You can, however,
strcmp(char(C1),char(C2))

AZZA
AZZA am 14 Mär. 2011
Thanks for your answers guys, i have figured it out.
It is similar to what Paul Silva was getting at. So thank you both.
I used the following in the end:
C = A & B;
As this is a logic compare instruction. (Logic AND) Which also ensures C is the same size 32x32 matrix as the objects A and B that are being compared.
Cheers
AZZA
  1 Kommentar
Walter Roberson
Walter Roberson am 14 Mär. 2011
That approach will not work if A and B are not the same size, and it is unable to detect locations where one of the two has a 0 but the other has a 1.

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Cell Arrays finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by