Я намагаюся вирішити наступне 1-D рівняння тепла з наданими граничними умовами, використовуючи явну схему на Matlab. Я намагався побудувати результати, але зрозумів, що моя температура не змінюється. Як я можу вирішити проблему і включити граничну умову?
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