MATLAB: Plotting only the positive radius for a polar graph

curvegraphplotpolarpolar graph

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?

Best Answer

"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) = [];