How to stop my iteration Tn(j,i)=Tn+1(j,i)
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
esat gulhan
am 24 Aug. 2020
Bearbeitet: Alan Stevens
am 24 Aug. 2020
clear clc
dx=0.5
nx=uint32(5/dx+1)
ny=uint32(5/dx+1)
[X Y]=meshgrid(linspace(0,5,nx),linspace(0,5,ny))
Tint=0
T=Tint*ones(ny,nx)
Tleft=100
Tright=0
Ttop=0
Tbottom=0
T(:,1)=Tleft
T(:,end)=Tright
T(1,:)=Ttop
T(end,:)= Tbottom
k=3
itr=200
for k=1:itr
for i=2:nx-1
for j=2:ny-1
T(j,i)=((T(j-1,i)+T(j+1,i)+T(j,i-1)+T(j,i+1))/4)
end
end
end
[Xq Yq]= meshgrid(linspace(0,5,nx*10),linspace(0,5,ny*10));
colormap jet
Vq=interp2(X,Y,T,Xq,Yq,'cubic',0);
This is my code. My iteration 200 but i want my code stop when Tn(j,i)=Tn+1(j,i) . But i dont know how to break for end...
0 Kommentare
Akzeptierte Antwort
Alan Stevens
am 24 Aug. 2020
Bearbeitet: Alan Stevens
am 24 Aug. 2020
Replace your for loop by:
tol = 10^-6; % Or whatever is appropriate
err = 1;
while err>tol
Told = T;
for i=2:nx-1
for j=2:ny-1
T(j,i)=((T(j-1,i)+T(j+1,i)+T(j,i-1)+T(j,i+1))/4);
end
end
err = max(max(abs(T - Told)));
end
0 Kommentare
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Numeric Types finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!