Going back from cumsum for a matrix
2 views (last 30 days)
Show older comments
valentino dardanoni
on 21 Oct 2022
Commented: valentino dardanoni
on 21 Oct 2022
Suppose I cumsum a matrix, say A=rand(3,3); B=cumsum(A).
Knowing B, how to I get back to A, in a reasonably efficient way, for a rather large B?
Thanks!
Accepted Answer
David Hill
on 21 Oct 2022
A=round(rand(100,100),4);
B=cumsum(A);
a=round([B(1,:);diff(B)],4);
isequal(A,a)
1 Comment
Walter Roberson
on 21 Oct 2022
Right.
Key points here are the use of diff(), the duplication of the first entry, and the rounding or other way of comparing with tolerance for the cross-check (since you would need to deal with round-off errors.)
More Answers (0)
See Also
Categories
Find more on Loops and Conditional Statements 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!