comparison between a string/or cell and categorical data

3 views (last 30 days)
hi,i ve this problem
Trading=categorical({'As is';'bla'})
B='As is';
class(B)='char'
b==Trading(1)
> 0
how can i compare a value of type char and a categorical data type?
(

Answers (2)

Steven Lord
Steven Lord on 4 Jun 2023
MATLAB is correct.
Sis(1).Trading = 'As Is'
Sis = struct with fields:
Trading: 'As Is'
Trading(1) = categorical({'As is'})
Trading = categorical
As is
Sis(1).Trading==Trading(1)
ans = logical
0
If you used a capital I in the definiition of Trading or a lower-case i in the definition of Sis(1).Trading you'd receive the results you expected.
SisLC.Trading = 'As is';
SisLC.Trading == Trading(1)
ans = logical
1
TradingUC = categorical({'As Is'});
Sis(1).Trading == TradingUC
ans = logical
1

the cyclist
the cyclist on 4 Jun 2023
Your method works for me:
Trading = categorical({'As is';'bla'});
B='As is';
B == Trading(1)
ans = logical
1
You did have a lower-case "b" in your code. MATLAB is case-sensitive. Maybe that was part of the problem?
  5 Comments
the cyclist
the cyclist on 4 Jun 2023
We don't need another example. Please upload your data. You can use the paper clip icon in the INSERT section of the toolbar.
As I said above, I can define the variables myself and get your example to work. The key to understanding your problem is to use the data you are actually working with.
Trading(1) = categorical({'As Is'});
v = 'As Is';
Trading(1) == v
ans = logical
1

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!