Matlab에서 명시 적 체계를 사용하여 제공된 경계 조건으로 다음 1D 열 방정식을 해결하려고합니다. 결과를 플롯하려고 시도했지만 온도가 변하지 않는다는 것을 깨달았습니다. 문제를 해결하고 경계 조건을 포함시키는 방법은 무엇입니까?
clc; clear all; close all;
a=0.45*10^-5;
U_Initial= 30+273.15; %converting to kelvin
U_Wall = 20+273.15; %converting to kelvin
U_BC = 100+273.15; %converting to kelvin
dt= 0.01;
dr= 1;
Lambda= (a*dt)/(dr)^2;
t=1:dt:3600;
r= 3:dr:100;
U = zeros(length(r),length(t));
U(:,1)= U_Initial;
U(1,:)=U_BC;
U(end,:)=U_Wall;
for j= 1:1:length(t)-1
for i=2:1:length(r)-1
U(i,j+1)= U(i,j)+Lambda*((dr/r(i))*(U(i+1,j)-U(i-1,j))+ (U(i+1,j)-2*U(i,j)+U(i-1,j)));
end
end