2011-12-17 8 views
6

decir, por ejemplo, tenía ...Conexión de punto final e inicial en la parcela xy sencillo (Trazado cerrada curva/polígono)

x = [1 1 2 2]; 
y = [1 2 2 1]; 
plot(x, y, 'b-'); 

I obtendrá una trama con las líneas que unen los puntos (1,1), (1,2) y (2,2). ¿Hay alguna forma de conectar el punto final con el primero, completando así el cuadrado de la trama?

También estoy tirando de líneas de texto con puntos, por lo que simplemente agregar otro punto 1,1 no es una opción.

Respuesta

10

impoly puede ser útil, sin embargo, se crea una curva modificable que es más lenta que en la trama.

puede escribir una función simple para ello:

function plotc(x,y,varargin) 
    x = [x(:) ; x(1)]; 
    y = [y(:) ; y(1)]; 
    plot(x,y,varargin{:}) 
end 

Por cierto, el operador (:) dos puntos se utilizan como medios de programación defensivas. De esta forma, x y y pueden ser vectores de fila o columna.

El varargin permite el uso de parámetros adicionales, como:

plotc(x,y,'Color','r'); 
plotc(x,y,'Parent',a,'LineWidth',2); 
+1

increíble! funcionó perfectamente:] –

2

A menos que su último y último punto sean los mismos, entonces plot no sabrá que quiere una curva cerrada. Por lo tanto, agregue un punto adicional a su lista para trazar o intente utilizar, por ejemplo, rectangle.

Cuestiones relacionadas