How to convert a numerical matrix into a matrix of formatted strings?
Afficher commentaires plus anciens
Hi,
I'd like to convert a numerical matrix into a matrix of formatted strings.
Example of input matrix:[1 2 3.051 4]
What I expect as output: {'1.00' '2.00' '3.05' 4.00'} specified by the string format '%.2f' for instance.
Thanks for your tips.
[EDITED, JSimon, 06-Oct-2011 14:16 UTC]: Cell string wanted => square brackets to curly braces.
Réponses (4)
Walter Roberson
le 6 Oct 2011
cellstr(num2str(matrix(:),'%.2f')).'
Grzegorz Knor
le 6 Oct 2011
use sprintf:
sprintf('%.2f ',[1 2 3.051 4])
Benjamin
le 6 Oct 2011
2 commentaires
Grzegorz Knor
le 6 Oct 2011
Shorter solution:
V=[1;2;3.051;4];
M=[V 2*V];
C = arrayfun(@(x)sprintf('%.2f',x),M,'Uniform',false)
Jan
le 6 Oct 2011
Or as loop:
C = cell(size(M)); for i=1:numel(M); C{i}=sprintf('%.2f', M(i)); end
Using the linear index for M and C reduces the complexity.
Benjamin
le 12 Oct 2011
0 votes
Catégories
En savoir plus sur Characters and Strings dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!