Average of specific values based on condition

1 view (last 30 days)
Filip Konecny
Filip Konecny on 18 Oct 2017
Answered: KSSV on 18 Oct 2017
Hello, is it somehow to solve efficiently the following problem? I need to average only elements which are "together". See attached picture.

Answers (1)

KSSV
KSSV on 18 Oct 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.

Categories

Find more on Polar Plots in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!