核心提示:MATLAB温度分布数值仿真分析...
clc,clear all
n=10; %步长
h=1; %对流换热系数
tf=20; %环境温度
k1=2; %导热系数
t(1,2:n)=80; %设定迭代初值
t(2:n,1)=20;
t(1,1)=80;
for o=2:n
for (u=2:n)
t(o,u)=20;
end
end
k(1,2:n)=80; %设定迭代结果保存矩阵的节点温度值
k(2:n,1)=20;
k(1,1)=80;
for o=2:n
for (u=2:n)
k(o,u)=20;
end
end
q=2;
while(q>=1) %判断是否收敛
for i=2:n-1 %根据初值计算边界内节点温度,结果保存在k矩阵中
for j=2:n-1
k(i,j)=(t(i-1,j)+t(i+1,j)+t(i,j-1)+t(i,j+1))/4;
end
end
for p=2:n-1
k(n,p)=k(n-1,p); %计算下壁面节点温度值
k(p,n)=(2*k(p,n-1)+k(p-1,n)+k(p+1,n)+2*h*0.1/(n-1)*tf/k1)/(4+2*h*0.1/(n-1)/k1); %计算对流边界节点温度值
end
k(n,n)=(k(n,n-1)+k(n-1,n)+h*0.1/(n-1)*tf/k1)/(2+h*0.1/(n-1)/k1); %计算绝热对流混合边界点的温度值
q=0;
for i=1:n %将每一次迭代的结果与上一次的结果比较,如果有误差,就计数
for j=1:n
if(abs(t(i,j)-k(i,j))>10^(-5))
q=q+1;
end
end
end
if (q>=1) % 若不收敛则用新的迭代值代替旧的结果,然后重新循环计算,直到收敛
for i=1:n
for j=1:n
t(i,j)=k(i,j)
end
end
end
end
x=0:100/(n-1):100; %绘制三维曲线图
y=x;
[X,Y]=meshgrid(x,y);
for(i=1:n)
for(j=1:n)
Z(i,j)=k(n-i+1,j);
end
end
contourf(X,Y,Z)
xlabel('X/mm');
ylabel('Y/mm');
zlabel('T/℃');
title('温度分布曲线示意图');
for i=1:n-2
c1(1,i)=k1*(k(i+1,2)-k(i+1,1))/(0.1/(n-1));
end
s1=sum(c1)/(n-2);
for i=1:n-2
c2(1,i)=h*(k(i+1,n)-tf);
end
s2=sum(c2)/(n-2);
for i=1:n-2
c3(1,i)=k1*(k(1,i+1)-k(2,i+1))/(0.1/(n-1));
end
s3=sum(c3)/(n-2);
s1,s2,s3
联系:highspeedlogic
QQ :1224848052
微信:HuangL1121
邮箱:1224848052@qq.com
微信扫一扫: