
% Showing solutions to the wave equation with dispersion AND dissipation

fs=16;

A=1;
c=8;
delta=2;
gamma=0.5;

x=-10:0.2:10;
t=0:0.02:2;

[X,T]=meshgrid(x,t);

figure(1)

subplot(4,2,1)
set(gca,'FontSize',fs);

k=0;
z=k*(X-(c-k^2*delta)*T);
Z1=A*cos(z).*exp(-k^2*gamma*T);

surfl(X,T,Z1);
shading interp; colormap(gray);
ylabel('t','FontSize',fs); xlabel(''); zlabel('u(x,t)','FontSize',fs); view([15 52]);
title('A : k=0','FontSize',fs);
axis([min(x) max(x) min(t) max(t) -2 2])

subplot(4,2,2)
set(gca,'FontSize',fs);

k=1.5;
z=k*(X-(c-k^2*delta)*T);
Z2=A*cos(z).*exp(-k^2*gamma*T);

surfl(X,T,Z2);
shading interp; colormap(gray);
ylabel('t','FontSize',fs); xlabel(''); zlabel('u(x,t)','FontSize',fs); view([15 52]);
title('B : k=1.5 (|k|<sqrt[c/\delta])','FontSize',fs);
axis([min(x) max(x) min(t) max(t) -2 2])

subplot(4,2,3)
set(gca,'FontSize',fs);

k=2;
z=k*(X-(c-k^2*delta)*T);
Z3=A*cos(z).*exp(-k^2*gamma*T);

surfl(X,T,Z3);
shading interp; colormap(gray);
ylabel('t','FontSize',fs); xlabel('x','FontSize',fs); zlabel('u(x,t)','FontSize',fs); view([15 52]);
title('C : k=2=sqrt[c/\delta]','FontSize',fs);
axis([min(x) max(x) min(t) max(t) -2 2])

subplot(4,2,4)
set(gca,'FontSize',fs);

k=2.5;
z=k*(X-(c-k^2*delta)*T);
Z4=A*cos(z).*exp(-k^2*gamma*T);

surfl(X,T,Z4);
shading interp; colormap(gray);
ylabel('t','FontSize',fs); xlabel('x','FontSize',fs); zlabel('u(x,t)','FontSize',fs); view([15 52]);
title('D : k=2.5 (|k|>sqrt[c/\delta])','FontSize',fs);
axis([min(x) max(x) min(t) max(t) -2 2])

subplot(2,1,2)
set(gca,'FontSize',fs);

a=1.2;
b=0.8;
c=1.2;
d=1.5;
Z=a*Z1+b*Z2+c*Z3+d*Z4;

surfl(X,T,Z);
shading interp; colormap(gray);
ylabel('t','FontSize',fs); xlabel('x','FontSize',fs); zlabel('u(x,t)','FontSize',fs); view([15 52]);
title('a*A+b*B+c*C+d*D','FontSize',fs);

