how to split the numbers into three different colums in fprint command ?
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
How to split the numbers into three different colums with 6 places after the decimal point in fprint command such that the next number written will be in a next line as well?
This is how I am getting
GradVec = 1.0000000.6593560.000000 % -- I want to split these at the 6th place after the decimal using fprintf
diary ('F:\new_code\gradation.txt');
fprintf('%6.6f',GradVec);
diary off
2 commentaires
Walter Roberson
le 15 Mai 2023
GradVec = 1.0000000.6593560.000000
It is an error to have more than one decimal point character in a numeric literal.
Do you have text in that format? If so are you trying to read text in that format from a file? It would be quite uncommon to have text defined in that format: it would be far more common for there to be fixed width fields. (Well, unless the text was written by poorly planned C code.)
Réponses (1)
Walter Roberson
le 15 Mai 2023
Déplacé(e) : Walter Roberson
le 21 Mai 2023
When you use an fprintf() format and pass in more values than there are % items inside the format, the format gets reused from the beginning exactly as is. So if you use a '%.6f' format and pass in three items, you have effectively used repmat('%.6f', 1, 3) which would be like '%.6f%.6f%.6f' . Notice there are not spaces in that format! When you use fprintf() like this, it does not automatically add spaces.
So... use '%.6f %.6f %.6f\n' as your format.
1 commentaire
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!