how to plot a wave propagation using surface plot.

36 views (last 30 days)
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????????

Accepted Answer

Dishant Arora
Dishant Arora on 4 Sep 2012
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);

More Answers (1)

Dishant Arora
Dishant Arora on 1 Sep 2012
f=1.0e6;
fs=f*100;
n=3;
t=0:1/fs:n/f;
T=meshgrid(t);
y=15*(1-cos(2*pi*f*T/n)).*sin(2*pi*f*T);
surf(T,y);
ylabel('amplitude');
xlabel('time');
  5 Comments
kavya saxena
kavya saxena on 4 Sep 2012
oh yes..i want this kind of curve, but using my function i m not getting this plot.in above there is three vatiable but in my case there is variation with time.so plz help me to make it....

Sign in to comment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!