Why are strings in a cellarray not interpreted as strings?
显示 更早的评论
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
采纳的回答
更多回答(1 个)
James Tursa
2011-3-5
1 个投票
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.
类别
在 帮助中心 和 File Exchange 中查找有关 Characters and Strings 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!