prevent overwriting in matrix

1 次查看(过去 30 天)
T(1,1) = (a-b-c);
T(1,2)=b;
T(2,1) = c;
C(1) = a*To;
for j= 2:1:nx-1 i=1;
T(i,j-1) = b/2;
T(i,j) = 2*a-b-2*c;
T(i,j+1) = b/2;
T (i+1,j+1) = 2*c;
C(j) = 2*a*To;
end
T(1,nx-1) = b;
T(1,nx) = b + c + a;
T(2,nx) = c;
C(nx) = a*To;
for i = 2:1:nysl
for j= 2:1:nx
if(i<=nysl-1 && j==1);
T(i-1,j)=1;
T(i,j)= -4;
T(i+1,j)=1;
T(i,j+1)=2;
elseif (i<=nysl-1 && j<=nx-1);
if true
% code
end
T(i-1,j) =1;
T (i,j-1) =1;
T(i,j) =-4;
T(i,j+1)= 1;
T(i+1,j)=1;
elseif (i<=nysl-1 && j==nx);
T(i-1,j) =1;
T (i,j-1) =2;
T(i,j) =-4;
T(i+1,j)= 1;
else
T(i,j)=0;
end
end
end
due to the loop, the element gets overwritten by the next operation whereas i would want it to sum whichever the new element is to the previous value. kindly suggest someway to do so.

回答(1 个)

BhaTTa
BhaTTa 2024-10-14
Hey @swarnali mukhopadhyay, you can overwrite previous state with sum of previous state and the new values inside the loop.
for example
T(i,j) = T(i,j)+new_value;

类别

Help CenterFile Exchange 中查找有关 Multidimensional Arrays 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by