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

2 次查看(过去 30 天)
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)

采纳的回答

Star Strider
Star Strider 2017-3-8
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 个评论
Ali Y.
Ali Y. 2017-3-14
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 2017-3-14
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.

请先登录,再进行评论。

更多回答(0 个)

Community Treasure Hunt

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

Start Hunting!

Translated by