필터 지우기
필터 지우기

How can I plot 3-same-sized matrices in a polar plot ?

조회 수: 1 (최근 30일)
Roxi48
Roxi48 2017년 5월 21일
편집: Suhan 2017년 5월 24일
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

답변 (1개)

Suhan
Suhan 2017년 5월 24일
편집: Suhan 2017년 5월 24일
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

카테고리

Help CenterFile Exchange에서 Geographic Plots에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by