contour plot of stream function for a tornado

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

 采纳的回答

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 个评论

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
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

请先登录,再进行评论。

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Contour Plots 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by