传热学作业数值计算
1
数值计算matlab 程序内容:
>> tw1=10; % 赋初值
tw2=20;
c=1.5;
p2=20;
p1=c*p2;
L2=40;
L1=c*L2;
deltaX=L2/p2;
a=p2+1;
b=p1+1;
ti=ones(a,b)*5;
m1=ones(a,b);
m1(a,2:b-1)=zeros(1,b-2);
m1(2:a,1)=zeros(a-1,1);
m1(2:a,b)=zeros(a-1,1);
m1(1,:)=ones(1,b)*2;
k=0;
max1=1.0;
tn=ti;
while(max1>1e-6)
max1=0;
k=k+1;
for i=1:1:a
for j=1:1:b
2
m=m1(i,j);
n=ti(i,j);
switch m
case 0
tn(i,j)=tw1;
case 1
tn(i,j)=0.25*(tn(i,j+1)+tn(i,j-1)+tn(i+1,j)+tn(i-1,j));
case 2
tn(i,j)=tw1+tw2*sin(pi*(j-1)/(b-1));
end
er=abs(tn(i,j)-n);
if er>max1
max1=er;
end
end
end
ti=tn;
end
k
ti
max1
t2=ones(a,b); %求解析温度场
for i=a:-1:1
for j=1:1:b
y=deltaX*(a-i);
x=deltaX*(j-1);
t2(i,j)=tw1+tw2*sin(pi*x/L1)*(sinh(pi*y/L1))/(sinh(pi*L2/L1));
end
end
t2
迭代次数k =706
数值解温度场ti
3
数值解每次迭代的最大误差max1 =9.8531e-07
解析温度场 t2
取第11 行的解析解和数值解的点
曲线为第11 行的解析解的直线,散点为其数值解的点
第11 行的误差=[数值解(11 行) – 解析解(11 行)]/解析解
4
数值温度场图像 解析温度场图像
数值解与解析解的误差
数值计算matlab 程序内容:
>> tw1=10;
tw2=20;
c=1.5;
p2=20;
p1=c*p2;
L2=20;
deltaX=L2/p2;
L1=c*L2;
a=p2+1;
b=p1+1;
ti=ones(a,b)*5;