contour plot of stream function for a tornado

24 views (last 30 days)
I have a stream function for a tornado and I watned to plot it using contour function, but it's not working:
m1=-3000;
m2 = 5800;%strength
[r,theta] = meshgrid(-20:1:20,0:0.1:2*pi);
psi = (m1/(2*pi))*theta + (m2/(2*pi))*log(r);
contour(r,theta,psi);
How should I fix it so the plot looks something like this:
I also want to plot a circle in the middle with radius r = a constant value

Accepted Answer

Alan Stevens
Alan Stevens on 28 Oct 2020
More like this?
m1=-3000;
m2 = 5800;%strength
R = 0:0.1:20;
THETA = linspace(0,2*pi,numel(R));
[r,theta] = meshgrid(R,THETA);
psi = m1/(2*pi)*theta + (m2/(2*pi))*log(r);
contour(r.*cos(theta),r.*sin(theta),psi,20,'b--');
  2 Comments
Randy Chen
Randy Chen on 28 Oct 2020
yes that's great!
by the way how should I add a circle with a constant radius? should I still use contour? i'm not sure how to do that
Alan Stevens
Alan Stevens on 28 Oct 2020
Edited: Alan Stevens on 29 Oct 2020
Like so
m1=-3000;
m2 = 5800;%strength
R = 0:0.1:20;
THETA = linspace(0,2*pi,numel(R));
[r,theta] = meshgrid(R,THETA);
psi = m1/(2*pi)*theta + (m2/(2*pi))*log(r);
contour(r.*cos(theta),r.*sin(theta),psi,20,'b--');
hold on
rc = 10;
plot(rc*cos(THETA), rc*sin(THETA),'k')
axis equal

Sign in to comment.

More Answers (0)

Categories

Find more on Contour Plots in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!