MATLAB Answers

John
0

How to do polar plot correctly?

Asked by John
on 24 Jun 2014
Latest activity Commented on by 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.

1 Answer

Answer by Dishant Arora on 24 Jun 2014
Edited by Dishant Arora on 24 Jun 2014
 Accepted Answer

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
on 24 Jun 2014
Hi, Dishant:
Thanks! How to plot it as desired "POLAR" plot like Matlat doc example?
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.