Borrar filtros
Borrar filtros

question regarding sum(m,3) command

4 visualizaciones (últimos 30 días)
fima v
fima v el 12 de Dic. de 2022
Editada: Jan el 13 de Dic. de 2022
hello, i have a three dimentional matrices m.
output of sum(m,3) return a two dimentional matrices.
What kind of summing being done on my 3D matrices which creates the 2D matrices?
Thanks.

Respuesta aceptada

Torsten
Torsten el 12 de Dic. de 2022
Editada: Torsten el 12 de Dic. de 2022
It is summed over the third dimension of the matrix.
A = zeros(2,2,2);
A(:,:,1) = [1 2;3 4];
A(:,:,2) = [5 6;7 8];
sum(A,3)
ans = 2×2
6 8 10 12
A(:,:,1) + A(:,:,2)
ans = 2×2
6 8 10 12

Más respuestas (1)

Jan
Jan el 13 de Dic. de 2022
Editada: Jan el 13 de Dic. de 2022
Actually a sum over a 3D array along the 3rd dimension replies a [M x N x 1] array, as summing over the 2nd dimension creates a [M x 1 X P] array. But Matlab ignores trailing singelton dimensions, except it is the 2nd dimension of a matrix (known as "column vector").
You can even access these virtual dimensions:
X = [1, 2; 3, 4]
X = 2×2
1 2 3 4
X(1, 2, 1)
ans = 2
X(2, 2, 1, 1, 1, 1, 1)
ans = 4
There have been some inconsistencies in R2009a, which let trailing singelton dimensions exist for some functions implemented a C-mex. This did not cause bugs, but the ndims command counted this virtual dimensions also. In modern Matlab version, this feature is supported consequently as far as I know.

Categorías

Más información sobre Creating and Concatenating 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!

Translated by