Make a vector plot of the velocity field in polar coordinates

16 vues (au cours des 30 derniers jours)
Marina Markaki
Marina Markaki le 7 Mai 2021
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')

Réponses (1)

Chad Greene
Chad Greene le 7 Mai 2021
Can you use cart2pol to convert the coordinates and vector components to polar coordinates?
  1 commentaire
Marina Markaki
Marina Markaki le 8 Mai 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')

Connectez-vous pour commenter.

Catégories

En savoir plus sur Polar Plots dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by