How do I plot a hodograph?
53 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
I can't seem to find a function in Matlab that allows me to plot a hodograph. Any ideas?
1 comentario
Ashim
el 17 de Jul. de 2014
Did you find a solution to plot a hodgraph. I seem to find a solution to plot the points but since i am not a Matlab expert. I cannot find a way to connect the points within the hodograph...I am positing a minimal example here
Ws = 15.*rand(10,1);
Wd = 360.*rand(10,1);
H = (20:20:200)';
Wd = double(Wd);
Ws = double(Ws);
Wd = Wd.*(pi/180);
[WdX, WsY] = pol2cart(Wd, Ws);
polar(WdX, WsY,':b*');
It would be great if you would write the solution you came to. I am unable to think of something to connect the points within the polar plot
Respuestas (2)
bym
el 25 de Nov. de 2012
do
compass
or
feather
work?
1 comentario
Ashim
el 22 de Oct. de 2014
Editada: Ashim
el 22 de Oct. de 2014
I do have an answer to connect the points here is the simple Hodograph example. However, i am not sure if the wind direction is correctly displayed. I am sure i am doing something wrong there. Any suggestions to make the wind directions correct??
if true
%code
Ws = [6.4;6.7;7.4;7.4;7.7;7.9;8.5;8.9;9.1;9.5];
Wd = [185;186;183;186;186.5;187;191;192;197;193];
H = [40;52;60;80;100;108;140;160;180;200];
Wd = Wd.*(pi/180);
Ws = Ws;
[U, V] = pol2cart(Wd, Ws);
polar(U, V,'ob');
text(U, V, num2str(H));
%WdXi = flipud((min(WdX):0.1:max(WdX))');
%WsYi = interp1(WdX, WsY, WdXi,'spline' );
%hold on;
%polar(WdXi, WsYi);
t = 1:numel(Ws);
ts = 1:1/numel(Ws):numel(Ws);
xs = pchip(t,U,ts);
ys = pchip(t, V, ts);
hold on;
polar(xs, ys,'r');
end
Nathan Anderson
el 10 de Mzo. de 2018
Editada: Nathan Anderson
el 10 de Mzo. de 2018
A few subtle changes are required. First, decide on coordinates. Do you want to plot using mathematical conventions (counterclockwise from East), or meteorological (clockwise from North)? Also note that in meteorology, degrees are the direction the wind is blowing FROM. See http://colaweb.gmu.edu/dev/clim301/lectures/wind/wind-uv
On a hodograph, the wind is blowing from the origin to the position on the hodograph, so a 180 degree rotation is required. I'm assuming we chose meteorological winds (so Wd = 185 is from the SSW to NNE), but are confined to the limitations of the polar plot (math direction), which we'll flip later.
Ws = [6.4;6.7;7.4;7.4;7.7;7.9;8.5;8.9;9.1;9.5];
Wd = [185;186;183;186;186.5;187;191;192;197;193];
Wd = Wd-180; % Wind dir on hodograph will be opposite the usual MET convention (blowing from, not to)
H = [40;52;60;80;100;108;140;160;180;200];
Wd = Wd.*(pi/180);
[U, V] = pol2cart(Wd, Ws);
polar(Wd,Ws,'ob'); % Don't use U/V here...they are cartesian.
text(U, V, num2str(H)); % Use U/V here...for text placement.
t = 1:numel(Ws);
ts = 1:1/numel(Ws):numel(Ws);
xs = pchip(t,U,ts);
ys = pchip(t,V,ts);
hold on;
[th,r] = cart2pol(xs,ys); % Need to convert back to polar, here!
polar(th, r,'r');
view([90 -90]) % Correct the view angle, so we see directions as clockwise from North. I'm sure other ways exist, but this was a fudge to get around the fact that "polar" is not too good with met directions.
Enjoy.
1 comentario
Nathan Anderson
el 10 de Mzo. de 2018
Who are we kidding? We need more helicity.
Ws = [10;15;15;18;20;25;30;30;30;30];
Wd = [90;130;150;170;190;200;210;230;250;270];
Ver también
Categorías
Más información sobre 2-D and 3-D Plots en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!