Problem save

Hello, I have a very simple question. I want to save a variable of the workspace as an ascii file. I make the following request ("a" is a int16 variable):
save a.txt a -ascii
but I get the following message
Warning: Attempt to write an unsupported data type to an ASCII file. Variable 'seriesb' not written to file.
The variables stocked as int16 are not supported by the "save" command? I want to save my variables as int16 and not double ( because I don't want waste too much space), or the same I want just numbers without digits... what should I do?
thank you very much for your help

 Respuesta aceptada

Jan
Jan el 24 de Feb. de 2011

2 votos

If you do not want to waste too much space (what does the GB diskspace cost at the moment?), save your data in binary format, not in -ASCII. Then an int16 needs 2 bytes. As ASCII the int16 -32768 needs 6 bytes plus a delimiter!
What are numbers without digits? Do you mean integers?
Perhaps it is better to use DLMWRITE or FPRINTF to write your files. Then you have more control over the format.

Más respuestas (1)

Matt Tearle
Matt Tearle el 24 de Feb. de 2011

0 votos

If you want ascii, why not just write out using fprintf?
fid = fopen('a.txt','wt');
fprintf(fid,'%hd\n',a);
fclose(fid);

6 comentarios

Jan
Jan el 24 de Feb. de 2011
What is the %hd format?
Jose Luis
Jose Luis el 24 de Feb. de 2011
I do not understand this, the variable "a.txt" is not still created, I want to create it from a variable called "a" in the workspace.
Jan
Jan el 24 de Feb. de 2011
'a.txt' is not a variable, but a string. It is the name of the output file. And you write the variable "a" into the file. Just try it and you will see, what happens. The questions about FOPEN are very basic, so I suggest to read the "Getting Started" chapters of the documentation.
Matt Tearle
Matt Tearle el 24 de Feb. de 2011
@Jan: according to the doc, it's a signed integer "16-bit base 10 values". Not having really used uint16s for anything, I don't know any more than that, but it sounds like the right format!
@Jose: see Jan's reply. That code does exactly what "save a.txt a -ascii" would do if int16 was a supported type (ie write the variable "a" to an ascii file "a.txt" using an integer format.
Jan
Jan el 24 de Feb. de 2011
@Matt: ? I meant, that Jose would benefit from reading the Getting Started chapters.
Matt Tearle
Matt Tearle el 24 de Feb. de 2011
Gah, we need threaded comments! That was in reply to "What is the %hd format?"

Iniciar sesión para comentar.

Categorías

Etiquetas

Preguntada:

el 24 de Feb. de 2011

Community Treasure Hunt

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

Start Hunting!

Translated by