% wave - plots solns. of the wave eqn. % version 1 % Lance Williams % Dept. of Computer Science % Univ. of New Mexico % function q=wave(p1,p2,c,dx,dt,t) #wave(gaussian1d(100,50,5),gaussian1d(100,50,5),300,0.01,0.01/300,100); #wave(cos((1:100)*8*pi/100)',cos((1:100)*8*pi/100)',300,0.01,0.01/300,100); y_max=max(p1); y_min=min(p1); n=length(p1); q=p1; r=p2; Q=q; r2=((c*dt)/dx)^2; g=[2*(1-r2),r2,zeros(1,n-3),r2]; C=circulant(g); #[X,T]=meshdom(1:n,1:t); axis([1,n,y_min,y_max]); for n=1:(t-1) temp=r; r=C*r - q; q=temp; # Q=[q,Q]; plot(1:length(q),q); end #mesh(T,X,Q');