Average of specific values based on condition

1 Ansicht (letzte 30 Tage)
Filip Konecny
Filip Konecny am 18 Okt. 2017
Beantwortet: KSSV am 18 Okt. 2017
Hello, is it somehow to solve efficiently the following problem? I need to average only elements which are "together". See attached picture.

Antworten (1)

KSSV
KSSV am 18 Okt. 2017
data = [1 2 3 4 5 6 6.5 10 12 12.5 15 16 17 ;20 20 20 20 20 20 20 13 13 13 20 20 20]';
idx = find(diff(data(:,2))~=0) ;
pos = [[1 ;idx+1] [idx ; length(data)]] ;
iwant = zeros(size(pos,1),1) ;
for i = 1:size(pos,1)
iwant(i) = mean(data(pos(i,1):pos(i,2),1)) ;
end
There would be more elegant procedures.

Kategorien

Mehr zu Polar Plots finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by