3D matrix subtraction

15 visualizaciones (últimos 30 días)
Thishan Dharshana
Thishan Dharshana el 12 de Feb. de 2023
Editada: Thishan Dharshana el 12 de Feb. de 2023
I have the following loop. The problem is I cannot get different values for NSSST as i and j changes
clear i j
for i=1:12
for j=1:12:324
NSSST=SST(:,:,j)-SSST(:,:,i);
j=j+1;
end
i=i+1;
end
end

Respuesta aceptada

Image Analyst
Image Analyst el 12 de Feb. de 2023
First of all, the clear is not necessary at all. Secondly you don't need to increment i and j because the for loops do that automatically for you. Third, you're not indexing NSSST so you're just overwriting a scalar every iteration. Maybe you want:
for i = 1 : 12
for j = 1 : 12 : 324
NSSST(i, j) = SST(:,:,j) - SSST(:,:,i);
end
end
  2 comentarios
Torsten
Torsten el 12 de Feb. de 2023
Editada: Torsten el 12 de Feb. de 2023
But you don't get scalars, but 2d matrices as results from the subtraction ...
Maybe something like
count = 0;
for i = 1 : 12
for j = 1 : 12 : 324
count = count + 1;
NSSST(:,:,count) = SST(:,:,j) - SSST(:,:,i);
end
end
Thishan Dharshana
Thishan Dharshana el 12 de Feb. de 2023
Editada: Thishan Dharshana el 12 de Feb. de 2023
Thanks a lot. The answer with "count" is what I wanted.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Matrix Indexing 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