Count peaks in a data set
3 次查看(过去 30 天)
显示 更早的评论
Hello,
I have a set of data of volumes in the lungs by mechanical ventilation. I want to count the peaks in this data to devide the total volume by this value to get the tidal volumes. How can I get this out of a set of data? We have very much data, so our script is like this:
files=dir('*.log');
M=NaN(length(files),1);
Lek=M;
B=M;
C=M;
R=M;
PS=M;
TV=M;
for i=1:length(files)
out=textscan(files(i).name,'M%f_Lek%f_B%f_C%f_R%f_PS%f');
A = readcell(files(i).name); %data inladen
Z = string(A);
time = Z(7:end,1); %van time een vector maken
time = strrep(time, ',', '.'); %komma's in vector in punten veranderen
time = str2double(time);
flow = Z(7:end,2);
flow= strrep(flow, ',', '.');
flow = str2double(flow);
flow = flow./60;
flowpos = flow;
flow(flow<0)= 0;
RR=23;
volpos = trapz(time, flow);
TV(i)= (volpos./RR);
TV(i)= TV(i).*1000;
M(i)=out{1};
Lek(i)=out{2};
B(i)=out{3};
C(i)=out{4};
R(i)=out{5};
PS(i)=out{6};
end
T=table(M,Lek,B,C,R,PS,TV,'VariableNames',{'M','Lek','B','C','R','PS','TV'})
Because the tidal volumes vary a lot, I want to get a function which looks at the other values and not set a fixed treshold. Can anyone help me with this?
2 个评论
Adam
2019-5-28
If you have the Signal Processing Toolbox
doc findpeaks
gives you various options to specify how to define what counts as a significant peak.
Will Reeves
2022-7-14
编辑:Will Reeves
2022-7-14
.. and if you don't? :-) (have the signal processing toolbox)
回答(1 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!