ho to find index at which the 50% of the sum vector is included?
1 view (last 30 days)
Show older comments
ho to find index at which the 50% of the sum vector is included?
a=[3 5 7 3 5 8 9 3 1 41 6];
sum(a)=91
50% of sum signal =45.5
indice which is approximately equal to of sum of 50% of sum signal a is 9
Answers (2)
Star Strider
on 26 Nov 2021
A least-squared-difference approach works —
a=[3 5 7 3 5 8 9 3 1 41 6];
suma = cumsum(a);
suma50 = suma(end)/2;
[minv,idxv] = min((suma50-suma).^2)
.
3 Comments
Star Strider
on 26 Nov 2021
My pleasure!
If my Answer helped you solve your problem, please Accept it!
.
Steven Lord
on 26 Nov 2021
If you want the first index that's past the halfway point:
a=[3 5 7 3 5 8 9 3 1 41 6];
suma = cumsum(a)
suma50 = suma(end)/2
[~, location] = find(suma > suma50, 1, 'first')
suma([location-1 location])
Image Analyst
on 27 Nov 2021
Isn't this a duplicate?
If it's not your homework, you can use my solution:
a = [3 5 7 3 5 8 9 3 1 41 6];
s = sum(a)
c = cumsum(a)
[minDiff, index] = min(abs(c - s/2))
(If it is your homework, tag it as homework and find a different way. Don't turn in any of our solutions as your own or you may get caught for cheating.)
0 Comments
See Also
Categories
Find more on Matrix Indexing 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!