如何在MATLAB中.dat文件中的特定时间间隔内存储传感器数据?

时间:2019-04-04 13:18:30

标签: matlab

这是我用来在“ ecg.dat ”中存储传感器数据的代码。在这里,数据从时间= 0到时间= interv 进行存储。如果我只想在“ ecg.dat ”中的 200至300 的特定间隔内存储数据,该怎么办?

while(init_time<interv)
 c=readVoltage(b,'A0');
 x=[x,c] 
 subplot(211)
 plot(x);
 title('Recording live data....')
 fid = fopen('ecg.dat', 'w');
 fprintf(fid, '%d \n ', x);
 grid ON
 init_time=init_time+1;
 drawnow
 fclose(fid)
end

1 个答案:

答案 0 :(得分:1)

while循环之外

ind=200-init_time;  %assuming init time could be anything before 200
fid = fopen('ecg.dat','w');
y=x(ind:ind+100); %indexing 200 to three hundred.
fprintf(fid, '%d \n', y);
fclose(fid);

如果init_time始终为零,则可以执行200:300

您还将打开和关闭文件intrv次。您应该fopen在循环之前执行一次,并在完成所有操作后关闭。