Am trying to reduce a vector by summing some elements in the vector to form another vecter
2 views (last 30 days)
Show older comments
Bashir Yusuf Bichi
on 15 Nov 2017
Commented: Andrei Bobrov
on 16 Nov 2017
example if v=[40,34,10,8,6,2] then the new vector will make 40 to be the reference point. after comparing each element the new vector will be N=[40,34,26]
6 Comments
Accepted Answer
Andrei Bobrov
on 15 Nov 2017
Edited: Andrei Bobrov
on 15 Nov 2017
b = cumsum(hankel(v));
k = max(b .* (b <= 40));
N = k(cumsum(k) <= b(end,1));
or
t = cumsum(hankel(v));
t = max(t.*(t <= 40));
N = t(cumsum(t) <= sum(v));
2 Comments
Andrei Bobrov
on 16 Nov 2017
a=[30.85,4.11,6.17,2.51,2.28];
b = mean(a);
t = a < b;
vals = a(t);
indices = find(t);
More Answers (0)
See Also
Categories
Find more on Logical in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!