Clarification: Array of strings vs cell array of character vectors
13 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Bryan Wilson
il 1 Nov 2016
Risposto: Walter Roberson
il 1 Nov 2016
I'm beginning to code a new project. I'll have multi-tiered structures to work with, and some of the fields will have labels and comments on certain data entries. I can put these in as arrays of strings OR as cell arrays of character vectors.
comment1 = strings('hello','world','!'); %3x1 string
%vs
comment2 = cellstr(['hello','world','! ']); %3x1 cell
Do you find one is easier to work with than another? I'm leaning towards arrays of strings. It's easier to set up at least.
0 Commenti
Risposta accettata
James Tursa
il 1 Nov 2016
Modificato: James Tursa
il 1 Nov 2016
Generally, if you will be accessing the individual strings downstream in your code, use a cell array of strings. Many MATLAB functions are already coded to handle these naturally. E.g.,
comments = {'hello','world','!'};
If you also need to concatenate them later on you can always do this:
comment = [comments{:}];
Più risposte (1)
Walter Roberson
il 1 Nov 2016
The string() data type is very new. I am still trying to figure out what it is good for.
It does add a layer of object transparency, allowing you to say
A(K) = B
without having to know that you instead need to do
A{K} = B
because the content happens to be a character vector. That is good over the long term for object oriented processing.
But in practical terms, the only benefit I have seen to date is that finally we can answer those questions where a student is asked to store a character vector into "a" location. Like the assignments where the student has to write a function that accepts a matrix and returns a matrix of the same size in which each entry of the output matrix is either 'odd' or 'even'. I am convinced that the people who make up the homework assignments do not know much about MATLAB.
0 Commenti
Vedere anche
Categorie
Scopri di più su Structures in Help Center e File Exchange
Prodotti
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!