Polar plot 0-180 degree with given data

12 views (last 30 days)
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 Comments
Rik
Rik on 16 Aug 2018
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
Saulius Janusauskas on 16 Aug 2018
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?

Sign in to comment.

Accepted Answer

Rik
Rik on 16 Aug 2018
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)

More Answers (0)

Categories

Find more on Polar Plots in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!