Effacer les filtres
Effacer les filtres

How to access the maximum value of the radius in rose?

2 vues (au cours des 30 derniers jours)
Ali Y.
Ali Y. le 8 Mar 2017
Commenté : Star Strider le 14 Mar 2017
Could someone help me to access to the value of the radius automatically plotted in any rose diagram? I have to say that I use Matlab 14b. Say, having the following code, how can I get the value 40?
load sunspot.dat
theta = sunspot(:,2);
figure (222)
rose(theta,12)

Réponse acceptée

Star Strider
Star Strider le 8 Mar 2017
Ask rose for two outputs. You can then plot it with polar.
The Code
load sunspot.dat
theta = sunspot(:,2);
[t_out, r_out] = rose(theta,12);
[r_max, idx] = max(r_out) % Maximum Radius & Index
t_max = t_out(idx)*180/pi % Corresponding Angle
figure (222)
polar(t_out, r_out)
r_max =
38
idx =
30
t_max =
210
  4 commentaires
Ali Y.
Ali Y. le 14 Mar 2017
Thank you so much for your help. I works fine.
Although, I have to mention that I had to break the last line of the code, since it seems Matlab (version 14b) does not support 'field of structure' in this case. Because, executing the line
hr.Parent.XLim
gives the error "Attempt to reference field of non-structure array". So, I got the result of this line in two steps; like:
hr = rose(theta,12);
hrp = get(hr,'parent')
rxlim = get(hrp,'XLim')
Star Strider
Star Strider le 14 Mar 2017
My pleasure.
The get function will work regardless of the version you are using. I thought R2014b (that introduced the new ‘Handle Graphics 2’) also introduced the structure syntax. My apologies.

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by