- "..." scalar string
- '...' character vector
Why array of strings are concatenated?
23 次查看(过去 30 天)
显示 更早的评论
parameters=['K13','K24','K_52','K63','K74','K80','K101','K114','K162','MI','Ce','Ge','Pe'];
When I use:
size(parameters)
I get this:
ans =
1 39
But I wanted to get 1*13. I realized it concatenate all the strings to each other:
>> parameters
parameters =
'K13K24K_52K63K74K80K101K114K162MICeGePe'
How can I define it so that they become separated.
2 个评论
Star Strider
2019-11-4
Note that string arrays were introduced in R2016b. Prior to that, strings and character arrays were considered to be the same thing.
采纳的回答
Star Strider
2019-11-4
The square brackets [] are a concatenation operator.
To keep the individual strings as strings, use a cell array:
parameters = {'K13','K24','K_52','K63','K74','K80','K101','K114','K162','MI','Ce','Ge','Pe'};
Note the curly brackets {} denoting a cell array.
2 个评论
ME
2019-11-4
This is the same suggestion I made five minutes before!
In fairness though you've actually explained the problem rather than just giving the solution as I did!
Star Strider
2019-11-4
@ME — Frequently, more than one person is in the process of writing an Answer to a particular Question at the same time. For more detailed Answers that require documentation references, it takes longer. If my Answer essentially duplicates a posted Answer when I discover it, I delete mine. If I believe it adds something, I leave it up.
I almost always delete my Answers if they are not Accepted.
更多回答(1 个)
ME
2019-11-4
You could just store this in a cell array instead - with one parameter inside each cell
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Characters and Strings 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!