Find index for mx1 cell with specific string

2 vues (au cours des 30 derniers jours)
Ivy Chen
Ivy Chen le 29 Juin 2018
Commenté : Ivy Chen le 2 Juil 2018
I have a mx1 cell in A table as Scenario column. I want to find the index matching the string 'Scenario #' using following:
Scenario_list=A.Scenario(Scenario==['Scenario 20']);
Received a "Error using == Matrix dimensions must agree." error message.

Réponse acceptée

Stephen23
Stephen23 le 29 Juin 2018
Modifié(e) : Stephen23 le 29 Juin 2018
For comparing a cell array of char vectors and a char vector you have to use strcmp, or strcmpi, or strncmp, etc:
idx = strcmp(A.Scenario,'Scenario 20')
The == operator only works for string arrays:
Do not confuse character vectors or character arrays with string arrays:

Plus de réponses (1)

Adam Danz
Adam Danz le 29 Juin 2018
Modifié(e) : Adam Danz le 29 Juin 2018
Replace
Scenario==['Scenario 20']
with
strcmp(Scenario,'Scenario 20')
If you'd like to ignore case, use strcmpi().

Catégories

En savoir plus sur Characters and Strings dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by