How to loop around cumsum ?

2 vues (au cours des 30 derniers jours)
Lea Enguehard
Lea Enguehard le 3 Juin 2020
Commenté : Image Analyst le 4 Juin 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 commentaire
James Tursa
James Tursa le 3 Juin 2020
Modifié(e) : James Tursa le 3 Juin 2020
Please show a small example. E.g., show a specific 5x3 input and the desired output.

Connectez-vous pour commenter.

Réponses (1)

Image Analyst
Image Analyst le 3 Juin 2020
Did you just want the sum of each column? Like this:
columnSums = sum(Flux, 1);
  2 commentaires
Lea Enguehard
Lea Enguehard le 3 Juin 2020
I want the cumulative sum of each 3600 value
Image Analyst
Image Analyst le 4 Juin 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.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Loops and Conditional Statements dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by