2010-09-30 25 views
6

Me gustaría agregar flechas a un trazado de una línea en Matlab para ilustrar el flujo. Las flechas idealmente estarían en la línea apuntando en la dirección de la línea. es posible?Cómo agregar flechas a los gráficos de líneas en Matlab?

+1

posible duplicado de [¿Cómo se muestra una flecha situada en un ángulo específico en MATLAB?] (Http://stackoverflow.com/questions/1803043/how-do-i-display-an-arrow-positioned-at -a-specific-angle-in-matlab) – gnovice

Respuesta

1

La función de temblor debe poder hacer lo que desee. Sin embargo, tendrá que calcular la dirección de la flecha usted mismo.

Algo a lo largo de las líneas de esto es feo, pero servirán para iniciar (pero es probable que desee para normalizar el vector de dirección para obtener una gráfica más agradable)

plot(x,y) 
hold on 
quiver(x(1:end-1), y(1:end-1), ones(len(x)-1,1), y(2:end) - y(1:end-1)) 
1

Si he entendido bien, usted está tratando de ver un campo de vectores? Si ese es el caso, aquí es un ejemplo de trabajo:

%# function: f(x,y)=x^3-2y^2-3x over x=[-2,2], y=[-1,1] 
[X Y] = meshgrid(-2:.1:2, -1:.1:1); 
Z = X.^3 -2*Y.^2 -3*X; 

%# gradient of f 
[dX dY] = gradient(Z, .1, .1); 

%# plot the vector field and contour levels 
figure, hold on 
quiver(X, Y, dX, dY) 
contour(X, Y, Z, 10) 
axis equal, axis([-2 2 -1 1]) 
hold off 

%# plot surface 
figure, surfc(X, Y, Z) 
view(3) 

vector field saddle surface

5

Con el fin de dibujar una flecha en Matlab, utilice el paquete gratuito de intercambio de archivos llamado arrow.m

0

Puede añadir una flecha a una figura usando la función annotation.

Tenga en cuenta que el elemento primario del objeto no son los ejes, sino la ventana de la figura iteslf (lo que significa que al acercar/alejar, la flecha se mantiene en la misma ubicación en la ventana de la figura).

Cuestiones relacionadas