legend for circle matlab

25 次查看(过去 30 天)
ha ha
ha ha 2018-10-21
评论: ha ha 2018-10-22
How can i add the legend for "red circle" in the image? The circle was generated using the below syntax: (I already tried this syntax , but failed)
%%INPUT DATA
clear;clc;
R = 10; x_c = 5; y_c = 8;thetas = 0:pi/64:pi;
xs = x_c + R*cos(thetas); ys = y_c + R*sin(thetas);%create input data
% Now add some random noise to make the problem a bit more challenging:
mult = 0.5;
xs = xs+mult*randn(size(xs));
ys = ys+mult*randn(size(ys));
xfit=4.9641;yfit=8.1215;Rfit=9.8862;
%%PLOT RESULT
figure; plot(xs,ys,'b.');%plot data
rectangle('position',[xfit-Rfit,yfit-Rfit,Rfit*2,Rfit*2],'curvature',[1,1],'linestyle','-','edgecolor','r');
hold on;title(sprintf('Best fit: Radius = %0.1f; Center = (%0.3f,%0.3f)',Rfit,xfit,yfit));%create title
plot(xfit,yfit,'g.');xlim([xfit-Rfit-2,xfit+Rfit+2]);ylim([yfit-Rfit-2,yfit+Rfit+2]);axis equal;
legend('input data','center circle','fitted circle');
Hope the result as below:
THANKS,

采纳的回答

madhan ravi
madhan ravi 2018-10-21
编辑:madhan ravi 2018-10-21
R = 10; x_c = 5; y_c = 8;thetas = 0:pi/64:pi;
xs = x_c + R*cos(thetas); ys = y_c + R*sin(thetas);%create input data
% Now add some random noise to make the problem a bit more challenging:
mult = 0.5;
xs = xs+mult*randn(size(xs));
ys = ys+mult*randn(size(ys));
xfit=4.9641;yfit=8.1215;Rfit=9.8862;
figure(1);
h1=plot(xs,ys,'b.');%plot data
hold on;title(sprintf('Best fit: Radius = %0.1f; Center = (%0.3f,%0.3f)',Rfit,xfit,yfit));%create title
h2=plot(xfit,yfit,'g.');xlim([xfit-Rfit-2,xfit+Rfit+2]);ylim([yfit-Rfit-2,yfit+Rfit+2]);axis equal;
h3=rectangle('position',[xfit-Rfit,yfit-Rfit,Rfit*2,Rfit*2],'curvature',[1,1],'linestyle','-','edgecolor','r');
syms x y %symbolic toolbox
h=fimplicit((x-xfit).^2+(y-yfit).^2-Rfit.^2)
h.Color='r'
axis equal
legend([h1 h2 h],{'input data','center circle','fitted circle'})
  5 个评论
ha ha
ha ha 2018-10-21
编辑:ha ha 2018-10-21
plz, check the code again. I already revised it. How can I add the legend for the "red circle line" as expectation figure?
madhan ravi
madhan ravi 2018-10-21
see my edited answer

请先登录,再进行评论。

更多回答(1 个)

Image Analyst
Image Analyst 2018-10-21
Sorry, but you're not doing a fit of your data to a circle at all.
You're just drawing a circle of a predefined size.

类别

Help CenterFile Exchange 中查找有关 Surface and Mesh Plots 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by