یکی کمکم کنه.نمی دونم پرا وقتی ران می زنم.محاسباتش تموم نمی شه؟
clear out
clc
T=zeros(101,101);
for i=1:101;
for j=1:101;
T(i,j)=110;
end
end
T1=80;
h1=20;
k=40;
d=.01;
b1=h1/k;
T2=60;
h2=30;
b2=h2/k;
for k=1:2000
for i=1:101;
for j=1:101;
if j==100 && i>21 && i<81
T(i,j)=100;
else
if j==1 && i>21 && i<81
T(i,j)=100
else
if i==101 && j>21 && j<81
T(i,j)=200
else
if i==1 && j>21 && j<81
T(i,j)=200
else
if j==81 && i>1 && i<21
T(i,j)=(T(i-1,j)+T(i+1,j)+2*T(i,j-1)+2*b2*d*T2)/(4+2*b2*d);
else
if j==81 && i>81 && i<101
T(i,j)=(T(i-1,j)+T(i+1,j)+2*T(i,j-1)+2*b1*d*T1)/(4+2*b1*d);
else
if j==21 && i>1 && i<21
T(i,j)=(T(i-1,j)+T(i+1,j)+2*T(i,j+1)+2*b1*d*T1)/(4+2*b1*d);
else
if j==21 && i>81 && i<101
T(i,j)=(T(i-1,j)+T(i+1,j)+2*T(i,j+1)+2*b2*d*T2)/(4+2*b2*d);
else
if i==21 && j>1 && j<21
T(i,j)=(T(i,j+1)+T(i,j-1)+2*T(i+1,j)+2*b1*d*T1)/(4+2*b1*d);
else
if i==21 && j>81 && j<101
T(i,j)=(T(i,j+1)+T(i,j-1)+2*T(i+1,j)+2*b2*d*T2)/(4+2*b2*d);
else
if i==81 && j>1 && j<21
T(i,j)=(T(i,j+1)+T(i,j-1)+2*T(i-1,j)+2*b2*d*T2)/(4+2*b2*d);
else
if i==81 && j>81 && j<101
T(i,j)=(T(i,j+1)+T(i,j-1)+2*T(i-1,j)+2*b1*d*T1)/(4+2*b1*d);
else
if i>1 && i<21 && j>21 && j<81
T(i,j)=(T(i+1,j)+T(i-1,j)+T(i,j+1)+T(i,j-1))/(4);
else
if i>21 && i<81 && j>1 && j<101
T(i,j)=(T(i+1,j)+T(i-1,j)+T(i,j+1)+T(i,j-1))/(4);
else
if i>81 && i<101 && j>21 && j<81
T(i,j)=(T(i+1,j)+T(i-1,j)+T(i,j+1)+T(i,j-1))/(4);
end
end
end
end
end
end
end
end
end
end
end
end
end
end
end
end
end
end
T(1,21)=(T(2,21)+200+b1*d*T1)/(2+b1*d);
T(21,1)=(T(21,2)+100+b1*d*T1)/(2+b1*d);
T(1,81)=(T(2,81)+200+b2*d*T2)/(2+b2*d);
T(21,101)=(T(21,100)+100+b2*d*T2)/(2+b2*d);
T(81,101)=(100+T(81,100)+b1*d*T1)/(2+b1*d);
T(101,81)=(T(100,81)+200+b1*d*T1)/(2+b1*d);
T(101,21)=(T(100,21)+200+b2*d*T2)/(2+b2*d);
T(81,1)=(T(81,2)+100+b2*d*T2)/(2+b2*d);
T(81,81)=(2*T(80,81)+2*T(81,80)+T(82,81)+T(81,82)+2*b1*d*T1)/(6+2*b1*d);
T(21,21)=(2*T(22,21)+2*T(21,22)+T(20,21)+T(21,20)+2*b1*d*T1)/(6+2*b1*d);
T(21,81)=(2*T(21,81)+2*T(22,80)+T(20,81)+T(21,82)+2*b2*d*T2)/(6+2*b2*d);
T(81,21)=(2*T(80,21)+2*T(81,22)+T(82,21)+T(81,20)+2*b2*d*T2)/(6+2*b2*d);
[u,v]=meshgrid(1:101,1:101);
contourf(u,v,T,20)