Three Loops with summation
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
Greeting,
I have matrix Z(30,70) and it repeated for 40 times each time there will be new value for each cell. This means for example Z(1,1) will have 40 different values. And the same for all cells in the matrix. My question how I can sum all 40 Z(1,1) for all values. I want to done this for each cell and save the result in matrix K(30,70)
Do I need to do three loops to accomplish that or there is another ways to do it.
Thank you in advance for all ideas.
Regards
1 comentario
Walter Roberson
el 24 de Oct. de 2015
This sounds like the same question as your earlier http://uk.mathworks.com/matlabcentral/answers/250696-summation-of-valuse-in-nested-loops
Respuestas (2)
Walter Roberson
el 24 de Oct. de 2015
If you have a cell array Z and you want sum each of the entries, then
cellfun(@sum, Z)
if you are expecting a 30 x 70 numeric array as output, and otherwise
cellfun(@sum, Z, 'Uniform', 0)
if you are expecting a 30 x 70 cell array as output.
2 comentarios
Walter Roberson
el 24 de Oct. de 2015
for L=1:10
for i=1:20
for j=1:100
r=(Xc+Y)^(1/2);
VC=VCo*(1-(exp(-(r))));
Uf(i,j)=(((VC-Yc))/((pi)*(r)));
Vf(i,j)=((VC*r)*(Xc))/((2*pi));
Uft(i,j,L)=Uft(i,j,L)+Uf(i,j);
Vft(i,j,L)=Vft(i,j,L)+Vf(i,j);
Ufz(i,j)=(U-Uft(i,j))/U;
end;
end;
end;
Now afterwards you can use
sum(Utf,3)
sum(Vtf,3)
Matt J
el 24 de Oct. de 2015
Editada: Matt J
el 24 de Oct. de 2015
You should be keeping your Z data as a 3D array of dimension 30x70x40. Then, it's as simple as
K=sum(Z,3);
Example,
>> Z=rand(30,70,40); K=sum(Z,3); whos K Z
Name Size Bytes Class Attributes
K 30x70 16800 double
Z 30x70x40 672000 double
1 comentario
Ali Kareem
el 24 de Oct. de 2015
Editada: Walter Roberson
el 24 de Oct. de 2015
Ver también
Categorías
Más información sobre Resizing and Reshaping Matrices en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!