String comparison in table

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 件のコメント

Bhaskar R
Bhaskar R 2019 年 11 月 25 日
編集済み: Bhaskar R 2019 年 11 月 25 日
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'}

サインインしてコメントする。

回答 (1 件)

AKARSH KUMAR
AKARSH KUMAR 2020 年 6 月 24 日

0 投票

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

カテゴリ

ヘルプ センター および File ExchangeCharacters and Strings についてさらに検索

製品

リリース

R2019b

タグ

質問済み:

2019 年 11 月 25 日

回答済み:

2020 年 6 月 24 日

Community Treasure Hunt

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

Start Hunting!

Translated by