create a matrix with elements as mean values of another matrix
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
pavlos
am 12 Feb. 2014
Beantwortet: Jos (10584)
am 12 Feb. 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 Kommentare
Akzeptierte Antwort
Azzi Abdelmalek
am 12 Feb. 2014
Bearbeitet: Azzi Abdelmalek
am 12 Feb. 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))')
Weitere Antworten (1)
Jos (10584)
am 12 Feb. 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 Kommentare
Siehe auch
Kategorien
Mehr zu Logical finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!