Convert String array into Cell array
205 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Michael Williams
le 15 Mar 2018
Réponse apportée : Tarek Bekir
le 5 Sep 2020
I am running simulations for 16 weather stations and saving 3 simulated temperature measurements at each station. I created a large table (11000x48000) to hold simulations. I want to name each of the columns something descriptive. I was able to get the names I want into a 1x48000 string array, but I believe I have to convert it into a 1x48000 cell array to work.
varNames = join([repmat('Sim_',3*1000*16,1),(reshape(repmat(1:1000,3*16,1),[],1)),...
repmat("_Station_",3*1000*16,1),(reshape(repmat(1:16,3,1000),[],1)),...
reshape(repmat({'_Max', '_Min', '_Avg'},1000*16,1)',[],1)], "")';
simTable.Properties.VariableNames = varNames;
0 commentaires
Réponse acceptée
James Tursa
le 15 Mar 2018
Is this the conversion you need?
result = arrayfun(@(x)char(varNames(x)),1:numel(varNames),'uni',false);
Plus de réponses (2)
Tarek Bekir
le 5 Sep 2020
You can use cellstr (array)
For example
tt=["apple";"orange";"banana"];
bb={};
bb=cellstr(tt);
tt
bb
tt =
3×1 string array
"apple"
"orange"
"banana"
bb =
3×1 cell array
{'apple' }
{'orange'}
{'banana'}
0 commentaires
Voir également
Catégories
En savoir plus sur Data Type Conversion 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!