How to loop around cumsum ?

2 views (last 30 days)
Lea Enguehard
Lea Enguehard on 3 Jun 2020
Commented: Image Analyst on 4 Jun 2020
Hello,
I have a file 3600x601 and I would like to obtain a file 1x601 where each 601 value in the new file is the cumulative sum of the associated 3600 values.
I have written this:
for i =1:601
Csflux = cumsum(Flux(i,:));
end
where Flux is 3600x601
At the end I have Csflux 1x601 but it's the cumulative sum of each 601, so it's not what I want.
Do you have any ideas?
I am working on a current fluxes in a coral reef :)
  1 Comment
James Tursa
James Tursa on 3 Jun 2020
Edited: James Tursa on 3 Jun 2020
Please show a small example. E.g., show a specific 5x3 input and the desired output.

Sign in to comment.

Answers (1)

Image Analyst
Image Analyst on 3 Jun 2020
Did you just want the sum of each column? Like this:
columnSums = sum(Flux, 1);
  2 Comments
Lea Enguehard
Lea Enguehard on 3 Jun 2020
I want the cumulative sum of each 3600 value
Image Analyst
Image Analyst on 4 Jun 2020
Lea, we still don't know what you mean, in spite of James and I asking for more clarification or an example. By the way, is this homework?
Is this what you mean?
% Create small test data set.
Flux = randi(9, 5, 15);
columnSums = sum(Flux, 1);
cSums = zeros(size(Flux)); % Preallocate space.
for column = 1 : size(Flux, 2)
thisCumulativeSum = cumsum(Flux(:, column)) % Let's see it first (optional).
cSums(:, column) = thisCumulativeSum
end
Here each column is the cumulative sum, as you go down the rows, of the original column in Flux.

Sign in to comment.

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!