Plotting only the positive radius for a polar graph

11 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?

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)

Categories

Find more on Polar Plots in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!