- extract column 2.
- Reshape it into a matrix with columns 1200 tall
- take the mean of each column
Taking Mean Of Specific Rows and Columns Within A Loop
6 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Daniel Koziel
am 6 Nov. 2019
Kommentiert: Daniel Koziel
am 6 Nov. 2019
Hello, I have a data matrix of 288000 x 5 and I would like to compute the mean of column 2 in increments of 1200.
Therefore, I want to take the mean from 1:1200 and put it in slot 1 of a new vector. Then take 1201:2400 and put it in slot 2 of the new vector.
I have attempted it and was successful doing it outside of a loop but now that I attempt a loop I am having trouble.
y = 1;
for x = 1 : 1200: x < 288000
Mean(y) = mean(Data([x:(x+1199)],2);
y = y + 1;
end
It works for the first data point when I format it outside a loop like:
Mean(1) = mean(Data([1:1200]),2);
Mean(2) = mean(Data([1201:2400]),2);
and so on...
Thank you!
0 Kommentare
Akzeptierte Antwort
Richard Brown
am 6 Nov. 2019
You don't need a loop. Basic idea:
The following code will work (so long as you have a number of rows that is a multiple of 1200)
means = mean(reshape(Data(:, 2), 1200, size(Data, 1)/1200))
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Loops and Conditional Statements 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!