Escolar Documentos
Profissional Documentos
Cultura Documentos
Facultad: Ingeniera
Escuela: Mecnica
Asignatura: Teora de mecanismos y maquinas
Ttulo: Introduccin al entorno de programacin de MATLAB y su aplicacin al anlisis de
mecanismos (Parte II).
I. OBJETIVOS GENERALES
Vector de posicin.
La posicin de un punto en el plano puede definirse por medio de un vector de posicin, como se
muestra en la figura. La eleccin de ejes de referencia es arbitraria.
Un vector en dos dimensiones tiene dos atributos, los cuales pueden expresarse en coordenadas
polares o cartesianas. La forma polar proporciona la magnitud y el ngulo del vector.
Nmeros complejos
Los vectores pueden ser representados de muchas maneras, una de ellas es mediante los nmeros
complejos.
El vector de posicin puede representarse mediante la notacin vectorial unitaria como:
En forma polar.
En forma rectangular
Utilizando nmeros complejos se denotara X como la parte real y Y como la parte imaginaria. La parte
imaginaria se denotara con j. Una ventaja al utilizar esta notacin es que se deriva de la identidad de
Euler:
Se utilizara entonces esta notacin de nmeros complejos para representar vectores y desarrollar las
expresiones de posicin, velocidad y aceleracin de mecanismos.
Sistema global
R2 - R3 - R4 R1 = 0
Luego se sustituye cada vector de posicin por su notacin en nmeros complejos:
Luego, se sustituye 1=0 y se aplica la identidad de Euler y dividimos la ecuacin en su parte real e
imaginaria:
En X:
(1)
En Y:
(2)
Entonces, la variable independiente es 2, las longitudes a, b y c se conocen y en el caso general, 4 =
90 se simultanean ambas ecuaciones entonces, para obtener para 3 y d:
Para este caso, 3 tiene dos posibles soluciones ya que la funcin arcoseno es de valores mltiples. Su
evaluacin dar un valor entre 90, que representa slo un circuito del mecanismo. El valor de d
depende del valor calculado de 3. El valor de 3 para el segundo circuito del mecanismo se calcula
con:
Est segunda solucin es preferible a comparacin de la otra cuando se utilizarn programas para
realizar los clculos de con programas o calculadoras, debido a que la mayora de estos con la primera
solucin, da el ngulo menor a 90, algo que debe llevar un anlisis posterior para ser utilizado a la
hora de analizar.
Programacin en MATLAB
Para escribir un programa con MATLAB habr que crear un fichero que tenga extensin .m y contenga
las instrucciones. Esto se puede hacer con cualquier editor de textos, pero tiene algunas ventajas usar
el editor propio de MATLAB llamado medit.
MATLAB trabaja con memoria dinmica, por lo que no es necesario declarar las variables que se van a
usar. Por esta misma razn, habr que tener especial cuidado y cerciorarse de que entre las variables
del espacio de trabajo no hay ninguna que se llame igual que las de nuestro programa (proveniente,
por ejemplo, de un programa previamente ejecutado en la misma sesin), porque esto podra provocar
conflictos. A menudo, es conveniente reservar memoria para las variables (por ejemplo, si se van a
utilizar matrices muy grandes); para ello, basta con asignarles cualquier valor. Del mismo modo, si se
est usando mucha memoria, puede ser conveniente liberar parte de ella borrando (clear) variables que
no se vayan a usar ms.
Un programa escrito en MATLAB admite la mayora de las estructuras de programacin al uso y su
sintaxis es bastante estndar. En los siguientes ejemplos se muestra la sintaxis de algunas de estas
estructuras (if, for, while,...).
Sentencia if
La sentencia if, acta como cabra esperar. Si la condicin es verdadera, la sentencia se ejecuta, de
otro modo, se salta dicha sentencia, continuando la ejecucin del programa con otras sentencias a
continuacin de sta. La forma general de la sentencia if es:
if condicion
sentencias
end
Sentencia if else
La sentencia if...else completa la sentencia if, para realizar una accin alternativa
if condicion
sentencias_1
else
sentencias_2
end
El primer trmino xi es el valor inicial de la variable x, que controla el nmero de veces que se ejecutar
el bucle. El incremento x representa la cantidad que se incrementa la variable x en cada repeticin
Cuando la variable x sobrepasa el lmite xf el bucle termina su ejecucin. En la parte derecha de la
igualdad tenemos un vector cuyos elementos estn igualmente espaciados, sin embargo, esto no tiene
que ser siempre as. Despus del signo igual se puede poner cualquier vector, como veremos ms
adelante, x va tomando los valores de los elementos del vector en orden consecutivo.
Zeros (n,m)
Genera una matriz (n x m) donde todos sus elementos son cero.
>> A=zeros(3,3)
A=
0
0
0
0
0
0
0
0
0
Sentencia drawnow
Este comando de matlab, actualiza constantemente la ventana de grficas y es muy til para realizar
animaciones.
Sentencia comet(x,y)
Este comando de matlab, grafica los puntos que se le indican, almacenando en memoria los puntos
que grafica previamente.
Sentencia fopen
Esta funcin de MATLAB abre un archivo nuevo, con el nombre y formato que se le indique.
IV. PROCEDIMIENTO
1. Ingresa a MATLAB.
2. Abre el entorno de programacin en MATLAB y crea un nuevo archivo .m.
3. Ingresa el siguiente cdigo, este calcula las posiciones de un mecanismo manivela biela corredera, a partir del ngulo de entrada y grfica la animacin del movimiento, adems de almacenar
los resultados en un archivo .txt :
Primera parte del codigo, est, en inicio, los primeros dos codigos, limpian la memoria de Matlab y
luego, se pide el ingreso de las longitudes a, b y c del mecanismo al usuario:
Luego se definen los valores de muestreo, delta 2 da el valor angular que se ir desplazando, se calcula el
valor en radianes y se almacena en un vector tetha2, se toma la longitud del vector ya que este sera el
numero de puntos que se tomaran para el mecanismo.
Ahora, se establecen, primero las posiciones de el pivote del eslabn 2, en la figura del
mecanismo O2, luego se crean los vectores teta3 y x para almacenar las variables
dependientes, que son las que definirn la posicin del mecanismo, estos vectores, sern de
longitud n, la cual es la longitud del vector del dato de entrada tetha2, ya que todas las
longitudes de los vectores deben coincidir.
A siguiente parte del cdigo, es un bucle que se repetir un nmero de veces igual al nmero
de datos en el vector tetha2, luego, se procede a calcular tetha3 utilizando la ecuacin
deducida del anlisis de posicin del mecanismo y se realiza lo mismo para la distancia d que
define la posicin de la corredera, se realizan ambos clculos dos veces.
Se calcula primero en una variable entera, para utilizar los valores a la hora de graficar el
mecanismo.
Luego, se procede a calcular ambos valores que definen la posicin del mecanismo y
almacenarlos en vectores, esto para almacenar todos esos datos posteriormente en un archivo
.txt que podra ser til para analizar valores exactos del mecanismo.
Ac se indican en dos vectores las coordenadas de los puntos y posteriormente matlab grfica los tres
puntos y los une con una recta y el comando drawnow da el efecto de animacin deseado.
La ltima parte del cdigo almacenar los datos calculados para el ngulo tetha3 y la distancia
d en un archivo .txt, el cual podra resultar muy til para realizar clculos exactos del
mecanismo y almacenar evidencia de la simulacin realizada.
En el cdigo 25 y 26 se almacenan los valores de los ngulos, en dos vectores diferentes, adems, los
valores de los ngulos son convertidos a grados ya que matlab los almacena en radianes, donde se
define la variable Posi se define la creacin del archivo .txt con su nombre especfico.
El comando fprintf escribe ya sobre el archivo .txt a almacenar y se ha escrito primero que avance un
rengln por debajo y los comandos %20s definen tabulaciones para ordenar los datos almacenados,
luego de eso se escribe un ttulo para cada columna de datos a almacenar.
Luego en el cdigo 29 31, se crea un bucle que se repetir el mismo nmero de veces del tamao de
todos los vectores, para ir almacenando en el archivo .txt todos los datos contenidos en los vectores.
Y por ultimo en la parte 32 36 se define la direccin de almacenamiento del archivo en una variable y
lo que se hace posteriormente es hacer que matlab escriba en el comand window la direccin donde se
almaceno el archivo, para su posterior visualizacin.
V. BIBLIOGRAFIA.
Matlab con aplicaciones a la ingeniera, fsicas y finanzas, David Baez Lpez, Primera
edicin 2006