Printing in matrix form

Hi! I'm trying to neatly display the means of a 3-D matrix, but can't get the results to print as a 2-D matrix.
test = rand(3,3,4)
for i = 1:3; for j = 1:3; grid = mean(test(i,j,:)) end end
When 'grid' prints it lists the nine means individually rather than placing them in a 3x3 matrix. Any suggestions?
Thanks!

 Risposta accettata

Sean de Wolski
Sean de Wolski il 15 Giu 2011
No reason for a FOR-loop.
grid = mean(test,3); %second input to mean is the dimension to mean along, in this case 3.
To fix your FOR-loop you just need to keep the indices:
for ii = 1:3; %ii and jj since i,j = sqrt(-1)
for jj = 1:3;
grid(ii,jj) = mean(test(ii,jj,:))
end
end

1 Commento

Donald
Donald il 15 Giu 2011
that's very simple, thanks!
also, thanks for the head's up

Accedi per commentare.

Più risposte (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by