how to find non-numeric value from a matrix?

5 ビュー (過去 30 日間)
Lisa
Lisa 2012 年 10 月 17 日
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!

採用された回答

Jonathan Epperl
Jonathan Epperl 2012 年 10 月 17 日
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

その他の回答 (1 件)

Sean de Wolski
Sean de Wolski 2012 年 10 月 17 日
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'))

カテゴリ

Help Center および File ExchangeLoops and Conditional Statements についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by