Equalities between strings and strings in cell arrays

3 visualizzazioni (ultimi 30 giorni)
I am trying to create a piece of code that checks the string value in a cell array and then assigns a numerical value to another cell based on the identity of that string.
However, no matter what equality function I try to use, I always get an error back or an inequality when both values are obviously the same. Can someone explain what is going on to me?
Here's the hunk of code that I am having trouble with. If the cell array 'C' and string 'C' are the same then I should get an output of 1.
>> tbl{row,2}(1)
ans =
'C'
>> isequal(tbl{row,2}(1),'C') == 1
ans =
0

Risposte (2)

Andrei Bobrov
Andrei Bobrov il 21 Nov 2012
Modificato: Andrei Bobrov il 21 Nov 2012
try
isequal(tbl{row,2}{1},'C')
or
isequal(tbl{row,2}(1),{'C'})

Jan
Jan il 21 Nov 2012
Modificato: Jan il 21 Nov 2012
This checks the fist character:
strncmp(tbl(row, 2), 'C', 1)
This compares the full string:
strcmp(tbl(row, 2), 'C')
Note, that row need not be scalar in both cases.

Categorie

Scopri di più su Characters and Strings in Help Center e File Exchange

Prodotti

Community Treasure Hunt

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

Start Hunting!

Translated by