How do I get the sum of the averages for a specific time step?
Ältere Kommentare anzeigen
I am using: mean_time = sum(mean(mean(mean(total)))); to get the sum of the averages of a 4D matrix. How do I change this to get the sum for a specific timestep? For example, if I wanted timestep 5 or 8 specifically rather than the sum of the entire thing (which is what the above does).
2 Kommentare
In which of the 4 dimensions are the time steps?
When you calculate mean(total) you are taking the mean across the first dimension. So when you calculate mean(mean(total)), you are calculating the first dimension of the mean(total) array. To demonstrate that, see how the size of each dimension changes after each mean:
K>> size(total)
ans =
4 4 4 4
K>> size(mean(total))
ans =
1 4 4 4
K>> size(mean(mean(total)))
ans =
1 1 4 4
K>> size(mean(mean(mean(total))))
ans =
1 1 1 4
If you were to use squeeze() in each of the steps above you'd see the number of dimensions decrease at each step.
If you want to take the mean over a dimension other than the first, use the second input to mean(). To answer your question, it depends upon which dimension describes the time steps.
Nesha Wright
am 29 Jun. 2018
Antworten (2)
Adam Danz
am 29 Jun. 2018
In your 4D array, if the 4th dim is time and you'd like to isolate all data from the 588th time step,
time588 = total(:,:,:,588);
which is now a 3D array of size
size(time588)
I'm not sure of your averaging methods but if you're executing
mean(mean(time588))
Then you're averaging across the 1st dimension, then averaging the averages across the 1st dimension again; all for data from time step 588.
4 Kommentare
Nesha Wright
am 29 Jun. 2018
Bearbeitet: Nesha Wright
am 29 Jun. 2018
Adam Danz
am 29 Jun. 2018
No, the sum of the 588th timestep over all other dims is
sum588 = sum(time588(:));
What you're doing is the sum of the means of the means over the first dimension of all data pertaining to time step 588.
And you've got one too many ')' at the end.
Nesha Wright
am 3 Jul. 2018
Bearbeitet: Nesha Wright
am 3 Jul. 2018
Adam Danz
am 4 Jul. 2018
time588 = total(:,:,:,168:188);
Nesha Wright
am 4 Jul. 2018
0 Stimmen
Kategorien
Mehr zu Structures finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!