how to split the numbers into three different colums in fprint command ?
3 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
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 comentarios
Walter Roberson
el 15 de Mayo de 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.)
Respuestas (1)
Walter Roberson
el 15 de Mayo de 2023
Movida: Walter Roberson
el 21 de Mayo de 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 comentario
Ver también
Categorías
Más información sobre Low-Level File I/O en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!