Polar plot 0-180 degree with given data

32 次查看(过去 30 天)
Hey guys,
I need to generate polar coordinates and create this 'sensor beam' that would cover 0 to 180 degrees by 5 degree increase with values varying of (0.0x to 0.x). which means there is ~37 values.
  6 个评论
Rik
Rik 2018-8-16
You should provide a clear description of your inputs and the intended output. My code shows you how to have 5 degree jumps. How doesn't that work for you? What code are you trying to apply it to your data? What errors are you getting?
Saulius Janusauskas
Your code does what I need, but now imagine you have exactly 37 values (no more no less) and you want to plot a sort of beam of these values covering 0 to 180 degrees on a polar plot. At degree 0 you have value 1, at degree 5 you have value 2,...at degree 180 you have value 37. They will form a beam as the values will grow towards 90 degrees and drop after. All i want to do is to plot those values at exactly 5 degree intervals. Does it make sense?

请先登录,再进行评论。

采纳的回答

Rik
Rik 2018-8-16
Today's lesson: never assume, but RTM. Because you mentioned 180 degrees, I assumed you had checked the doc to see if Matlab uses radians of degrees. I also assumed that my code would work, as it was only a 3 line example.
It turns out both assumptions were incorrect. The polarplot function uses radian, so my code example actually inputs 28.6 revolutions instead of 180 degrees. You can fix this by using the deg2rad function (which avoids typos), or use a manual conversion factor (so deg*pi/180).
This code should actually do what you mean.
rho=rand(size(theta))/10;
theta=0:5:180;%or theta=linspace(0,180,numel(rho));
figure(1),clf(1)
polarplot(deg2rad(theta),rho)

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Polar Plots 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by