how to make cumsum in ascending order of values
1 view (last 30 days)
Show older comments
Vishal Sharma
on 19 Jun 2017
Answered: Image Analyst
on 19 Jun 2017
I have a matrix
A = [1 2 4 7;
2 3 1 6;
4 5 6 15]
. The last column is sum of rows
I want to make another column on right side displaying cumulative sums of last column in ascending order of the forth column (row sums). The result of last column shall be as follows:--
[22 28 15]
So, final matrix will become
[1 2 4 7 22;
2 3 1 6 28;
4 5 6 15 15].
0 Comments
Accepted Answer
Image Analyst
on 19 Jun 2017
I'm not quite following how your description gives you the result, but I followed your written directions and got this:
A = [1 2 4 7; ...
2 3 1 6; ...
4 5 6 15]
% Sort last column in ascending order:
rightColumn = sort(A(:, end), 'ascend')
% Get the cumulative sums of that
c = cumsum(rightColumn);
% Append onto right edge of A as a new column.
A = [A, c]
0 Comments
More Answers (0)
See Also
Categories
Find more on Matrices and Arrays 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!