Converting float data to binary

Hello ,
I have a question about converting floating files to binary files of data suppose that I have a sin signal:
delta_f = 2; f_max = 10^4; fe = 10*f_max; N = fe/delta_f ;
t = (1:N)/ fe; sinus = sin(2*pi*t*10);
figure (1); plot (t,sinus,'r'); title('signal sinusoidale '); xlabel('temps'); ylabel('amplitude');
save it in a file
emplacement_fichier='c:\\test.txt'; fid=fopen(emplacement_fichier,'w'); fprintf(fid,'%s \t, %s\r\n',[t; sinus]); fclose(fid);
how can I creat an other file with all this value in an other file of course I think I have to add an offset for to get only positive values isn't it ?
thanks for your help

9 Comments

Vivek Selvam
Vivek Selvam on 17 Oct 2013
Edited: Vivek Selvam on 22 Oct 2013
Hi Sabeha, do you want to read back only the positive values from the file?
  • "Floating files" is not clear.
  • Please format your code to improve the readability.
  • I do not see a connection to "binary files" in the description of the problem.
  • Please do not post code, which does not have any relation to the problem. It does not matter if the data are a sinus or simply [-1, 0, 1].
  • Why do you want to add any offset?
% déclarer un signal sinusodale classique
delta_f = 2;
f_max = 10^4;
fe = 10*f_max;
N = fe/delta_f ;
t = (1:N)/ fe;
sinus = sin(2*pi*t*10);
figure (1);
plot (t,sinus,'r');
title('signal sinusoidale ');
xlabel('temps');
ylabel('amplitude');
% reccuperer les amplitudes du signal sinus
emplacement_fichier='c:\\test.txt';
fid=fopen(emplacement_fichier,'w');
fprintf(fid,'%s \t, %s\r\n',[t; sinus]);
fclose(fid);
I just want to convert the generated file to a file with all the previous data in binary
Use fwrite() instead of fprintf()
I always have problem with fwrite
Error using fwrite
Invalid precision.
Error in Binaire (line 30)
fwrite(fid,'%s \t, %s\r\n',[t; sinus]);
fwrite() does not accept formats. You want to write in binary, correct? Binary is binary, format-less.
fwrite(fid, [t; sinus])
You do need to be careful about whether you want the binary file to be interleaved, one t then one sinus, another t another sinus, or if you want all the t then all the sinus. [t; sinus] would end up alternating the two.
I want the same columns one for t in binary and one for sin in binary to
Binary files do not have columns.

Sign in to comment.

Answers (0)

Categories

Asked:

on 17 Oct 2013

Commented:

on 14 Nov 2013

Community Treasure Hunt

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

Start Hunting!