legend for circle matlab

17 Ansichten (letzte 30 Tage)
ha ha
ha ha am 21 Okt. 2018
Kommentiert: ha ha am 22 Okt. 2018
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,

Akzeptierte Antwort

madhan ravi
madhan ravi am 21 Okt. 2018
Bearbeitet: madhan ravi am 21 Okt. 2018
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 Kommentare
ha ha
ha ha am 21 Okt. 2018
Bearbeitet: ha ha am 21 Okt. 2018
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 am 21 Okt. 2018
see my edited answer

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Image Analyst
Image Analyst am 21 Okt. 2018
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.

Community Treasure Hunt

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

Start Hunting!

Translated by