1維非穩(wěn)態(tài)導(dǎo)熱問(wèn)題求解的Matlab實(shí)現(xiàn)
%按照@計(jì)算傳熱學(xué)大叔的視頻指導(dǎo)寫了一個(gè)小程序,歡迎各位指正。
clc;
clear;
tic
format longG
rho=100;
cp=1000;
k=10;
T0=3;
TW=3;
TE=5;
s=10;
t=60000;
x=3;
dt=1;
dx=0.015;
sizet=t/dt;
sizex=x/dx;
Tmatrix=zeros(sizet,sizex);
for i=1
? ?Tmatrix(i,:)=T0;
end
%先用顯格式算一算
for i=2:sizet
? ?for j=1:1
? ? ? ?ap1=rho*cp*dx/dt;
? ? ? ?aw0=2*k/dx;
? ? ? ?ae0=k/dx;
? ? ? ?ap0=ap1-aw0-ae0;
? ? ? ?Tmatrix(i,j)=ap0/ap1*Tmatrix(i-1,j)+aw0/ap1*TW+ae0/ap1*Tmatrix(i-1,j+1)+s*dx/ap1;
? ?end
? ?for j=2:sizex-1
? ? ? ?ap1=rho*cp*dx/dt;
? ? ? ?aw0=k/dx;
? ? ? ?ae0=k/dx;
? ? ? ?ap0=ap1-aw0-ae0;
? ? ? ?Tmatrix(i,j)=ap0/ap1*Tmatrix(i-1,j)+aw0/ap1*Tmatrix(i-1,j-1)+ae0/ap1*Tmatrix(i-1,j+1)+s*dx/ap1;
? ?end
? ?for j=sizex:sizex
? ? ? ?ap1=rho*cp*dx/dt;
? ? ? ?aw0=k/dx;
? ? ? ?ae0=2*k/dx;
? ? ? ?ap0=ap1-aw0-ae0;
? ? ? ?Tmatrix(i,j)=ap0/ap1*Tmatrix(i-1,j)+aw0/ap1*Tmatrix(i-1,j-1)+ae0/ap1*TE+s*dx/ap1;
? ?end
end
? ?A=Tmatrix(sizet,:);
? ?Ans=A'
? ?toc
