- "..." scalar string
- '...' character vector
Why array of strings are concatenated?
22 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Zeynab Mousavikhamene
le 4 Nov 2019
Commenté : Star Strider
le 4 Nov 2019
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 commentaires
Star Strider
le 4 Nov 2019
Note that string arrays were introduced in R2016b. Prior to that, strings and character arrays were considered to be the same thing.
Réponse acceptée
Star Strider
le 4 Nov 2019
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 commentaires
ME
le 4 Nov 2019
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
le 4 Nov 2019
@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.
Plus de réponses (1)
ME
le 4 Nov 2019
You could just store this in a cell array instead - with one parameter inside each cell
0 commentaires
Voir également
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!