Problems with fprintf format (Matlab)

1 visualización (últimos 30 días)
Isaac Hormigo
Isaac Hormigo el 20 de Dic. de 2020
Comentada: Star Strider el 24 de Dic. de 2020
I want to correct variables' format in a txt file, using the next code (previous import as separated arrays: skipping the first row (with text headers), defining date as a string):
id = fopen('data.txt', 'w');
fprintf(id, '%5s %3s %3s %3s %4s %3s %6s\n',...
'fecha', 'dia','mes', 'ano', 'hora', 'min', 'abs370');
datos = cat(2,dia, mes, ano, hora, min1, abs370);
datos = datos';
fecha = Fecha'; % Imported as a string
fprintf(id, '%16s %2i %2i %4i %2i %2i %8.4f\n',...
fecha, datos);
fclose(id);
type data.txt
But I get this error:
Error using fprintf Unable to convert 'string' value to 'int64'.
Why do I get this error?

Respuestas (1)

Star Strider
Star Strider el 20 de Dic. de 2020
You have R2020a.
Use writetable instead.
  2 comentarios
Isaac Hormigo
Isaac Hormigo el 24 de Dic. de 2020
Editada: Isaac Hormigo el 24 de Dic. de 2020
Ok, thanks. But why do I get this error? Is it not posible to mix both format in this way?
Star Strider
Star Strider el 24 de Dic. de 2020
My pleasure!
No.
Some file formats will allow that, the reason I suggest writetable. It will do all that for you.
Also, if you want to import everything, readtable is the best option. (The documentation for it is linked at the end of the writetable documentation page.)

Iniciar sesión para comentar.

Productos


Versión

R2020a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by