MATLAB Answers

How to do polar plot correctly?

15 views (last 30 days)
John
John on 24 Jun 2014
Commented: John on 25 Jun 2014
The task is to plot each group in different symbol and color and show them at their "angle" location in polar plot. This script was used:
factor = 1.2 * 1e-3;
n = 7;
f = [400 200 -10 -200 -300];
symb = ['ro' 'bd' 'gs' 'm^' 'cv' 'r+' 'bx'];
figure('color','white')
hold on
for nn=1:n
t = (nn-1)*factor;
A = exp(-1i*2*pi*t*f);
[THETA,RHO] = cart2pol(real(A), imag(A));
polar(THETA,RHO,symb(nn))
end
hold off
However this was what it output. Obviously this is not correct, no polar graph and no color symbol. Something must be wrong.
Above, if no color used by using the script below, it plot as the second graph below:
symb = ['o' 'd' 's' '^' 'v' '+' 'x'];
Thank you for pointing out the mistake.

  0 Comments

Sign in to comment.

Accepted Answer

Dishant Arora
Dishant Arora on 24 Jun 2014
Edited: Dishant Arora on 24 Jun 2014
Define your symb a cell array that is
symb = {'ro' 'bd' 'gs' 'm^' 'cv' 'r+' 'bx'}
To know where you went wrong, check out the echo of following command at command window:
symb = ['ro' 'bd' 'gs' 'm^' 'cv' 'r+' 'bx']

  2 Comments

John
John on 24 Jun 2014
Hi, Dishant:
Thanks! How to plot it as desired "POLAR" plot like Matlat doc example?
John
John on 25 Jun 2014
I found out that the polar plot doesn't accept 'hold on' command. The script below plots perfect polar chart. But as soon as a 'hold on' is added, it became a non-polar plot.
Hope Mathworks can fix this and make it a real polar plot.
factor = 1.2 * 1e-3;
f = [400 200 -10 -200 -300];
figure('color','white')
t = 2*factor;
A = exp(-1i*2*pi*t*f);
[THETA,RHO] = cart2pol(real(A), imag(A));
polar(THETA,RHO,'ro')

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!