average of each two vectors of a matrix
7 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
I have a matrix of n*n for example 10*5
x=rand(10,5)
Then I want to get the average of each two row. For example the first two row (each element ) etc
I will have a matrix of 5*5 after that
0 Kommentare
Akzeptierte Antwort
Iain
am 9 Okt. 2014
(x(2:2:10,:) + x(1:2:9,:))/2
Thats the "simple" answer. There are other methods that are more flexible, but which need a little more thought eg.:
y = reshape(x,[2,5,5])
answer = squeeze(mean(y));
1 Kommentar
Stephen23
am 9 Okt. 2014
The first solution can also be generalized a little using end instead of hardcoded limits:
(x(2:2:end,:) + x(1:2:end,:))/2
Weitere Antworten (1)
Azzi Abdelmalek
am 9 Okt. 2014
Bearbeitet: Azzi Abdelmalek
am 9 Okt. 2014
a=reshape(mean(permute(reshape(x',5,2,[]),[2 1 3])),5,5)'
0 Kommentare
Siehe auch
Kategorien
Mehr zu Resizing and Reshaping Matrices 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!