String comparison in table

16 views (last 30 days)
Deepa Maheshvare
Deepa Maheshvare on 25 Nov 2019
Answered: AKARSH KUMAR on 24 Jun 2020
This is a follow up to my previous question.
t = table({'1', '2'; '2', '3'; '2', '3'; '4', '5'}, [1; 2; 1; 2], 'VariableNames', {'Multico', 'value'})
tochange = strcmp(t.Multico(1, :), '2')
Expected output:
tochange =
1×2 logical array
0 1 1
Obtained output:
tochange =
1×2 logical array
0 1
I'd like to know why the expected output is not obtained.
Any suggestions on how to obtain the expected output?
  1 Comment
Bhaskar R
Bhaskar R on 25 Nov 2019
Edited: Bhaskar R on 25 Nov 2019
You are comparing 2 values of the table variable t.Multico row 1 (total 2 elements) to string '2' thats why got only two logical outputs
>> t.Multico(1, :)
ans =
1×2 cell array
{'1'} {'2'}

Sign in to comment.

Answers (1)

AKARSH KUMAR
AKARSH KUMAR on 24 Jun 2020
The reason is you are not comparing a single value but multiple values in this case two values of the table.
Like in your case t.Multico row 1 (total 2 elements) to string '2' thats why got only two logical outputs

Categories

Find more on Cell Arrays in Help Center and File Exchange

Products


Release

R2019b

Community Treasure Hunt

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

Start Hunting!