How can I plot 3-same-sized matrices in a polar plot ?
2 views (last 30 days)
Show older comments
Dear Matlab Community,
I would like to plot Signal strength values of a satellite, according to its elevation (radius) and its azimuth (angle) (from an earth station point of view) in a polar plot. My inputs are:
- a 91x361 matrix with elevation values,
elevation = pi/180*(0:90);
elevation_grid = elevation'*ones(1,length(azimuth));
- a 91x361 matrix with azimuth values,
azimuth = pi/180*(0:360);
azimuth_grid = ones(length(elevation),1)*azimuth;
- a 91x361 matrix with signal strength values (SNR_grid), of course this matrix contains NaN value because satellite will never have some couple of (elevation, azimuth) as coordinates.
My point is to make correspondences between the 3 matrices. If I look at element (n,p) in elevation_grid and in azimuth_grid, it gives me the corresponding signal strength in SNR_grid.
For now, I used the "surface" function. It gives me such result :
But I would like to have that in a polar plot. 0° must be North (on top of the graph) and the angle should be measured in geographic direction (not trigonometric), that means clockwise.
I thank you very much for your help.
Roxane
0 Comments
Answers (1)
Suhan
on 24 May 2017
Edited: Suhan
on 24 May 2017
Have you considered 'surf' and 'surfc' commands?
Convert the data you have (R, Phi, St) (where R-radius, Phi - Azimuthal angle, St-Signal Strength) into cartesian data (X,Y,St). Then use 'surfc' or 'surf' functions.
You might also want to consider other contour plots in MATLAB. https://in.mathworks.com/help/matlab/ref/surfc.html?searchHighlight=surfc&s_tid=doc_srchtitle https://in.mathworks.com/help/matlab/visualize/representing-a-matrix-as-a-surface.html
0 Comments
See Also
Categories
Find more on Geographic 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!