Calculate mean values of specific (but dynamic) intervals

조회 수: 10 (최근 30일)
NB
NB 2019년 8월 1일
댓글: NB 2019년 8월 2일
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
NB
NB 2019년 8월 1일
well it will cross it several times (roughly 20-25 times) so there are 20-25 intervals that are of interest and which has to be defined. so unfortunately u cant truncate something
dpb
dpb 2019년 8월 1일
Ah! That's a key piece, then...

댓글을 달려면 로그인하십시오.

채택된 답변

Jos (10584)
Jos (10584) 2019년 8월 1일
% 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 :-)

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Logical에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by