fprintf and arrays of varying length
63 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Keith Holmlund
le 19 Juin 2018
Commenté : Stephen23
le 19 Juin 2018
I have a function where one of the inputs is an array, i.e A = [1 1 1 1] or A = [1 1 1 1 1 1 1]. I would like to use fprintf and/or sprintf to write the array to a text file. I know I can specify formatSpec to a specific length, like '%d %d %d %d' but if the array can vary in length, is there a way to make sure the formatSpec has the same number of %d as the amount of numbers in the array
1 commentaire
Stephen23
le 19 Juin 2018
"is there a way to make sure the formatSpec has the same number of %d as the amount of numbers in the array"
fprintf(' %d',A)
Réponse acceptée
Ameer Hamza
le 19 Juin 2018
Modifié(e) : Ameer Hamza
le 19 Juin 2018
A = [1 1 1 1 1];
repmat('%d ', 1, length(A))
ans =
'%d %d %d %d %d '
sprintf(repmat('%d ', 1, length(A)), A)
ans =
'1 1 1 1 1 '
0 commentaires
Plus de réponses (1)
Star Strider
le 19 Juin 2018
The fprintf (and sprintf) functions will do that by default:
A = [1 1 1 1 1];
fprintf('%2d', A)
fprintf('\n')
1 1 1 1 1
0 commentaires
Voir également
Catégories
En savoir plus sur Variables 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!