How to get original values from cumulative sum values?

조회 수: 6(최근 30일)
Niraj Bal Tamang
Niraj Bal Tamang 2022년 6월 19일
답변: Stephen23 2022년 6월 19일
I have a list of cumulative sum values. I want to obtain another list with the values that generated the cumulative sum vaues. Something like a reverse cumulative sum process. I tried (X2-X1) formula for each consecutive value but couldn't get the exact values. Can someone please help me to reverse the cumulative sum values to original values.
Thank you

채택된 답변

Stephen23
Stephen23 2022년 6월 19일
X = rand(1,9)
X = 1×9
0.8615 0.8710 0.7907 0.5073 0.3673 0.4523 0.4018 0.2258 0.1596
Y = cumsum(X)
Y = 1×9
0.8615 1.7326 2.5233 3.0306 3.3979 3.8502 4.2520 4.4778 4.6374
Z = [Y(1),diff(Y)]
Z = 1×9
0.8615 0.8710 0.7907 0.5073 0.3673 0.4523 0.4018 0.2258 0.1596
max(X-Z) % alomsot zero
ans = 4.4409e-16
Because of the accumulated floating point error getting exactly the same values is not expected.

추가 답변(0개)

Community Treasure Hunt

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

Start Hunting!

Translated by