fprintf table
84 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
TheSpaceGuy
el 22 de Oct. de 2011
Comentada: Walter Roberson
el 6 de Abr. de 2023
Hi guys! I am having trouble making this table using only fprintf commands (NO LOOPS allowed). This is my code for the data that is supposed to be in the table
t = [40 35 30 25 20 15 10 5 0 -5 -10 -15 -20 -25 -30 -35 -40 -45];
v = [5 10 15 20 25 30 35 40 45 50 55 60]';
[T,V] = meshgrid(t,v);
Tc = 35.74 + 0.6215*T - 35.75*(V.^.16) + 0.4275*T .* (V.^.16)
Tchill = round(Tc)
This is how the table should look like: http://www.flickr.com/photos/45889511@N03/6269967871/in/photostream
All the help I can get will be appreciated!
0 comentarios
Respuesta aceptada
Walter Roberson
el 22 de Oct. de 2011
The secret to fprintf() to print tables, is to construct a single array in which all of the numeric values appear row by row in the same order they would appear on the screen -- and then pass the transpose of that table as the fprintf() argument after the format string.
2 comentarios
Walter Roberson
el 6 de Abr. de 2023
My previous answer was written in 2011.
These days, I would probably instead use something like
fprintf(FID, '%s\n', join(compose("%4d", Tchill)))
The key difference here is that while fprintf() and sprintf() go "down" columns, compose() is happy to go across rows.
Tchill = [1 2; 3 4]
fprintf('%4d %4d\n', Tchill)
fprintf('%s\n', join(compose("%4d", Tchill)))
The fprintf() version output the items in linear index order; the compose() version ran across rows.
Más respuestas (0)
Ver también
Categorías
Más información sobre Tables 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!