I have data in a matrix where I need each consecutive row to be the average of all the rows above this. How would I go about this?

 Réponse acceptée

James Tursa
James Tursa le 21 Fév 2018
Modifié(e) : James Tursa le 21 Fév 2018
Assuming the average includes the row in question:
x = your matrix
result = cumsum(x)./(1:size(x,1))';
Or for earlier versions of MATLAB:
result = bsxfun(@rdivide,cumsum(x),(1:size(x,1))');

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by