matlab plot figure

¿Cómo trazar un círculo en Matlab?



plot figure (2)

No te rías, pero lo más fácil sería usar la función de rectangle , de hecho;)

%// radius r = 2; %// center c = [3 3]; pos = [c-r 2*r 2*r]; rectangle(''Position'',pos,''Curvature'',[1 1]) axis equal

¡pero establece la curvatura del rectángulo en 1 !

El vector de position define el rectángulo, los dos primeros valores x e y son la esquina inferior izquierda del rectángulo. Los dos últimos valores definen el ancho y la altura del rectángulo.

pos = [ [x y] width height ]

La esquina inferior izquierda de su círculo, sí, este círculo tiene esquinas, aunque imaginarias, es el centro c = [3 3] menos el radio r = 2 que es [xy] = [1 1] . El ancho y la altura son iguales al diámetro del círculo, entonces width = 2*r; height = width; width = 2*r; height = width;

En caso de que no le guste la suavidad de la solución anterior, no hay forma de evitar el uso obvio de dibujar un círculo real mediante el uso de funciones trigonométricas .

%// number of points n = 1000; %// running variable t = linspace(0,2*pi,n); x = c(1) + r*sin(t); y = c(2) + r*cos(t); %// draw line line(x,y) %// or draw polygon if you want to fill it with color %// fill(x,y,[1,1,1]) axis equal

Me gustaría saber cómo puedo graficar círculos en matlab conociendo el centro y el radio. He intentado círculos () que no parece funcionar porque mi versión de matlab no lo tiene. Sé que puedo usar la función Rectángulo para hacerlo, pero es una forma bastante compleja de hacerlo, ya que necesitaría resolver el punto más a la izquierda cada vez. ¿No hay una manera más simple de dibujar un círculo SÓLO conociendo el centro y el radio?

muchas gracias


Si desea un círculo que no sea rectangle , puede usar annotation

center = [3, 4]; r = 2; pos = [center-r, 2*r 2*r]; annotation(''ellipse'', pos );