Average of specific values based on condition

2 ビュー (過去 30 日間)
Filip Konecny
Filip Konecny 2017 年 10 月 18 日
回答済み: KSSV 2017 年 10 月 18 日
Hello, is it somehow to solve efficiently the following problem? I need to average only elements which are "together". See attached picture.

回答 (1 件)

KSSV
KSSV 2017 年 10 月 18 日
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.

カテゴリ

Help Center および File ExchangePolar Plots についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by