Calculate mean values of specific (but dynamic) intervals
9 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Hello everyone,
I want to calculate mean values of specific (but dynamic) intervals across several result files. I know how I get more than one results file into MATLAB and the other basics.
But what I dont know is the following: an interval should be defined/ starting when a value is between -0.05 and 0.05 in a specific column. It is dynamic, because it sometimes lasts for 8 seconds, sometimes for 10 seconds. So the interval should be ended when the value is <-0.05 or >0.05.
Then i want to calculate the mean value of data from another column according to the defined intervals in the other column.
I hope u understand what I want to do.
Thanks in advance
7 Commenti
Risposta accettata
Jos (10584)
il 1 Ago 2019
% interval and value are the relevant columns of your data matrix
interval = data(:,3)
value = data(:,2)
% find the sections
q = ~(interval < -.05 | interval > .05)
dq = diff([false q false])
ix1 = find(dq==1)
ix2 = find(dq == -1) - 1
% function to apply to each section
myfun = @(k) mean(value(ix1(k):ix2(k)))
R = arrayfun(myfun, 1:numel(ix1)) % mean of each section
not tested but it should work :-)
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Fourier Analysis and Filtering in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!