MATLAB Answers

polar plot to create circular shape with varying radius

17 views (last 30 days)
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.

Accepted Answer

Star Strider
Star Strider on 19 Jul 2019
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

William Gray
William Gray on 19 Jul 2019
Hi,
Thank you for this, a simple change but it gives me exactly what I was after!

Sign in to comment.

More Answers (1)

infinity
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

William Gray
William Gray on 19 Jul 2019
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.

Sign in to answer this question.

Tags


Translated by