how to run an index loop while using find function
3 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Tipnirin Vajanarat
el 10 de Nov. de 2019
Editada: Tipnirin Vajanarat
el 11 de Nov. de 2019
I have two sets of (time) array. By using the time of red mark(ECG) as indicated in the picture. I'm trying to sweep to the right by fixed range (peakgap) to find the blue mark by using find function with condition RpeakTime<PPG1peakTime<PPG1peakTime+peakgap.
I'm trying to figure it out to use find function with index loop. How can I get the answer data of every red plot in array using for loop.
this is my code but I know it does not work
PPG1Psize = numel(PPG1peakTime);
peakgap = ((PPG1Psize)/(3*tend)); %estimate delay time between each ECG peak
for j=1:numECG
[rows,columns] = find(PPG1peakTime>RpeakTime(i) & PPG1peakTime<(RpeakTime(i)+peakgap));
end
6 comentarios
Tipnirin Vajanarat
el 11 de Nov. de 2019
Editada: Tipnirin Vajanarat
el 11 de Nov. de 2019
Respuesta aceptada
Star Strider
el 10 de Nov. de 2019
‘But I'm stuck at finding a proper function to find A single PPG coordinate near ECG in fixed range and make it work with index loop. it sounds simple but I can not find a proper one.’
You may not need to use a loop, or find.
Try this:
EKGlocs = 1:20:250; % Create EKG R-Wave Locations
PPGlocs = 5+cumsum(randi([15 25], 1, 13)); % Create PPG Peak Locations
PPGdiff = bsxfun(@minus, PPGlocs, EKGlocs); % Differences Between Argument Vectors
PPGabs = EKGlocs + PPGdiff; % Absolute Values Of PPG Peak Indices
This would be easier with your data.
2 comentarios
Más respuestas (0)
Ver también
Categorías
Más información sobre Calendar en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!