Why are strings in a cellarray not interpreted as strings?
Afficher commentaires plus anciens
I'm sorry, but I'm sure this is a dumb question, so I ask your forgiveness in advance.
I have a cell array of strings. For example,
mystrings={'(2,3)(4,7)(5,9)', '(1,3)(4,9)'};
now I want to pass them, one at a time, to a function that takes a string argument. When I call
myfunction('(2,3)(4,7)(5,9)')
it works fine, but if I call
myfunction(mystrings(1))
it's not working because, aparently, mystrings(1) is not really a string, even though, when I type mystrings(1) on the matlab command line, the output is
'(2,3)(4,7)(5,9)'
Also, when I enter
isstr('(2,3)(4,6)(5,9)')
the answer is 1, but isstr(mystrings(1)) gives 0.
So what am I missing?
Thanks! -William
Réponse acceptée
Plus de réponses (1)
James Tursa
le 5 Mar 2011
1 vote
mystrings is a cell array, the elements of which are cells. The contents of the cells are strings. The ( ) syntax recovers the cell, the { } syntax (curly braces) recovers what is in the cell. e.g.,
mystrings(1) is a cell that is the first element of mystrings.
mystrings{1} is the contents of the above cell, and is a string.
1 commentaire
William
le 5 Mar 2011
Catégories
En savoir plus sur Characters and Strings dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!