create a matrix with elements as mean values of another matrix
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
pavlos
le 12 Fév 2014
Réponse apportée : Jos (10584)
le 12 Fév 2014
Hello,
Please help me with the following.
Consider a 100x10 matrix, called A.
How can I get a 100x10 matrix, called B, where each row is the mean of preseding rows of A?
For matrix B,
row1 = row1 of A
row2 = mean (row1,row2) of A
...
row100= mean(row1,row2,...,row100) of A
Thank you very much.
Best,
Pavlos
0 commentaires
Réponse acceptée
Azzi Abdelmalek
le 12 Fév 2014
Modifié(e) : Azzi Abdelmalek
le 12 Fév 2014
A=[1 2 3;4 5 6;7 8 9] % Example
[n,m]=size(A);
B=cumsum(A)./repmat((1:n)',1,m)
%or
A=[1 2 3;4 5 6;7 8 9]
B=bsxfun(@rdivide,cumsum(A),(1:size(A,1))')
Plus de réponses (1)
Jos (10584)
le 12 Fév 2014
Just to show the many roads to Rome in MatLab's world:
A = ceil(10*rand(10,4))
B = cell2mat(arrayfun(@(x) sum(A(1:x,:),1)/x, 1:size(A,1), 'un', 0).')
0 commentaires
Voir également
Catégories
En savoir plus sur Logical dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!