how can i print an array using fprintf function?
476 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
i tried printing an array
array = [1 2 3];
with fprintf funtion,like this
fprintf('array = %1.0f', array);
but i am getting result in this form:
array = 1array = 2array3
can anyone help me resolving this problem?
i want to get result in this form
array = 1 2 3
or
array = [1 2 3]
0 commentaires
Réponse acceptée
dpb
le 22 Oct 2019
Modifié(e) : dpb
le 22 Oct 2019
You didn't put but one numeric formatting string in the format; hence, the whole thing repeats as often as needed to output the array. You needs must count the array and build the format string to match:
fmt=['array =' repmat(' %1.0f',1,numel(array))];
fprintf(fmt,array)
NB: The above will echo to screen w/ a newline which may or may not be desired behavior depending upon the application. If want to just display the above on the command line w/ next prompt on new line instead of at end of the string, have to add the \n explicitly:
fmt=['array =' repmat(' %1.0f ',1,numel(array)) '\n'];
One last little nuance: notice didn't put a blank after the '=' sign; that's in front of the numeric format string portion...one after the equal would end up doubling-up for the first element.
0 commentaires
Plus de réponses (0)
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!