%Problem:
l=1; %endpoint
T=1; %maximum time
alpha = 2; %constant
m=10;
N=20;
syms f(x) g(x,t)
f(x)=sin(pi*x);
g(x)=(sin(pi*x))*(cos(2*pi*t));
%STEP1
h=l/m;
k=T/N;
lambda=k*alpha/h;
%STEP2
wij = zeros(m,N,'sym');
for j=2:N
wij(1,j)=0; %wij(0,j)
wij(m,j)=0;
end
%STEP3
wij(1,1)=f(0); %wij(0,0)
wij(m,1)=f(l);
%STEP4
for i=2:m-1
wij(i,1)=subs(f(x),x,(i*h)); %wij(i,0)
wij(i,2)=(1-lambda^2)*(subs(f(x),x,(i*h)))+(lambda^2/2)*(subs(f(x),x,((i+1)*h)))+(subs(f(x),x,((i-1)*h)))+k*(subs(g(x),x,(i*h)));
end
%STEP5
for j=2:N-1
for i=2:m-1
wij(i,j+1)=2*(1-lambda^2)*wij(i,j)+lambda^2*(wij(i+1,j)+wij(i-1,j))-wij(i,j-1);
end
end
%STEP6
for j=1:N
t=j*k;
for i=1:m
x=i*h;
fprintf( '%.1f %.1f %s\n',x, t, char(vpa(wij(i,j),10)));
end
end
0.1 0.1 0.0
0.2 0.1 0.5877852523
0.3 0.1 0.8090169944
0.4 0.1 0.9510565163
0.5 0.1 1.0
0.6 0.1 0.9510565163
0.7 0.1 0.8090169944
0.8 0.1 0.5877852523
0.9 0.1 0.3090169944
1.0 0.1 0.0
0.1 0.1 0.0
0.2 0.1 0.02938926261*cos(6.283185307*t) + 0.7135254916
0.3 0.1 0.04045084972*cos(6.283185307*t) + 1.06331351
0.4 0.1 0.04755282581*cos(6.283185307*t) + 1.309016994
0.5 0.1 0.05*cos(6.283185307*t) + 1.426584774
0.6 0.1 0.04755282581*cos(6.283185307*t) + 1.404508497
0.7 0.1 0.04045084972*cos(6.283185307*t) + 1.244949142
0.8 0.1 0.02938926261*cos(6.283185307*t) + 0.9635254916
0.9 0.1 0.01545084972*cos(6.283185307*t) + 0.5877852523
1.0 0.1 0.0
0.1 0.2 0.0
0.2 0.2 0.04045084972*cos(6.283185307*t) + 0.4755282581
0.3 0.2 0.07694208843*cos(6.283185307*t) + 1.213525492
0.4 0.2 0.09045084972*cos(6.283185307*t) + 1.538841769
0.5 0.2 0.09510565163*cos(6.283185307*t) + 1.713525492
0.6 0.2 0.09045084972*cos(6.283185307*t) + 1.720477401
0.7 0.2 0.07694208843*cos(6.283185307*t) + 1.559016994
0.8 0.2 0.05590169944*cos(6.283185307*t) + 1.244949142
0.9 0.2 0.02938926261*cos(6.283185307*t) + 0.6545084972
1.0 0.2 0.0
0.1 0.2 0.0
0.2 0.2 0.04755282581*cos(6.283185307*t) + 0.5
0.3 0.2 0.09045084972*cos(6.283185307*t) + 0.9510565163
0.4 0.2 0.1244949142*cos(6.283185307*t) + 1.618033989
0.5 0.2 0.1309016994*cos(6.283185307*t) + 1.832734395
0.6 0.2 0.1244949142*cos(6.283185307*t) + 1.868033989
0.7 0.2 0.1059016994*cos(6.283185307*t) + 1.720477401
0.8 0.2 0.07694208843*cos(6.283185307*t) + 1.25
0.9 0.2 0.04045084972*cos(6.283185307*t) + 0.6571638901
1.0 0.2 0.0
0.1 0.2 0.0
0.2 0.2 0.05*cos(6.283185307*t) + 0.4755282581
0.3 0.2 0.09510565163*cos(6.283185307*t) + 0.9045084972
0.4 0.2 0.1309016994*cos(6.283185307*t) + 1.244949142
0.5 0.2 0.1538841769*cos(6.283185307*t) + 1.772542486
0.6 0.2 0.1463525492*cos(6.283185307*t) + 1.832734395
0.7 0.2 0.1244949142*cos(6.283185307*t) + 1.559016994
0.8 0.2 0.09045084972*cos(6.283185307*t) + 1.132692148
0.9 0.2 0.04755282581*cos(6.283185307*t) + 0.5954915028
1.0 0.2 0.0
0.1 0.3 0.0
0.2 0.3 0.04755282581*cos(6.283185307*t) + 0.4045084972
0.3 0.3 0.09045084972*cos(6.283185307*t) + 0.7694208843
0.4 0.3 0.1244949142*cos(6.283185307*t) + 1.059016994
0.5 0.3 0.1463525492*cos(6.283185307*t) + 1.244949142
0.6 0.3 0.1538841769*cos(6.283185307*t) + 1.463525492
0.7 0.3 0.1309016994*cos(6.283185307*t) + 1.244949142
0.8 0.3 0.09510565163*cos(6.283185307*t) + 0.9045084972
0.9 0.3 0.05*cos(6.283185307*t) + 0.4755282581
1.0 0.3 0.0
0.1 0.4 0.0
0.2 0.4 0.04045084972*cos(6.283185307*t) + 0.2938926261
0.3 0.4 0.07694208843*cos(6.283185307*t) + 0.5590169944
0.4 0.4 0.1059016994*cos(6.283185307*t) + 0.7694208843
0.5 0.4 0.1244949142*cos(6.283185307*t) + 0.75
0.6 0.4 0.1309016994*cos(6.283185307*t) + 0.6571638901
0.7 0.4 0.1244949142*cos(6.283185307*t) + 0.8090169944
0.8 0.4 0.09045084972*cos(6.283185307*t) + 0.5877852523
0.9 0.4 0.04755282581*cos(6.283185307*t) + 0.3090169944
1.0 0.4 0.0
0.1 0.4 0.0
0.2 0.4 0.02938926261*cos(6.283185307*t) + 0.1545084972
0.3 0.4 0.05590169944*cos(6.283185307*t) + 0.2938926261
0.4 0.4 0.07694208843*cos(6.283185307*t) + 0.25
0.5 0.4 0.09045084972*cos(6.283185307*t) + 0.181635632
0.6 0.4 0.09510565163*cos(6.283185307*t) + 0.09549150281
0.7 0.4 0.09045084972*cos(6.283185307*t)
0.8 0.4 0.07694208843*cos(6.283185307*t) + 0.2135254916
0.9 0.4 0.04045084972*cos(6.283185307*t) + 0.1122569941
1.0 0.4 0.0
0.1 0.5 0.0
0.2 0.5 0.01545084972*cos(6.283185307*t)
0.3 0.5 0.02938926261*cos(6.283185307*t) - 0.1545084972
0.4 0.5 0.04045084972*cos(6.283185307*t) - 0.2938926261
0.5 0.5 0.04755282581*cos(6.283185307*t) - 0.4045084972
0.6 0.5 0.05*cos(6.283185307*t) - 0.4755282581
0.7 0.5 0.04755282581*cos(6.283185307*t) - 0.5
0.8 0.5 0.04045084972*cos(6.283185307*t) - 0.4755282581
0.9 0.5 0.02938926261*cos(6.283185307*t) - 0.09549150281
1.0 0.5 0.0
0.1 0.5 0.0
0.2 0.5 -0.3090169944
0.3 0.5 -0.5877852523
0.4 0.5 -0.8090169944
0.5 0.5 -0.9510565163
0.6 0.5 -1.0
0.7 0.5 -0.9510565163
0.8 0.5 -0.8090169944
0.9 0.5 -0.5877852523
1.0 0.5 0.0
0.1 0.6 0.0
0.2 0.6 - 0.01545084972*cos(6.283185307*t) - 0.5877852523
0.3 0.6 - 0.02938926261*cos(6.283185307*t) - 0.9635254916
0.4 0.6 - 0.04045084972*cos(6.283185307*t) - 1.244949142
0.5 0.6 - 0.04755282581*cos(6.283185307*t) - 1.404508497
0.6 0.6 - 0.05*cos(6.283185307*t) - 1.426584774
0.7 0.6 - 0.04755282581*cos(6.283185307*t) - 1.309016994
0.8 0.6 - 0.04045084972*cos(6.283185307*t) - 1.06331351
0.9 0.6 - 0.02938926261*cos(6.283185307*t) - 0.7135254916
1.0 0.6 0.0
0.1 0.6 0.0
0.2 0.6 - 0.02938926261*cos(6.283185307*t) - 0.6545084972
0.3 0.6 - 0.05590169944*cos(6.283185307*t) - 1.244949142
0.4 0.6 - 0.07694208843*cos(6.283185307*t) - 1.559016994
0.5 0.6 - 0.09045084972*cos(6.283185307*t) - 1.720477401
0.6 0.6 - 0.09510565163*cos(6.283185307*t) - 1.713525492
0.7 0.6 - 0.09045084972*cos(6.283185307*t) - 1.538841769
0.8 0.6 - 0.07694208843*cos(6.283185307*t) - 1.213525492
0.9 0.6 - 0.04045084972*cos(6.283185307*t) - 0.4755282581
1.0 0.6 0.0
0.1 0.7 0.0
0.2 0.7 - 0.04045084972*cos(6.283185307*t) - 0.6571638901
0.3 0.7 - 0.07694208843*cos(6.283185307*t) - 1.25
0.4 0.7 - 0.1059016994*cos(6.283185307*t) - 1.720477401
0.5 0.7 - 0.1244949142*cos(6.283185307*t) - 1.868033989
0.6 0.7 - 0.1309016994*cos(6.283185307*t) - 1.832734395
0.7 0.7 - 0.1244949142*cos(6.283185307*t) - 1.618033989
0.8 0.7 - 0.09045084972*cos(6.283185307*t) - 0.9510565163
0.9 0.7 - 0.04755282581*cos(6.283185307*t) - 0.5
1.0 0.7 0.0
0.1 0.7 0.0
0.2 0.7 - 0.04755282581*cos(6.283185307*t) - 0.5954915028
0.3 0.7 - 0.09045084972*cos(6.283185307*t) - 1.132692148
0.4 0.7 - 0.1244949142*cos(6.283185307*t) - 1.559016994
0.5 0.7 - 0.1463525492*cos(6.283185307*t) - 1.832734395
0.6 0.7 - 0.1538841769*cos(6.283185307*t) - 1.772542486
0.7 0.7 - 0.1309016994*cos(6.283185307*t) - 1.244949142
0.8 0.7 - 0.09510565163*cos(6.283185307*t) - 0.9045084972
0.9 0.7 - 0.05*cos(6.283185307*t) - 0.4755282581
1.0 0.7 0.0
0.1 0.8 0.0
0.2 0.8 - 0.05*cos(6.283185307*t) - 0.4755282581
0.3 0.8 - 0.09510565163*cos(6.283185307*t) - 0.9045084972
0.4 0.8 - 0.1309016994*cos(6.283185307*t) - 1.244949142
0.5 0.8 - 0.1538841769*cos(6.283185307*t) - 1.463525492
0.6 0.8 - 0.1463525492*cos(6.283185307*t) - 1.244949142
0.7 0.8 - 0.1244949142*cos(6.283185307*t) - 1.059016994
0.8 0.8 - 0.09045084972*cos(6.283185307*t) - 0.7694208843
0.9 0.8 - 0.04755282581*cos(6.283185307*t) - 0.4045084972
1.0 0.8 0.0
0.1 0.8 0.0
0.2 0.8 - 0.04755282581*cos(6.283185307*t) - 0.3090169944
0.3 0.8 - 0.09045084972*cos(6.283185307*t) - 0.5877852523
0.4 0.8 - 0.1244949142*cos(6.283185307*t) - 0.8090169944
0.5 0.8 - 0.1309016994*cos(6.283185307*t) - 0.6571638901
0.6 0.8 - 0.1244949142*cos(6.283185307*t) - 0.75
0.7 0.8 - 0.1059016994*cos(6.283185307*t) - 0.7694208843
0.8 0.8 - 0.07694208843*cos(6.283185307*t) - 0.5590169944
0.9 0.8 - 0.04045084972*cos(6.283185307*t) - 0.2938926261
1.0 0.8 0.0
0.1 0.9 0.0
0.2 0.9 - 0.04045084972*cos(6.283185307*t) - 0.1122569941
0.3 0.9 - 0.07694208843*cos(6.283185307*t) - 0.2135254916
0.4 0.9 -0.09045084972*cos(6.283185307*t)
0.5 0.9 - 0.09510565163*cos(6.283185307*t) - 0.09549150281
0.6 0.9 - 0.09045084972*cos(6.283185307*t) - 0.181635632
0.7 0.9 - 0.07694208843*cos(6.283185307*t) - 0.25
0.8 0.9 - 0.05590169944*cos(6.283185307*t) - 0.2938926261
0.9 0.9 - 0.02938926261*cos(6.283185307*t) - 0.1545084972
1.0 0.9 0.0
0.1 0.9 0.0
0.2 0.9 0.09549150281 - 0.02938926261*cos(6.283185307*t)
0.3 0.9 0.4755282581 - 0.04045084972*cos(6.283185307*t)
0.4 0.9 0.5 - 0.04755282581*cos(6.283185307*t)
0.5 0.9 0.4755282581 - 0.05*cos(6.283185307*t)
0.6 0.9 0.4045084972 - 0.04755282581*cos(6.283185307*t)
0.7 0.9 0.2938926261 - 0.04045084972*cos(6.283185307*t)
0.8 0.9 0.1545084972 - 0.02938926261*cos(6.283185307*t)
0.9 0.9 -0.01545084972*cos(6.283185307*t)
1.0 0.9 0.0
0.1 1.0 0.0
0.2 1.0 0.5877852523
0.3 1.0 0.8090169944
0.4 1.0 0.9510565163
0.5 1.0 1.0
0.6 1.0 0.9510565163
0.7 1.0 0.8090169944
0.8 1.0 0.5877852523
0.9 1.0 0.3090169944
1.0 1.0 0.0
0.1 1.0 0.0
0.2 1.0 0.02938926261*cos(6.283185307*t) + 0.7135254916
0.3 1.0 0.04045084972*cos(6.283185307*t) + 1.06331351
0.4 1.0 0.04755282581*cos(6.283185307*t) + 1.309016994
0.5 1.0 0.05*cos(6.283185307*t) + 1.426584774
0.6 1.0 0.04755282581*cos(6.283185307*t) + 1.404508497
0.7 1.0 0.04045084972*cos(6.283185307*t) + 1.244949142
0.8 1.0 0.02938926261*cos(6.283185307*t) + 0.9635254916
0.9 1.0 0.01545084972*cos(6.283185307*t) + 0.5877852523
1.0 1.0 0.0