3D matrix subtraction

조회 수: 15 (최근 30일)
Thishan Dharshana
Thishan Dharshana 2023년 2월 12일
편집: Thishan Dharshana 2023년 2월 12일
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

채택된 답변

Image Analyst
Image Analyst 2023년 2월 12일
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
Torsten
Torsten 2023년 2월 12일
편집: Torsten 2023년 2월 12일
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 2023년 2월 12일
편집: Thishan Dharshana 2023년 2월 12일
Thanks a lot. The answer with "count" is what I wanted.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Matrix Indexing에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by