Problems with fprintf format (Matlab)

1 Ansicht (letzte 30 Tage)
Isaac Hormigo
Isaac Hormigo am 20 Dez. 2020
Kommentiert: Star Strider am 24 Dez. 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?

Antworten (1)

Star Strider
Star Strider am 20 Dez. 2020
You have R2020a.
Use writetable instead.
  2 Kommentare
Isaac Hormigo
Isaac Hormigo am 24 Dez. 2020
Bearbeitet: Isaac Hormigo am 24 Dez. 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 am 24 Dez. 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.)

Melden Sie sich an, um zu kommentieren.

Produkte


Version

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by