MATLAB: How to plot a wave propagation using surface plot.

surface plotwave

hi all, i m facing a problem to ploting a wave function in 3d plot or surface or contour plot.i ploteed that wave in 2d. the coding for that i used is f=1.0e6; fs=f*100; n=3; t=0:1/fs:n/f; y=15*(1-cos(2*pi*f*t/n)).*sin(2*pi*f*t); plot(t,y); ylabel('amplitude'); xlabel('time'); now i have to plot this function as surface plot or counter plot.how i can do this????????

Best Answer

you can add phase angle to get the desired result.
f=1.0e6;
n=3;
t=linspace(0,f,100);
phi=linspace(-pi,pi,100);
y=15*(1-cos(2*pi*f*t/n+phi)).*sin(2*pi*f*t+phi);
plot3(t,phi,y);
figure(2)
[T Phi]=meshgrid(t,phi);
Y=15*(1-cos(2*pi*f*T/n+Phi)).*sin(2*pi*f*T+Phi);
surf(T,Phi,Y);
Related Question