lineal 1.1
LINEALIZACIÓN DE SISTEMAS DE ECUACIONES SIGUIENDO EL DESARROLLO DE TAYLOR EN EL PUNTO DE EQUILIBRIO PARA LA
TEXAS INSTRUMENTS 92 PLUS.
por
José Manuel Gómez Vega
...es otro programa paso a paso...
ÍNDICE
2. Tipo de Calculadora, instalación
4. Problema resuelto con Lineal 1.1
1. Historia de Lineal 1.1. |
Este programa se gestó en dos días más algunos breves retoques posteriormente. No he visto ningún programa para la TI 92 plus que convierta sistemas de ecuaciones no lineales en sistemas lineales para un punto de equilibrio, aunque es probable que haya algo parecido. Es una versión en la que no detecto ningún bug o error, aunque tampoco he tenido tiempo de trabajar mucho con el programa. No hay versiones previas. He numerado versión 1.1 pues es muy consistente aunque sea la primera versión pública.
2. Tipo de Calculadora, instalación. |
La instalación genera en la calculadora la carpeta Lineal que contiene los programas Lineal y Borralin. Lineal es el programa de cálculo mientras que Borralin borra las variables generadas por el programa. Use TI GraphLink o TI Connect para transferir los programas a la calculadora. Puede llamarse desde la carpeta Lineal y borrarse todas las variables una vez se han obtenido los resultados de tres formas:
1) Al cambiar a calcular otro programa una vez se han visto los resultados.
2) Al salir del programa, mediante la opción de Salir.
3) Si se interrumpe el programa con On, Esc, etc. pueden borrarse todas las variables generadas, mediante Lineal \ Borralin ( ) .
El programa se ajusta a modo RAD (Radianes) y cuando se sale del mismo con la opción Salir del programa cambia a DEG (Grados).
Tipo Calculadora y S.O
El programa se ha realizado para la Texas Instruments 92 Plus. Aunque no lo he probado, debe valer igualmente para la Voyage 200 pues no existen diferencias salvo en recursos de memoria. Sin embargo, para la Texas Instruments 89 no debe funcionar por problemas de dimensión de ancho y alto de columnas en funciones Text, Disp, Output, etc que habría que modificar para hacerlo compatible. Esto puede resultar fácil: desarchive el programa lineal. Ejecútelo con una TI 89 y cuando dé error de dimensión pulse OK. El programa le enviará a la línea donde está el error. Ud deberá editar la línea y cambiar al ancho permitido para la TI 89. Pruebe hasta que esto sea posible...¡y ya está!, solo hay que repetir esto el nº de veces necesarios hasta que no haya ningún "error de dimensión" No me he parado en tener un emulador de la TI 89; si no, está operación sería muy fácil.
Lo he probado en sistemas operativos AMS 2.05, 2.08 y 2.09 sin problemas de cuelgues o fallos. Los programas cuando se instalan en la calculadora están archivados. De esta forma, si se envían a la calculadora mediante TI Connect o TI Graph Link, van preparados para ejecutarse con rapidez, ocupando poca memoria. Si se usa el emulador y se envía, se cargan pero con la protección Lock (¡pero sin archivar!), por lo que los programas correrán más despacio. Se recomienda realizar Unlock lineal que desbloquea el programa principal, y seguidamente cargar dicho programa (en la carpeta lineal), mediante lineal(). Seguidamente pulsar ON y esperar hasta que pasen unos 10 segundos hasta que el programa haga BREAK. Acto seguido se archiva el programa con Archive lineal(). De esta forma se consigue que dicho programa arranque automáticamente cuando se le llame con lineal(). No es necesario hacerlo con borralin pues este programa tiene buen arranque sin archivar. Se recuerda que el C.A.S de la TI no diferencia entre mayúsculas y minúsculas por lo que Lineal (), lineal () y LiNeAl () son idénticas formas de llamar al programa.
Breve descripción funciones y programas
lineal\lineal() - Programa que calcula la linealización de un sistema "paso a paso"
Tipo archivo: Programa Ti Basic
Sintaxis: lineal\lineal
Objetivo: Desarrollar la linealización con pasos intermedios en pantalla.
lineal\borralin - Borrado de las variables generadas por lineal()
Tipo archivo: Programa Ti Basic
Sintaxis: lineal\borralin()
Objetivo: Limpiar la carpeta donde se han almacenado las variables de lineal().
Garantía
El autor no se responsabiliza de cualquier tipo de error o problema que se pueda derivar con la ejecución de Lineal(), pues no tiene garantía de ningún tipo. Este programa es de licencia libre; puede difundirse, mejorarse, alterarse, copiarse, etc, citando la referencia del autor. Si se modifica el programa rogaría se me comunicase, para así estar al tanto de la evolución de Lineal 1.1.
3. ¿Qué hace Lineal 1.1?. |
BREVE DESCRIPCIÓN. PROBLEMAS QUE RESUELVE
Linealizar una ecuación o sistema de ecuaciones mediante el desarrollo en serie de Taylor permite encontrar una expresión algebráicamente más sencilla de integrar para resolverse, dado que el sistema contiene ecuaciones con derivadas respecto a una o varias variables. Un sistema lineal tiene ventajas frente a un sistema no lineal por cumplirse ciertas relaciones matemáticas que mejoran la simplificación y el cálculo, aunque un sistema linealizado siempre incurrirá en un error, más pequeño cuantos más términos del desarrollo de Taylor incorpore frente al sistema no lineal de origen que representa la realidad física. A menudo es factible en muchos sistemas practicar una linealización, pues el error generado es mucho menor que la ventaja de encontrar un sistema mucho más fácil de manejar para el cálculo.
En problemas de Regulación Automática, dentro de la Ingeniería de Control es frecuente la resolución de sistemas lineales que previamente se resuelven partiendo del sistema original no lineal para luego ser manipulado convenientemente y efectuar operaciones con transformadas de Laplace.
El programa calcula la linealización de un sistema de ecuaciones, preguntando por las ecuaciones y los puntos de equilibrio; resuelve las derivadas parciales de las ecuaciones, la ecuación genérica de la linealización para puntos de equilibrio genéricos, el resto de puntos de equilibrio que faltan por calcular, la ecuación de linealización para los puntos de equilibrio, e incluso, es capaz de permitir al usuario introducir el punto de equilibrio de entre varios, cuando una solución de los puntos de equilibrio es múltiple (por ejemplo, cuando x = 2,x = -2), ya que el programa detecta esta situación. De esta forma puede repetirse el cálculo para ambos valores (en el ejemplo antedicho)
Todo el procedimiento es normal, salvo que a la hora de introducir las variables se deben ingresar TODAS de una vez para todo el sistema, entre llaves (por ejemplo: {x'',x',x',u,v}). Esto lleva a que a la hora de encontrar las derivadas en pantalla aparecerán respecto a las ecuaciones pero sobre TODAS las variables. He intentado mejorar esto buscando una forma de localizar las variables en las ecuaciones para no tener que ingresar las variables y para no dar derivadas supérfluas (que evidentemente son nulas por no existir esa variable en esa ecuación) y no hubiera tenido problemas si no hubiese empleado variables con comillas (x'',y'), pero he comprobado que me iba a llevar bastante tiempo (este programa se hizo en dos tardes no completas), por lo que lo he dejado así, ya que no afecta al calculo de la linealización.
MENÚS
El menú principal contiene 3 items y es el siguiente:
1) NUEVO: Calcula un nuevo problema.
2) AYUDA: Ofrece una breve información de como se introducen los datos, así como una ecuación simbólica de una Linealización por Taylor.
El programa está pensado para usarse con 5 variables y sus derivadas hasta de orden 4º: (x, y, z, u, v). Si se intenta introducir una variable que no sea una de éstas, el programa no hallará las soluciones correctas. Si alguien necesita una/s variable/s más que me escriba y lo hago o si entiende un poco el programa que añada lo necesario. No es difícil. Lo he hecho así porque he pensado que sería suficiente con esas variables y porque el incorporar nuevas variables ralentizaría el programa debido fundamentalmente a que hay que incorporar valores iniciales para hacer cambios de variables en ciertas operaciones (el C.A.S de la TI 92 plus no reconoce el formato prima en derivadas salvo si se usa la orden desolve y esto como mucho para 2º orden, pero además deben ser ecuaciones para dos variables (x e y, etc), por lo que no vale para este cálculo y existe también el inconveniente que a efectos de cálculo con solve hay peculiaridades igual que con la función d (differenciate) pues a veces, a efectos de cálculo x = x'; otras veces si la expresión incluye otras derivadas de la variable da error, por lo que el camino fue hacer un cambio de variable doble para el cálculo con el formato prima).
Hubiera sido mejor introducir variables con puntos para las derivadas (se trata de derivadas temporales en esta clase de problemas), pero no existen estos caracteres en el C.A.S ni sé de ninguna fuente en programas que se incorpore que cuente con estos tipos de variables.
3) AUTOR: Designación de la versión del programa y breve referencia del autor.
4. Problema resuelto con Lineal. |
Un sistema responde al siguiente sistema de ecuaciones:
Obtener un modelo lineal del sistema para un punto de funcionamiento definido por:
Nota: este problema es muy parecido al primero del librillo de Pruebas de Evaluación a Distancia enviado por los profesores de la ETSII-UNED de la asignatura Regulación Automática de Mecánica de Máquinas de 5º curso. Difiere en que en el primer sumando de la 2ª ecuación falta el 2, pero se puede observar que el resultado difiere también en ese término, que aparecería multiplicado por 2. No he puesto las ecuaciones idénticamente porque me olvidé de dicho factor y ya había obtenido todas las pantallas cuando me percaté, pero el problema sigue la misma dinámica, y es aleccionador en cuanto a lo de puntos de equilibrios múltiples.
Antes que nada, cambiamos las variables u1 ,u2 por u, v respectivamente. Tras pulsar Nuevo las pantallas que van apareciendo para introducir los datos son las siguientes:
Nº Ecuaciones: nº de ecuaciones del sistema.
Nº Puntos de Equilibrio: se refiere a los puntos conocidos (en este caso son 2).
Variables: todas las variables del sistema (con las derivadas que haya) entre llaves. Las llaves las proporciona el programa, hay que introducir dentro de las mismas, las variables.
Al introducir los valores de los puntos de equilibrio conocidos introducimos las variables tal cual (no valdría uo ó vo como nos recuerda el programa).
A continuación se introducen las ecuaciones una a una. El programa nos recuerda una ecuación ejemplo para no olvidar su formato. Si una ecuación comprende una igualdad, hay que pasar todo al miembro de la izquierda (cada función es Fi =0) a la hora de introducirla.
En el menú que aparece a continuación, seleccionamos Ver datos para comprobar que lo que hemos introducido hasta ahora es correcto, pues de lo contrario empezaríamos de nuevo con la opción Otro Problema.
Observamos cómo los sumandos de las ecuaciones se han reordenado, pero las ecuaciones son correctas. El programa nos recuerda que la ecuación está igualada a 0 como corresponde a haber pasado todo al primer miembro.
A continuación pasamos a desarrollar el cálculo de la Linealización mediante la opción Calcular:
La notación usada para denotar las derivadas es con el subíndice 0 en la variable.
5. El autor de Lineal 1.1. |
Soy estudiante de la Escuela Técnica Superior de Ingenieros Industriales, especialidad Mecánica de Máquinas por la U.N.E.D (Universidad Nacional de Educación a Distancia), universidad a distancia española. Simultaneo estudios con trabajo (tengo 35 años) y desde hace casi tres años descubrí esta calculadora. Llevo más de un año de experiencia como programador, partiendo de cero, aunque ya conocía la estructura del Basic. No he podido hasta ahora publicar ningún programa, debido a la falta de tiempo, sobre todo, para hacer manuales.
Estoy enfrascado en varios proyectos importantes en el área de Cálculo de Estructuras que me absorben la mayor parte del tiempo que dedico a la programación. Me gustaría que este programa (Lineal 1.1) fuera útil y libre de errores (bugs).
Cualquier error del programa, sugerencia o comentario, no dudes en planteármelo en:
Visita la página: http://members.fortunecity.es/etsii/
para otros recursos de Ingeniería Industrial y programas de la Texas Instruments 92 plus y Voyage 200.