MATLAB Answers

Plotting only the positive radius for a polar graph

2 views (last 30 days)
I want to plot a few polar curves, but I want MATLAB to ignore the negative values my function outputs for r. How can I do so?
EDIT: Figured out a way to do it through the following code
theta = 0:0.01:2*pi;
r = sin(2*theta);
for i=1:1:629
if r(1,i) < 0
r(1,i) = 0;
else r(1,i) = r(1,i);
i = i+1;
end
end
polarplot(theta,r);
Is there a more efficient way to go about this though?

  0 Comments

Sign in to comment.

Accepted Answer

Adam Danz
Adam Danz on 13 Oct 2020
Edited: Adam Danz on 14 Oct 2020
"Is there a more efficient way to go about ths?"
Yes❕
All of that in the loop can be done with this one line,
r(r<0) = 0;
or, if you'd like to remove those values from the plot,
r(r<0) = NaN;
or if you'd like to remove those values completely,
theta(r<0) = [];
r(r<0) = [];

More Answers (0)

Community Treasure Hunt

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

Start Hunting!