Contents
Lämpöyhtälö differenssimenetelmällä, Eksplsiittinen
clear;
close all
n=6; h=1/(n-1)
x=0:h:1;
u0=sin(pi*x);
h =
0.2000
Muodostetaan iteraatiomatriisi M
r=0.25
k=r*h^2
Tloppu=0.2;
t=0:k:Tloppu;
m=length(t);
u=zeros(n-2,m);
u(:,1)= u0(2:n-1)';
M=lampomatr(n,r)
r =
0.2500
k =
0.0100
M =
0.5000 0.2500 0 0
0.2500 0.5000 0.2500 0
0 0.2500 0.5000 0.2500
0 0 0.2500 0.5000
for j=1:m-1
u(:,j+1)= M*u(:,j);
end
nollarivi=zeros(1,m);
u=[nollarivi;u;nollarivi];
Visualisointi
surf(x,t,u'); xlabel('x');ylabel('t'),zlabel('u')
title(['Lämpötilafunktion diffferenssiapproksimaatio',' r=',num2str(r)])
shg
figure
plot(x',u)
grid
xlabel('x');ylabel('u')
title(['Lämpötilan aikasiivujen kuvaajat hetkillä t=0:0.01:',num2str(Tloppu),' r=',num2str(r)])
shg
lampotilat=u'
lampotilat =
0 0.5878 0.9511 0.9511 0.5878 0
0 0.5317 0.8602 0.8602 0.5317 0
0 0.4809 0.7781 0.7781 0.4809 0
0 0.4350 0.7038 0.7038 0.4350 0
0 0.3934 0.6366 0.6366 0.3934 0
0 0.3559 0.5758 0.5758 0.3559 0
0 0.3219 0.5208 0.5208 0.3219 0
0 0.2911 0.4711 0.4711 0.2911 0
0 0.2633 0.4261 0.4261 0.2633 0
0 0.2382 0.3854 0.3854 0.2382 0
0 0.2154 0.3486 0.3486 0.2154 0
0 0.1949 0.3153 0.3153 0.1949 0
0 0.1763 0.2852 0.2852 0.1763 0
0 0.1594 0.2580 0.2580 0.1594 0
0 0.1442 0.2333 0.2333 0.1442 0
0 0.1304 0.2111 0.2111 0.1304 0
0 0.1180 0.1909 0.1909 0.1180 0
0 0.1067 0.1727 0.1727 0.1067 0
0 0.0965 0.1562 0.1562 0.0965 0
0 0.0873 0.1413 0.1413 0.0873 0
0 0.0790 0.1278 0.1278 0.0790 0