fprintf varying number of decimal places in a column
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Anna Cole
le 4 Juin 2018
Réponse apportée : Walter Roberson
le 4 Juin 2018
I have a column with mostly zeros and a few numbers. On the zero values I need them to display as 0.0 and the number values I need to display the actual number of decimals such as 1.23456789. What formatting can I use?
7 commentaires
dpb
le 4 Juin 2018
You used the '*' in the format string but didn't pass a corresponding vector of values to fill the place holder so fprintf used the next data from d when needed, leaving shorthanded as far as actual data to print.
Réponse acceptée
Walter Roberson
le 4 Juin 2018
b=zeros(10,1);
b(5)=4.56987;
b(6)=6.4;
a=[1:1:10]';
c = 5 * ones(length(a),1);
c(b==0) = 1;
d=[a,c,b];
fileID = fopen('fprintftrial.txt','w');
fprintf(fileID, '%d,%.*f\n', d');
fclose(fileID);
Result looks like
1,0.0
2,0.0
3,0.0
4,0.0
5,4.56987
6,6.40000
7,0.0
8,0.0
9,0.0
10,0.0
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!