MATLAB Answers

I want to fit curve on this polar plot around these points,As shown in the image,Can anyone help me please

35 views (last 30 days)
L K
L K on 23 Jan 2017
Commented: L K on 23 Mar 2017
Please can anyone tell me how to do it?Any way will be fine
  8 Comments
Image Analyst
Image Analyst on 29 Jan 2017
What black dots? Do you mean the blue stars? And the envelope would be like if you lasooed the blue stars by hand tracing around them? Or used an active contour or alpha shape?

Sign in to comment.

Accepted Answer

Image Analyst
Image Analyst on 28 Jan 2017
Try this:
theta=[88,89,90,91,92,94,96,94,90,89,-100,-102,-104,-105,-104,-102,-101,-100];
radius=[5,7,11,17,26,39,46,44,32,3,0,18,34,32,33,29,28,20];
polarplot(theta, radius, 'b*');
hold on;
[x, y] = pol2cart(theta, radius);
k = convhull(x, y);
xch = x(k);
ych = y(k);
[thetaCH, rhoCH] = cart2pol(xch, ych);
polarplot(thetaCH, rhoCH, 'ro-');
  27 Comments
L K
L K on 23 Mar 2017
About mathematical boundaries i am not sure,basically what i know is i need to form an curve like around the points...like i mentioned above ..but after the curve is formed ,,is there a way to know its model ?

Sign in to comment.

More Answers (1)

Walter Roberson
Walter Roberson on 23 Jan 2017
If you have the curve fitting toolbox then use cftool. Import your theta and r and play with some models. Or use pol2cart first and import the resulting x and y and fit those.
  9 Comments
Walter Roberson
Walter Roberson on 31 Jan 2017
coeffs = fmincon(CCV2, rand(1,4)*2, [], [], [], [], [-inf -inf 0 0], [inf inf inf 2*pi], [], options);
F2 = subs(f2, {a0, a1, b0, c1}, {coefs(1), coeffs(2), coeffs(3), coeffs(4)};
sort_theta = sort(theta);
projected_r = double(F2(sort_theta * Pi/180));
polar(sort_theta, projected_r);

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!