Make a vector plot of the velocity field in polar coordinates

49 views (last 30 days)
After plotting contour lines of the pressure, which I did easily, I am asked to make a vector plot of the velocity field. The pressure is given as P=(c*(R1/R2)-(1-c))*log((X.^2+Y.^2).^(1/2))/log(R2/R1)+1-c and P=(c*(R1/R2)-(1-c))*log(r)/log(R2/R1)+1-c in polar coordinates, where c, R1 and R2 are constants. I was able to make the vector plots of the cartesian part using this code but I do not know how to do it in polar coordinates. Thank you.
c=0.1;
R1=1;
R2=10;
x = 1:10;
y = 1:10;
[X,Y] = meshgrid(x,y);
P=(c*(R1/R2)-(1-c))*log((X.^2+Y.^2).^(1/2))/log(R2/R1)+1-c;
p_x=(c*(R1/R2)-(1-c))*(X/(X.^2+Y.^2))/log(R2/R1);
p_y=(c*(R1/R2)-(1-c))*(Y/(X.^2+Y.^2))/log(R2/R1);
figure;
quiver(X,Y,p_x,p_y)
title('Velocity field plot')

Answers (1)

Chad Greene
Chad Greene on 7 May 2021
Can you use cart2pol to convert the coordinates and vector components to polar coordinates?
  1 Comment
Marina Markaki
Marina Markaki on 8 May 2021
This is the code that I wrote but it gives me the error that U and V must be the same size.
c=0.1;
R1=1;
R2=10;
x = -10:10;
y = -10:10;
[theta,rho] = cart2pol(x,y);
P=(c*(R1/R2)-(1-c))*log(rho)/log(R2/R1)+1-c;
p_r=(c*(R1/R2)-(1-c))./(rho*log(R2/R1));
p_theta=0;
figure;
quiver(theta,rho,p_r,p_theta)
title('Velocity field plot')

Sign in to comment.

Categories

Find more on Polar Plots in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!