how to find non-numeric value from a matrix?
19 views (last 30 days)
Show older comments
Hello,
I'm trying to give a numeric value to a non-numeric values. It seems to be a very simple problem but I just couldn't figure it out. Let's say I want to find the store number according to my t-shirt size.
First I define different sizes.
size = {'large', 'medium', 'small'};
Then, convert this non-numeric value to a numeric value for further use.
tshirt = find (size == 'medium');
This command doesn't work...I was hoping this command will give me back '2' which would be the column numer for 'medium' to give instructions to go store #2.
Is there any way to make this work? I'd appreciate a lot for any help/advices!
0 Comments
Accepted Answer
Jonathan Epperl
on 17 Oct 2012
To compare strings, you'll need strcmp or strcmpi, depending on whether you want case sensitive or insensitive.
>> tshirts = {'sm','med','lar'};
>> nr = find(strcmpi(tshirts,'med'))
nr =
2
0 Comments
More Answers (1)
Sean de Wolski
on 17 Oct 2012
First and most importantly: don't name a variable size!!!! This is a super useful builtin function that when overwritten can cause disastrous effects.
Second, use strcmp
tsize = {'large', 'medium', 'small'};
find(strcmp(tsize,'medium'))
0 Comments
See Also
Categories
Find more on Annotations in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!