Equalities between strings and strings in cell arrays

4 Ansichten (letzte 30 Tage)
Nikolay Rodionov
Nikolay Rodionov am 21 Nov. 2012
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

Antworten (2)

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

Jan
Jan am 21 Nov. 2012
Bearbeitet: Jan am 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.

Kategorien

Mehr zu Characters and Strings finden Sie in Help Center und File Exchange

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by