Как сохранить данные датчика за определенный промежуток времени в файле .dat в MATLAB? - PullRequest
0 голосов
/ 04 апреля 2019

Это код, который я использую для хранения данных датчика в ' ecg.dat '. Здесь данные сохраняются от времени = 0 до времени = интервал . Что делать, если я хочу сохранить данные только в определенном интервале, скажем, от 200 до 300 в ' ecg.dat '?

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 Ответ

1 голос
/ 04 апреля 2019

За пределами вашего цикла 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 один раз перед циклом и закрыться, когда все будет сделано.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...