Beruflich Dokumente
Kultur Dokumente
MANUAL DE PROGRAMACION
Funciones para graficar Vectores en 2D y 3D
Autor:
Ingeniero Electrnico: Monteza Zevallos Fidel Tomas
Octubre de 2016 (Primera Edicin)
V. J. M. J. / A. M. M. J.
ndice general
Introduccin
1. Lneas del algoritmo de la funcin: vector2d
2. Lneas del algoritmo de la funcin: vector3d
Introduccin
En fsica, un vector (tambin llamado vector Euclidiano o vector Geomtrico) es una magnitud fsica definida en un sistema de
referencia que se caracteriza por tener mdulo (o longitud) y una direccin (u orientacin).
En matemticas se define un vector como un elemento de un espacio vectorial. Esta nocin es ms abstracta y para muchos
espacios vectoriales no es posible representar sus vectores mediante el mdulo y la direccin. En particular los espacios de
dimensin infinita sin producto escalar no son representables de ese modo. Los vectores en un espacio Eucldeo se pueden
representar geomtricamente como segmentos de recta dirigidos (flechas) en el plano R2 o en el espacio R3.
Algunos ejemplos de magnitudes fsicas que son magnitudes vectoriales: la velocidad con que se desplaza un mvil, ya que no
queda definida tan solo por su mdulo que es lo que marca el velocmetro, en el caso de un automvil, sino que se requiere
indicar la direccin (hacia donde se dirige); la fuerza que acta sobre un objeto, ya que su efecto depende adems de su
magnitud o mdulo, de la direccin en la que acta; tambin, el desplazamiento de un objeto, pues es necesario definir el punto
inicial y final del movimiento
% Esta funcion interna llamada tip es para dibujar la cabeza de flecha del vector
% v, width son parametros de entrada; arrow es el parametro de salida que sera una matriz de 2 filas x 3 columnas
function arrow=tip(v,width);
[t,r]=cart2pol(-v(1),-v(2));
% Transformacion de coordenadas cartesianas a coordenadas polares con cart2pol
if r<width/4
r=r/3;
else
r=width/12;
end
slant=0.3;
% Declaramos a slant con el valor de 0.3 para el tamao de la cabeza del vector
one=v+r*[cos(t+slant), sin(t+slant)];
two=v+r*[cos(t-slant), sin(t-slant)];
arrow=[one',two',v'];
% arrow es una matriz de 2 filas x 3 columnas
% Restamos los valores del punto final (p1) menos los valores del punto inicial (p0)
% Tamao de la cabeza de flecha relativo a la longitud del vector
% Ancho de la base de la cabeza de flecha relativo a su longitud
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%Estas lineas se activaran SOLO si se ejecuta la funcion desde el Command Window tal como se sugiere en los comentarios de cabecera%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
grid on
%
xlabel('EJE X','Color','r')
% Dar nombre al eje X
%
ylabel('EJE Y','Color','g')
% Dar nombre al eje Y
%
zlabel('EJE Z','Color','b')
% Dar nombre al eje Z
%
hold off
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
hold off
else
error('p0 y p1 deben tener las mismas dimensiones')
% ALERTA para solo aceptar que p0 y p1 sean de igual extension
end
%Con estas lineas se podra lograr la grafica de vectores en un sistema 2D (x,y)
elseif max(size(p0))==2
% El maximo tamao de valores de p0 (x0,y0) debe ser 2 (Representa el punto inicial del vector 2D)
if max(size(p1))==2
% El maximo tamao de valores de p1 (x0,y0) debe ser 2 (Representa el punto inicial del vector 2D)
x0 = p0(1);
% El valor que se ingrese en la primera posicion de p0 sera asignado a la variable x0
y0 = p0(2);
% El valor que se ingrese en la segunda posicion de p0 sera asignado a la variable y0
x1 = p1(1);
% El valor que se ingrese en la primera posicion de p1 sera asignado a la variable x1
y1 = p1(2);
% El valor que se ingrese en la segunda posicion de p1 sera asignado a la variable y1
plot([x0;x1],[y0;y1],color,'LineWidth',ancho);
% Se grafica una linea entre el punto p0 y el punto p1
p = p1-p0;
alpha = 0.1;
beta = 0.1;
% Restamos los valores del punto final (p1) menos los valores del punto inicial (p0)
% Tamao de la cabeza de flecha relativo a la longitud del vector
% Ancho de la base de la cabeza de flecha relativo a su longitud
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%Estas lineas se activaran SOLO si se ejecuta la funcion desde el Command Window tal como se sugiere en los comentarios de cabecera%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
grid on
%
xlabel('EJE X','Color','r')
% Dar nombre al eje X
%
ylabel('EJE Y','Color','g')
% Dar nombre al eje Y
%
hold off
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
else
error('p0 y p1 deben tener las mismas dimensiones')
% ALERTA para solo aceptar que p0 y p1 seab de igual extension
end
else
error('ATENCION: Esta funcion solo acepta vectores 2D o 3D') % ALERTA que indica los dos tipos de sistemas vectoriales a graficar
end
Se tipea la funcion vector3d en el Command Window con sus respectivos datos para obtener un vector 2D
Se tipea la funcion vector3d en el Command Window con sus respectivos datos para obtener un vector 3D