MATLAB Answers

0

polar plot to create circular shape with varying radius

Asked by William Gray on 19 Jul 2019
Latest activity Commented on by Star Strider
on 19 Jul 2019
Hi Everyone,
I'm new to polar plotting and I'm struggling to sucesfully plot what I'm after.
I want to polar plot a random variable around an origin of my choice. I have tried to do this through the following code:
k = round(rand(1,50)*10)+10;
Th = linspace(0,2*pi,50);
Rho = k.*sin(Th);
figure
polar(Th,Rho)
However, this isn't quite working. As all the values are positive it's cramping the plot in the top 2 quadrants. Please see attached plot for what I mean. I have sketched the kind of plot I am after (apologies for how rough this sketch is) but any ideas would be realy appreciated.
Thanks everyone!

  0 Comments

Sign in to comment.

Tags

2 Answers

Answer by Star Strider
on 19 Jul 2019
 Accepted Answer

Plotting the sine function in a polar plot will produce one circle in the upper half of the polar axes.
To get the sort of plot you want, do this:
figure
polar(Th,k)

  2 Comments

Hi,
Thank you for this, a simple change but it gives me exactly what I was after!
As always, my pleasure!

Sign in to comment.


Answer by infinity
on 19 Jul 2019

Hello,
How about if you change a bit like this
clear
close all
% k = round(rand(1,50)*10)+10;
k = round(rand(1,50));
Th = linspace(0,2*pi,50);
% Rho = k.*sin(Th);
Rho = k.*sin(Th)-10;
figure
polar(Th,Rho)

  1 Comment

Hi,
Thanks for the answer this helps! Ive found from the script however that the 'randomness' of the values appear slightly stunted, I think because the rounding of k just gives zero's and ones. I've managed to plot what I was after below with Star Strider's answer but again, thank you for the help.

Sign in to comment.