0% encontró este documento útil (0 votos)
66 vistas187 páginas

42785

Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
66 vistas187 páginas

42785

Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

PROTOTIPO DE UN SOFTWARE DE MODELADO Y SIMULACIÓN DE

SISTEMAS MECÁNICOS DE TRASLACIÓN

JUAN CARLOS CIFUENTES DIAZ


JOHANNA ANGÉLICA DELGADO ROCHA
CAMILO ALBERTO GARZÓN LUGO

UNIVERSIDAD DE SAN BUENAVENTURA


FACULTAD DE INGENIERÍA
PROGRAMA INGENIERÍA MECATRÓNICA
BOGOTÁ, D.C.
2008

2
PROTOTIPO DE UN SOFTWARE DE MODELADO Y SIMULACIÓN DE
SISTEMAS MECÁNICOS DE TRASLACIÓN

JUAN CARLOS CIFUENTES DIAZ


JOHANNA ANGÉLICA DELGADO ROCHA
CAMILO ALBERTO GARZÓN LUGO

Director:
HECTOR MANUEL VEGA

UNIVERSIDAD DE SAN BUENAVENTURA


FACULTAD DE INGENIERÍA
PROGRAMA INGENIERÍA MECATRÓNICA
BOGOTÁ, D.C.
2008

3
Nota de aceptación:
______________________________
______________________________
______________________________
______________________________
______________________________
______________________________
______________________________
______________________________

______________________________
Firma del presidente del jurado

______________________________
Firma del jurado

______________________________
Firma del jurado

Bogotá, Junio de 2008

4
DEDICATORIA

Nuestro proyecto de grado


se lo dedicamos a nuestras familias,
quienes con su inmenso amor,
apoyo y dedicación
lograron impulsarnos
durante nuestra carrera Universitaria
hacia el primer orgullo profesional
de nuestras vidas.

5
AGRADECIMIENTOS

Expresamos nuestros sinceros agradecimientos a todas aquellas personas que


con sus valiosos aportes y gran colaboración hicieron posible la culminación de
este proyecto de grado.

Un especial agradecimiento a los ingenieros Héctor Manuel Vega Y Hernando


Leyton quienes con su experiencia y conocimiento forjaron y fortalecieron puntos
importantes en el desarrollo del proyecto de grado

6
CONTENIDO
Pág.
INTRODUCCIÓN 19
1. PLANTEAMIENTO DEL PROBLEMA 20
1.1. DESCRIPCIÓN DEL PROBLEMA 20
1.2. FORMULACIÓN DEL PROBLEMA 20
2. JUSTIFICACIÓN 21
3. OBJETIVOS 22
3.1. OBJETIVO GENERAL 22
3.2. OBJETIVOS ESPECIFICOS 22
4. ALCANCES Y LIMITACIONES DEL PROYECTO 23
4.1. ALCANCES 23
4.2. LIMITACIONES 23
5. MARCO DE REFERENCIA 24
5.1. MARCO DE ANTECEDENTES 24
5.1.1. Software Analogía 1.0. 24
5.1.2. Software 20 Sim (Twente Sim V 3.6.03 Demo) 24
5.1.3. Matlab 24
5.2. MARCO CONCEPTUAL 25
5.2.1. Sistema Mecánico de Control 25
5.2.2. Masa Traslacional 25
5.2.3. Resorte Traslacional 25
5.2.4. Fricción Viscosa 25
5.2.5. Fuerza 25
5.2.6. Nodo 26
5.2.7. Analogías Electromecánicas 26
5.2.8. Metodologías de Desarrollo de Software 26
5.2.9. Lenguaje de Modelamiento Unificado 26
5.2.10. Objeto 27

7
5.2.11. Atributo 27
5.2.12. Método 27
5.2.13. Clase 27
5.3. MARCO TEÓRICO 27
5.3.1. Descripción de Las Leyes, los Elementos y el Modelamiento
De Los Sistemas Físicos De Traslación 27
5.3.2. Analogías Electromecánicas 37
5.3.3. Solución Del Sistema Mecánico Traslacional Masa- Resorte-
Amortiguador 40
5.3.4. Transformada de Laplace 45
5.3.5. Lugar Geométrico de las Raíces 46
5.3.6. Diagrama de Bode 47
5.3.7. Criterio de Estabilidad de Nyquist 49
5.4. MARCO TECNOLÓGICO 50
5.4.1. Java 50
5.4.2. NetBeans 51
5.4.3 JDK (Java Development Kit) 51
5.4.4. Compilador de Matlab 51
6. DISEÑO INGENIERIL 54
6.1. HIPÓTESIS 54
6.2. VARIABLES 54
6.2.1. Variables Dependientes 54
6.2.2. Variables Independientes 54
6.2.3. Variables Intervinientes 54
6.4. POBLACIÓN Y MUESTRA 55
6.5. LÍNEA DE INVESTIGACIÓN 55
7. METODOLOGÍA 56
7.1. PLAN DE ACTIVIDADES Y PRODUCTOS A ELABORAR
DURANTE EL PROYECTO 56
8. DESARROLLO METODOLÓGICO 59

8
8.1. PRESENTACION DEL CASO DE ESTUDIO 59
8.1.1. Contextualización del Sistema Actual 59
8.2. IDENTIFICACIÓN DE ACTORES Y REQUERIMIENTOS 62
8.2.1. Actores Participantes en el Sistema 62
8.2.2. Casos de Uso 62
8.3. ANÁLISIS DE REQUERIMIENTOS 65
8.3.1. Modelamiento 65
8.3.2. Validación 66
8.3.3. Simulación 67
8.4. DISEÑO 70
84.1. Diagrama de Clases 70
8.5. ANÁLISIS Y OBTENCIÓN DE LOS RESULTADOS DE LA
SIMULACIÓN 73
8.5.1. Obtención de la Función de Trasferencia Generalizada 80
8.5.2. Codificación de la Función de Transferencia en Java 101
8.5.3. Curvas de Respuesta 105
8.5.4. Respuesta en Frecuencia y Estabilidad 114
8.5.5. Matlab y Java 115
8.5.6. Programa para la creación de un instalador para el
Software de simulación DSM 117
8.6. VALIDACIONES 121
8.7. SIMULACION Y RESULTADOS 129
8.8. RESULTADOS 130
8.8.1. Curvas de Respuesta 130
8.8.2. Estabilidad y Respuesta en Frecuencia 133
CONCLUSIONES 139
BIBLIOGRAFÍA 140
ANEXOS 142

9
LISTA DE FIGURAS
Pág.
Figura 1. Representación del elemento masa. 34
Figura 2. Representación del elemento masa. 35
Figura 3. Representación del elemento masa. 36
Figura 4. Sistema físico masa, resorte, amortiguador. 37
Figura 5. Diagrama de fuerzas del sistema físico masa, resorte,
amortiguador. 37
Figura 6. Sistema mecánico de traslación. 38
Figura 7. Sistema eléctrico pasivo analogía de impedancia. 39
Figura 8. Sistema eléctrico pasivo analogía de impedancia. 40
Figura 9. Comportamiento total del sistema 44
Figura 10. Forma genérica de la respuesta en el tiempo 46
Figura 11. Diagrama de medición de ángulos de los polos y ceros en lazo
abierto para el punto de prueba “s”. 47
Figura 12. Líneas de conversión de números a decibeles 49
Figura 13. Trazas de Bode 49
Figura 14. Traza Polar 50
Figura 15. Diagrama de conceptos 61
Figura 16. Diagrama de casos de uso 64
Figura 17. Diagrama de colaboración modelamiento 65
Figura 18. Diagrama de secuencia modelamiento 66
Figura 19. Diagrama de colaboración validación 67
Figura 20. Diagrama de secuencia validación 67
Figura 21. Diagrama de colaboración simulación 69
Figura 22. Diagrama de secuencia simulación 69
Figura 23. Diagrama de clase modelamiento 70
Figura 24. Diagrama de clase validación 71
Figura 25. Diagrama de clase simulación 72

10
Figura 26. Sistema mecánico de traslación 73
Figura 27. Diagrama de cuerpo libre 74
Figura 28. Equivalente Fuerza 76
Figura 29. Equivalente Corriente 77
Figura 30. Elementos de almacenamiento capacitivo 78
Figura 31. Elementos de almacenamiento inductivo 79
Figura 32. Elementos disipadores de energía 79
Figura 33. Máximo sistema mecánico de traslación 80
Figura 34. Sistema mecánico de traslación con un nodo 82
Figura 35. Sistema mecánico de traslación con dos nodos 83
Figura 36. Sistema mecánico de traslación con tres nodos 87
Figura 37. Clase método de lectura de archivos 101
Figura 38. Método de lectura de valores de cada elemento 102
Figura 39. Clase conversión de datos 102
Figura 40. Invocar al método conversión de caracteres 103
Figura 41. Estructura de programación de las ecuaciones 104
Figura 42. Impresión de datos de la función de transferencia 104
Figura 43. Función escalón 105
Figura 44. Función rampa 105
Figura 45. Función senoidal 109
Figura 46. Función exponencial decreciente 109
Figura 47. Función exponencial creciente 110
Figura 48. Entorno de matlab – ejecutar compilador 111
Figura 49. Entorno de matlab – seleccionar compilador 112
Figura 50. Entorno de matlab – confirmar selección del compilador 113
Figura 51. Entorno de matlab – crear ejecutable 113
Figura 52. Iconos de archivos para el funcionamiento del ejecutable 114
Figura 53. Recuperar archivo desde matlab 116
Figura 54. Icono Software CreteInstall Free 118
Figura 55. Carpeta de salida para creación del ejecutable 118

11
Figura 56. Nombre de la aplicación 119
Figura 57. Tipo de compresión del archivo 119
Figura 58. Adicionar un archivo 120
Figura 59. Seleccionar aplicación 121
Figura 60. Exclamación en caso de intentar sacar el cuarto nodo 122
Figura 61. Exclamación en caso de intentar sacar el cuarto nodo 122
Figura 62. Masas dibujadas a tierra sin importar la selección del radiobutton 123
Figura 63. Conexión permitida 124
Figura 64. Conexión no permitida 125
Figura 65. Conexión no permitida 125
Figura 66. Conexión no permitida 126
Figura 67. Conexión no permitida 127
Figura 68. Conexión eliminada 127
Figura 69. Conexión permitida 128
Figura 70. Conexión no permitida 128
Figura 71. Sistema mecánico traslacional de dos nodos 129
Figura 72. Sistema de dos nodos 129
Figura 73. Opciones de entrada 130
Figura 74. Ventana de selección para obtener respuesta en el tiempo 131
Figura 75. Respuesta en el tiempo entrada escalón 131
Figura 76. Selección de entrada seno 132
Figura 77. Ventana de selección para obtener respuesta en el tiempo 132
Figura 78. Respuesta en el tiempo entrada seno 133
Figura 79. Ventana de selección de nodo y tipo de análisis 134
Figura 80. Selección de Diagramas de Bode 134
Figura 81. Selección de nodo donde se desea hacer la simulación 135
Figura 82. Diagrama de Bode 135
Figura 83. Selección de nodo y diagrama de nyquist 136
Figura 84. Diagrama de Nyquist 136
Figura 85. Selección de nodo y lugar geométrico de las raíces 137

12
Figura 86. Lugar geométrico de las raíces 137
Figura 87. Selección de nodo función de transferencia 138
Figura 88. Función de transferencia 138

13
LISTA DE TABLAS
Pág.
Tabla 1. Componentes del sistema mecánico. 33
Tabla 2. Analogía de impedancia o fuerza – tensión. 39
Tabla 3. Analogía de movilidad. 41
Tabla 4. Estructura de la interacción entre los actores y los casos
de uso. 63
Tabla 5. Formato de descripción de los casos de uso. 63
Tabla 6. Descripción de casos de uso. 64
Tabla 7. Caso de uso modelamiento. 65
Tabla 8. Caso de uso validación. 66
Tabla 9. Caso de uso simulación. 68

14
LISTA DE ANEXOS

ANEXO A. Recolección de información.


ANEXO B. Programa función de transferencia.
ANEXO C. Diagrama de flujo programa función de transferencia.
ANEXO D. Programa respuesta en el tiempo a partir de entrada escalón.
ANEXO E. Diagrama de flujo programa respuesta en el tiempo a partir de entrada
escalón.
ANEXO F. Código programa respuesta en el tiempo a partir de entrada rampa.
ANEXO G. Diagrama de flujo programa respuesta en el tiempo a partir de entrada
rampa.
ANEXO H. Programa respuesta en el tiempo a partir de entrada senoidal.
ANEXO I. Diagrama de flujo programa respuesta en el tiempo a entrada senoidal.
ANEXO J. Programa respuesta en el tiempo a entrada exponencial.
ANEXO K. Diagrama de flujo respuesta en el tiempo a entrada exponencial.
ANEXO L. Programa diagrama de bode.
ANEXO M. Diagrama de flujo programa diagrama de bode.
ANEXO N. Programa diagrama de nyquist.
ANEXO O. Diagrama de flujo programa diagrama de nyquist.
ANEXO P. Programa lugar geométrico de las raíces.
ANEXO Q. Diagrama de flujo programa lugar geométrico de las raíces.

15
GLOSARIO

ANALOGÍA: Comparar o relacionar dos o más objetos o experiencias, apreciando


y señalando características generales y particulares, generando razonamientos y
conductas basándose en la existencia de las semejanzas entre unos y otros.

CONTROL: Regulación manual o automática sobre un sistema.

CORRIENTE: Flujo de portadores de carga eléctrica, normalmente a través de un


cable metálico o cualquier otro conductor eléctrico, debido a la diferencia de
potencial creada por un generador de corriente.

DIAGRAMA: Representación gráfica de un modelo.

MASA: Cantidad de materia que posee un cuerpo.

MECÁNICO: Mecanismo que da movimiento a un artefacto o a una máquina.

METODOLOGÍA: Dentro de la ingeniería de software, se encarga de elaborar


estrategias de desarrollo de software que promuevan prácticas adoptativas en vez
de predictivas; centradas en las personas o los equipos, orientadas hacia la
funcionalidad y la entrega, de comunicación intensiva y que requieren implicación
directa del cliente.

MODELAR: Configurar, conformar.

MODELO: Es una vista de un sistema del mundo real, es decir, una abstracción
de dicho sistema considerando un cierto propósito. El modelo describe

16
completamente aquellos aspectos del sistema que son relevantes al propósito del
modelo y a un apropiado nivel de detalle.

NODO: Punto en el que se producen dos o más conexiones en una red eléctrica.

SIMULACIÓN: Representación simplificada, mediante un modelo, de la realidad de


un proceso.

SISTEMA: Conjunto de elementos relacionados entre sí y que constituyen una


unidad.

TENSIÓN: En electrónica, voltaje con que se realiza una transmisión de energía


eléctrica.

17
RESUMEN

El proyecto, prototipo de un software de modelado y simulación de sistemas


mecánicos de traslación tiene por objeto crear una herramienta que permita el
diseño de un sistema mecánico de traslación, para obtener un análisis matemático
y gráfico del comportamiento de un sistema, a partir de la exposición de diferentes
entradas normalizadas.

Para el desarrollo de este proyecto se hizo uso de Java como lenguaje de


desarrollo, JDK (Java Development Kit) como herramientas de desarrollo de Java,
NetBeans IDE como herramienta de desarrollo de software, todo bajo la
plataforma Windows. La metodología aplicada en el desarrollo de este proyecto es
la metodología RUP (Racional Unified Process) haciendo uso de UML (Lenguaje
de Modelamiento Unificado).

El software está diseñado para que cualquier persona con ciertos conocimientos
en circuitos eléctricos y sistemas de control pueda realizar un análisis completo de
forma matemática y gráfica de sistemas mecánicos de traslación.

18
INTRODUCCIÓN

Los sistemas dinámicos de control están conformados por diversos sistemas;


dentro de estos se encuentran los sistemas mecánicos de traslación, en los que
resulta indispensable un análisis profundo a través de simulaciones y
modelamientos para estimar su comportamiento.

Actualmente la universidad no cuenta con una herramienta informática de


licenciamiento libre que permita analizar sistemas mecánicos de traslación de
forma matemática y gráfica, a partir de un modelo físico y diversas entradas
normalizadas.

Por los motivos mencionados anteriormente, es importante crear un prototipo de


un software para modelar y simular sistemas mecánicos de traslación, en el que
se pueda estimar el comportamiento de dicho sistema al obtener ecuaciones y
gráficas de respuesta, que faciliten la comprensión de los mismos para que
posteriormente sean analizadas por el usuario.

19
1. PLANTEAMIENTO DEL PROYECTO

1.1. DESCRIPCIÓN DEL PROBLEMA

En el área de control existen sistemas mecánicos de traslación, en los que se


realiza un estudio matemático, obteniendo una serie de ecuaciones que permiten
llegar al análisis gráfico para observar sus respuestas y comportamiento. Este
proceso puede resultar dispendioso y poco preciso al momento del análisis de un
sistema mecánico de traslación.

Dentro del estudio de sistemas dinámicos de control, es importante obtener


respuestas rápidas y exactas para que la información obtenida permita un
completo análisis y se pueda realizar una correcta interpretación y comprensión de
los sistemas.

Finalmente la universidad no cuenta con una herramienta informática de


licenciamiento libre para modelar y simular sistemas mecánicos de traslación que
permita obtener resultados matemáticos y gráficos para un completo análisis de
éstos.

1.2. FORMULACIÓN DEL PROBLEMA

¿Qué características técnicas y funcionales debe tener una herramienta


tecnológica para simular y modelar sistemas mecánicos de traslación que
permitan obtener rápidas y precisas respuestas en forma matemática y gráfica
para su posterior análisis?

20
2. JUSTIFICACIÓN

Hoy en día, los recursos tecnológicos e informáticos resultan una herramienta que
permite acceder este mundo de conocimiento inimaginable e inagotable, gracias a
varios aspectos que los hacen excepcionales, como por ejemplo: la rapidez con
que se pueden obtener resultados, la forma en que se presentan, la calidad de los
mismos, en fin, muchas son las ventajas que brindan estos recursos.

Actualmente aquellas personas que desean analizar sistemas mecánicos de


traslación para observar el comportamiento de dichos sistemas, no cuentan con
una herramienta informática en la que puedan diseñar un sistema físico que
responda a diferentes entradas normalizadas y a partir de este, puedan obtener
respuestas en forma matemática y gráfica.

Por lo tanto se desea implementar una herramienta informática de licenciamiento


libre, en la que diferentes usuarios puedan obtener mejores y completas
respuestas a sistemas mecánicos de traslación, que faciliten la comprensión de
éstos para su posterior análisis.

21
3. OBJETIVOS

3.1. OBJETIVO GENERAL

Crear un prototipo de un software que permita modelar y simular sistemas


mecánicos de traslación.

3.2. OBJETIVOS ESPECÍFICOS

• Modelar sistemas mecánicos de traslación de máximo 3 nodos.

• Simular un sistema mecánico de traslación a partir de análogos


electromecánicos.

• Obtener la función de transferencia de un sistema mecánico de traslación.

• Generar gráficas de respuesta en el tiempo a diferentes entradas


normalizadas, diagramas de bode, nyquist y lugar geométrico de las raíces, a
partir de los análisis matemáticos.

22
4. ALCANCES Y LIMITACIONES DEL PROYECTO

4.1. ALCANCES

El proyecto contempla la realización de un prototipo de software para simular


sistemas mecánicos de traslación, en el que se podrá diseñar un sistema de tipo
mecánico para ser analizado a partir de analogías electromecánicas, que
permitirán obtener resultados en forma matemática y gráfica, para su posterior
análisis.

Dentro de los resultados matemáticos se obtendrá la función de transferencia para


el sistema mecánico de traslación. En cuanto a los resultados gráficos se
generarán diagramas de respuesta en el tiempo a diferentes entradas
normalizadas, diagrama de Bode, Nyquist y lugar geométrico de las raíces.

El desarrollo del proyecto se realiza haciendo uso de herramientas tecnológicas e


informáticas actuales como lo es Java y NetBeans IDE. Las herramientas
informáticas se utilizan bajo licencia estudiantil en convenio de la Universidad de
San Buenaventura con los dueños desarrolladores de las mismas.

4.2. LIMITACIONES

Este desarrollo se limita a la creación de un ambiente en el que se podrá diseñar


un sistema mecánico SISO (Simple Input Simple Output), que será analizado a
partir de analogías electromecánicas, para obtener resultados en forma
matemática y gráfica; El desarrollo no soporta el diseño de sistemas mecánicos de
traslación con más de tres nodos, ni conexiones de más de un elemento del
mismo tipo entre nodos.

23
5. MARCO DE REFERENCIA

5.1. MARCO DE ANTECEDENTES

5.1.1. Software Analogía 1.0. “Este programa es un simulador/analizador de


analogías electromecánicas, en el que se puede diseñar un sistema mecánico y
obtener a partir de éste su análogo en impedancia o movilidad” 1.

5.1.2. Software 20 SIM (Twente Sim v. 3.6.03 Demo). “Es un software de


modelamiento y simulación en el que se puede simular el comportamiento de
sistemas dinámicos, a partir de diagramas de enlaces (Bond Graphs), iconos
gráficos, diagramas de bloques, graficas de respuesta, así como ecuaciones
diferenciales”2.

5.1.3. Matlab. “Es un lenguaje de computación técnica de alto nivel y un entorno


interactivo para desarrollo de algoritmos, visualización de datos, análisis de datos
y cálculo numérico. Con MATLAB, podrá resolver problemas de cálculo técnico
más rápidamente que con lenguajes de programación tradicionales, tales como C,
C++ y FORTRAN. Puede usar MATLAB en una amplia gama de aplicaciones que
incluyen procesamiento de señales e imágenes, comunicaciones, diseño de
sistemas de control, sistemas de prueba y medición, modelado y análisis
financiero y biología computacional. Los conjuntos de herramientas
complementarios (colecciones de funciones de MATLAB para propósitos
especiales, que están disponibles por separado) amplían el entorno de MATLAB
permitiendo resolver problemas especiales en estas áreas de aplicación. Además,
MATLAB contiene una serie de funciones para documentar y compartir su trabajo.

1
PRIEGO, Francisco. Tomado de la ayuda del Software Analogía 1.0. Escuela Universitaria de Ingeniería Técnica de
Telecomunicación de la Universidad Politécnica de Madrid. 1997.
2
CONTROLLAB PRODUCTS B. Tomado de la Ayuda 20 sim (Twente. Sim)

24
Puede integrar su código de MATLAB con otros lenguajes y aplicaciones, y
distribuir los algoritmos y aplicaciones que desarrolló usando MATLAB”3.

5.2. MARCO CONCEPTUAL

5.2.1. Sistema Mecánico de Traslación. Un sistema mecánico es aquel que esta


compuesto de un elemento de almacenamiento capacitivo (masa traslacional), un
elemento de almacenamiento inductivo (resorte traslacional), un elemento
disipador de energía (amortiguador – fricción viscosa) y un elemento fuerza.

5.2.2. Masa Traslacional. Es la capacidad que tiene un elemento para almacenar


energía cinética. Es un elemento de tipo I o inercia, ya que almacena energía
mediante acumulación de esfuerzo.

5.2.3. Resorte Traslacional. Es un elemento que tiene la capacidad de


almacenar energía potencial. Es de tipo C o capacitancia, ya que almacena
energía mediante acumulación de flujo. Su fuerza varía con la posición, donde K
es la constante del resorte.

5.2.4. Fricción Viscosa. Es una relación lineal entre la fuerza aplicada y la


velocidad del movimiento. La fricción viscosa se representa con el elemento
amortiguador, que es de tipo R o resistencia, ya que es un elemento que disipa
energía.

5.2.5. Fuerza. Acción capaz de modificar el estado de movimiento o reposo de un


cuerpo, es decir, imprimirle una aceleración modificando la velocidad o el sentido
de su movimiento.

3
THE MATHWORKS INC. 1994-2008 disponible en http://www.mathworks.es/products/matlab/description1.html

25
5.2.6. Nodo. Punto en el que se producen dos o más conexiones de elementos de
un sistema o circuito.

5.2.7. Analogías electromecánicas. Son equivalentes entre los elementos de un


sistema mecánico y un sistema electromecánico. Éstas facilitan el análisis de los
sistemas mecánicos de traslación.

5.2.8. Metodología de desarrollo de software. Una metodología es la forma


organizada de aplicar un conjunto de procedimientos, técnicas y herramientas
para llevar a cabo el desarrollo de una aplicación o software con facilidad y
calidad; sigue un modelo de ciclo de vida, que le indica lo que hay que obtener a lo
largo del desarrollo del proyecto.

Debe abarcar varios aspectos claves como la creación de reglas bien definidas,
cubrir todo el ciclo de desarrollo, realizar verificaciones intermedias, efectuar una
gran planificación y exhaustivos controles, lograr una comunicación efectiva, poder
aplicarla sobre un abanico amplio de proyectos, ser de fácil formación, emplear
herramientas CASE, instaurar actividades que mejoren el proceso de desarrollo,
brindar soporte al mantenimiento y soporte de la reutilización de software.

Principalmente, la implementación y el uso de una metodología deben brindar


seguridad en cuanto al correcto diseño, construcción y puesta en marcha de un
proyecto de desarrollo de software, además, se tiene certeza de la calidad del
producto final a través del control de versiones, la gestión de requisitos, la
documentación y repositorios de incidencias, los patrones de diseño, la
comunicación entre desarrolladores y otros.

5.2.9. Lenguaje de Modelamiento Unificado. (UML – Unified Modeling


Languaje). El lenguaje de modelamiento unificado es una herramienta creada y

26
diseñada para exponer, detallar y documentar, en forma organizada, cada etapa
del desarrollo de software.

Este lenguaje consiste en la división del proyecto en varios esquemas que


constituyen las vistas del proyecto, y que a su vez conforman la arquitectura del
proyecto. Como se aplica un único lenguaje para modelar los distintos desarrollos,
esto permite la creación de una documentación común, logrando que cualquier
persona con conocimientos de UML la entienda.

5.2.10. Objeto. Representa alguna entidad de la vida real, es decir, alguno de los
objetos que pertenecen al negocio con el que se está trabajando y con los que se
puede interactuar.

5.2.11. Atributos. Abstracción de una característica común para todas las


instancias de una clase, una propiedad o característica de un objeto.

5.2.12. Métodos. Porciones de código asociadas con una clase o con un objeto
para llevar a cabo una acción.

5.2.13. Clase. Es la descripción de un conjunto de objetos que manifiestan los


mismos atributos, métodos, relaciones y semántica. Una clase está compuesta de
métodos y atributos.

5.3. MARCO TEÓRICO

5.3.1. Descripción de Leyes, Elementos y Modelado de los Sistemas Físicos


de Traslación. El proceso de modelado analítico, consiste en la delimitación del
modelo en función de los fenómenos que resultan relevantes de acuerdo al
problema que se quiere resolver. Una vez delimitados los fenómenos que se
consideraron relevantes para la construcción del modelo, se pasa a la siguiente

27
etapa en la que se deben formalizar las relaciones constitutivas y estructurales
asociadas respectivamente a los fenómenos considerados y a la forma en que
estos se disponen dentro del sistema. En los sistemas físicos, estas relaciones
constitutivas y estructurales encuentran su expresión formal (matemática) en las
leyes fundamentales de los dominios de la física asociados a los fenómenos
mencionados.

♦ Sistema Mecánico. La mecánica clásica (newtoniana) se ocupa de escribir


fenómenos asociados con el movimiento de los cuerpos. Por este motivo, en
los sistemas mecánicos, enfocándonos específicamente en el movimiento
traslacional, tendremos habitualmente como variables descriptivas:

• x: desplazamiento (m )

m dx
• v: velocidad   x& = Ec. (1)
 
s dt

m d 2x
• a: aceleración  2
 &
x& = Ec. (2)
s  d 2t

• f: fuerza (N = kg ⋅ m / s 2 ) o (Lbf = lb ⋅ in s 2 )

Donde:
• x& : velocidad
• &x& : aceleración

• dx : derivada del desplazamiento

• d 2 x : derivada cuadrada del desplazamiento


• dt : derivada del tiempo

Otras variables adicionales de interés son:


• w: energía (J )
• p: potencia (w)

28
La potencia aplicada a un móvil que se desplaza a velocidad v es:

• p = f ⋅v Ec. (3)

Y corresponde a la velocidad con el que la energía es aplicada o disipada,

dw
• p= Ec. (4)
dt

Donde:
• dw : derivada de la energía

♦ Leyes y Principios

1. Primera ley de Newton: Inercia. “Todo cuerpo conserva su estado de reposo,


o de movimiento uniforme en un área recta si no lo obligan a cambiar ese
estado fuerzas que actúen sobre él”4.

Inercia: Es la propiedad de la materia que describe su resistencia a cambios en


el movimiento.

2. Segunda ley de Newton: Causa y efecto. “La aceleración de un objeto es


directamente proporcional a la fuerza resultante que actúa sobre él, e
inversamente proporcional a su masa”5.

• F = m⋅a Ec. (5)

4
SERWAY, Raimond A. Física Moderna. Ed. Mc Graw Hill. 3ra Ed. Tomo 1 Pág. 97.
5
Ibidem

29
3. Tercera ley de Newton: Acción y Reacción. “Por cada acción existe una
reacción igual y opuesta”6

• Faccion = − Freaccion Ec. (6)

4. Leyes Clásicas de Fricción:

a) “La fuerza de fricción que actúa sobre un objeto es:


1. Siempre en dirección opuesta al movimiento del objeto o a la fuerza que trata
de producir el movimiento.
2. Directamente proporcional a la carga.
3. Independiente del área superficial.
4. Dependiente de la rapidez de desplazamiento.

b) Fricción Seca:

• fr = µ ⋅ N Ec. (7)

Donde:
• fr : fricción seca

• µ : constante de rozamiento
• N : normal

c) Fuerza resistiva proporcional a la velocidad: (Fricción Viscosa)


Cuando un objeto se mueve a baja rapidez a través de un medio viscoso,
experimenta una fuerza de resistencia que es proporcional a la velocidad del
objeto.

• Fr = −bv Ec. (8)

6
Ibidem

30
Donde:
• Fr : fricción viscosa
7
• b : constante que depende de las características del medio ”.

5. Principio de D'alembert.

“El principio de d'Alembert establece que para todas las fuerzas de un sistema:
• ∑ ( p&
i
i )
− F&i * δ .ri = 0 Ec. (9)

Donde la suma se extiende sobre todas las partículas del sistema, siendo:
• p& i : momento de la partícula i-ésima.

• F&i : fuerza sobre la partícula i-ésima.

• δ .ri : cualquier campo vectorial de desplazamientos virtuales sobre el conjunto


de partículas que sea compatible con los enlaces y restricciones de movimiento
existentes.

El principio de D'Alembert es realmente una generalización de la segunda ley de


Newton en una forma aplicable a sistemas con ligaduras. Por otra parte el principio
equivale a las ecuaciones de Euler-Lagrange. Finalmente debe señalarse que el
principio de D'Alembert es peculiarmente útil en la mecánica de sólidos donde
puede usarse para plantear las ecuaciones de movimiento y cálculo de reacciones
usando un campo de desplazamientos virtuales que sea diferenciable. En ese
caso el cálculo mediante el principio de D'Alembert, que también se llama en ese
contexto principio de los trabajos virtuales es ventajoso sobre el enfoque más
simple de la mecánica newtoniana”.8

7
SERWAY, Raimond A. Física Moderna. Ed. Mc Graw Hill. 3ra Ed. Tomo 1 Pág. 97
8
MEIROVICHM, L. Methods of analytical dynamics. Ed. McGraw-Hill. New York. 1970.

31
♦ Modelado. Los sistemas mecánicos tienen tres elementos pasivos básicos. El
resorte almacena energía potencial, la masa almacena energía cinética y el
amortiguador o fricción viscosa disipa energía en forma de calor. En la Tabla 1
se muestran los componentes del sistema mecánico (resorte, masa y fricción
viscosa), con sus respectivas ecuaciones de velocidad, desplazamiento e
impedancia. Los elementos lineales se identifican con los siguientes
parámetros: el resorte con el parámetro K, relativo a su módulo de elasticidad;
la masa con el parámetro M y el amortiguador con el coeficiente de fricción
viscosa b; tenga en cuenta que en la Tabla 1, el coeficiente de fricción viscosa
b, se representa con la variable fv.

El modelo de sistemas mecánicos lineales se desarrolla empleando las


ecuaciones de los elementos involucrados y su ecuación diferencial de
conjunto se conoce como ecuación de movimiento.

Tabla 1. Componentes del sistema mecánico

Fuente: Software Analogía 1.0.

32
♦ Masa Traslacional

Masa: Es la capacidad que tiene un elemento para almacenar energía. La energía


puede ser almacenada en forma de energía cinética si la masa se encuentra en
movimiento y en forma de energía potencial si presenta un desplazamiento vertical
relativo respecto a su posición de referencia. En la Figura 1 se muestra la
representación gráfica y el diagrama de cuerpo libre del elemento masa (M).

1
• Energía Cinética wc = M ⋅ v2 Ec. (10)
2
• Energía Potencial w p = M ⋅ g ⋅ h Ec. (11)

• W = m⋅g Ec. (12)

dx
v=
• dt Ec. (13)
dt
dv d 2x
F = ma = m = m 2
• dt dt Ec. (14)
Donde:
• wc : energía cinética

• w p : energía potencial

• dv : derivada de la velocidad
• h : altura (m )

• W : peso ( N )

m
• g : gravedad  2 
s 
Figura 1. Representación del elemento masa.

Fuente: software Analogía 1.0.

33
♦ Resorte Traslacional

Resorte: Es un elemento que tiene la capacidad para almacenar energía


potencial. Además su fuerza varía con la posición donde k es la constante del
resorte. En la Figura 2 se muestra la representación gráfica y el diagrama de
cuerpo libre del elemento resorte (K).

1
• Energía Potencial almacenada en el resorte w pk = K ⋅ x2 Ec. (15)
2
F = − kx(t )

• F = − k ∫ v(t )dt Ec. (16)

F ⋅L F
x= =
A⋅ E A⋅ E L
• F Ec. (17)
x=
k
A⋅ E
k=
L
Donde:
• w pk : energía potencial elástica

 N   Lbf 
• k : constante del resorte  o 
 m   in 
• L : longitud
• E : modulo de Young
• A : sección transversal

Figura 2. Representación del elemento resorte.

Fuente: software Analogía 1.0.

34
♦ Fricción Viscosa Traslacional

Fricción: Existen tres tipos de fricción: viscosa, estática y de Coulomb. Para el


caso, utilizaremos únicamente la fricción viscosa ya que presenta una relación
lineal entre la fuerza aplicada y la velocidad del movimiento. En la Figura 3 se
muestra la representación gráfica y el diagrama de cuerpo libre del elemento
resorte (B).

F = bv (t )
dx (t )
F =b
• dt Ec. (18)

b= µ
F
τ =
A
v
τ = µ⋅
• h Ec. (19)

Igualando
F v
= µ⋅
A h
F ⋅h
µ=  N ⋅s   lbf ⋅ s 
• A⋅v  2 = Pa ⋅ s  o  2
= ips = reyn  Ec. (20)
 m   in 
Donde:
• µ : coeficiente de fricción estático
• v : velocidad
• h : altura

Figura 3. Representación del elemento amortiguador.

Fuente: software Analogía 1.0.

35
♦ Análisis para el modelado. El modelado requiere proponer una dirección
positiva del movimiento, como se observa en la Figura 4 en la que se
representa gráficamente un sistema masa – resorte – amortiguador, las fuerzas
que actúan y la función de transferencia equivalente del diagrama. También se
requiere el diagrama de cuerpo libre como se ilustra en la Figura 5 en donde se
indican todas las fuerzas que actúan sobre la masa.

Figura 4. Sistema Físico masa, resorte, amortiguador.

Fuente: Software Analogía 1.0.

Figura 5. Diagrama de Fuerzas del sistema físico masa, resorte, amortiguador.

Fuente: Software Analogía 1.0.

Se emplea la segunda Ley de Newton del movimiento para formar la ecuación


diferencial de movimiento, al sumar las fuerzas del diagrama de cuerpo libre,
teniendo cuidado con los signos asignados, e igualando la suma a cero.
d2 d
M 2
x(t ) + f v x(t ) + Kx (t ) = f (t ) Ec. (21)
dt dt

Transformando con condiciones iniciales


Ms 2 X ( s) + f v sX ( s ) + X ( s) = F ( s ) Ec. (22)

36
Despejando el cociente Salida/Entrada
1
X (s) M
= Ec. (23)
F (s) 2 f K
s + v +
Ms M

5.3.2. Analogías Electromecánicas. “El concepto de sistemas análogos es muy


práctico para tratar o analizar determinados tipos de sistemas. Así, en vez de
construir un sistema mecánico masa – resorte – amortiguador, como el que se
observa en la Figura 6, se puede realizar un sistema análogo eléctrico o
electrónico como el que se visualiza en la Figura 7, que generalmente es más
sencillo de manipular contando además con una amplia gama de herramientas de
simulación disponibles. De hecho, los computadores electrónicos analógicos son
ampliamente utilizados para simular el comportamiento de cualquier sistema físico,
ya que el principio de analogía es aplicable a cualquier tipo de sistemas siempre
que sus ecuaciones diferenciales o funciones de transferencia sean idénticas.
Sea el siguiente sistema mecánico de traslación:

Figura 6. Sistema mecánico de traslación.

Fuente: Software Analogía 1.0.

En este sistema M es la masa, R el coeficiente de rozamiento o amortiguamiento,


K la constante de elasticidad del muelle, x el desplazamiento lineal y F la fuerza
aplicada. La ecuación diferencial que define su comportamiento es:
d 2x dx
M 2
+R + Kx = F Ec. (24)
dt dt

Sea el siguiente sistema eléctrico pasivo:

37
Figura 7. Sistema eléctrico pasivo analogía de impedancia.

Fuente: Software Analogía 1.0.

En este sistema L es la inductancia de la bobina, R la resistencia, C la capacidad


del condensador, i la corriente que circula y V la tensión aplicada. La ecuación
integro-diferencial que rige su comportamiento es:

di 1
L
dt
+ Ri +
C∫idt = v Ec. (25)

Que puede ponerse en términos de la carga eléctrica q como:


d 2q dq 1
L 2
+R + q=v Ec. (26)
dt dt C

A la vista de las expresiones 25 y 26 es evidente que las ecuaciones diferenciales


para ambos sistemas son idénticas, por lo que estos sistemas se denominan
sistemas análogos, y las magnitudes que los representan se llaman magnitudes
análogas. Esta correspondencia es conocida como analogía de impedancia, o
Fuerza-Tensión; En la Tabla 2 se muestra cada elemento del sistema mecánico
con su respectivo equivalente en el sistema eléctrico.

Tabla 2. Analogía de impedancia o fuerza – tensión.

SISTEMA MECÁNICO SISTEMA ELÉCTRICO


Fuerza (F) Tensión (v)
Desplazamiento (x) Carga (q)
Velocidad (dx/dt) Corriente (i)
Cte. Elasticidad (K) Capacidad (1/C)
Rozamiento (R) Resistencia (R)
Masa (M) Inductancia (L)
Fuente: El autor

38
Existe otro tipo de analogía, también muy útil, entre sistemas mecánicos y
eléctricos que es la analogía de movilidad o admitancia como se ilustra en la
Figura 8 y que es simplemente la dual de la anterior. De hecho, es este tipo de
analogía la que se suele emplear por la facilidad con que se halla el circuito
eléctrico a partir de su mecánico análogo, y porque el circuito eléctrico es
fácilmente analizable eléctricamente usando análisis nodal. Sea el siguiente
sistema eléctrico pasivo:

Figura 8. Sistema eléctrico pasivo analogía de movilidad.

Fuente: Software Analogía 1.0.

En este sistema L es la inductancia de la bobina, R la resistencia, C la capacidad


del condensador, i la corriente que circula y V la tensión aplicada. La ecuación
integro-diferencial que rige su comportamiento es:

dv v 1
L + +
dt R L ∫
vdt = i Ec. (27)

Que puede ponerse en términos de la carga eléctrica q como:

d 2q 1 dq 1
C 2
Z + . Z + qZ = i Ec. (28)
dt R dt L

Comparando las ecuaciones (25) y (26), se puede observar que al igual que
ocurría con la analogía de impedancia las ecuaciones diferenciales son iguales.

39
En la Tabla 3 se muestra cada elemento del sistema mecánico con su respectivo
equivalente en el sistema eléctrico, para la analogía de movilidad.

Tabla 3. Analogía de movilidad

SISTEMA MECÁNICO SISTEMA ELÉCTRICO


Fuerza (F) Corriente(i)
Desplazamiento (x) Carga (q*Z)
Velocidad (dx/dt) Tensión (v)
Cte. Elasticidad (K) Capacidad (1/L)
Rozamiento (R) Resistencia (1/R)
Masa (M) Inductancia (C)
Fuente: El autor

En conclusión, el concepto de sistemas análogos es útil en la práctica por dos


razones:

1. La solución de la ecuación que describe un sistema físico se puede aplicar


directamente a sistemas análogos de otro campo.

2. Como un tipo sistema puede ser más fácil de manejar experimentalmente que
otro, en lugar de construir y estudiar un sistema mecánico o hidráulico se
puede construir y estudiar su análogo eléctrico” 9.

5.3.3. Solución del Sistema Mecánico de Traslación Masa-Resorte-


Amortiguador. La ecuación auxiliar para la ecuación diferencial (23) en términos
de s, es:
B k
• s2 + s+ =0 Ec. (29)
m m

9
PRIEGO, Francisco. Documentación tomada de la ayuda Software Analogía 1.0. Escuela Universitaria de
Ingeniería Técnica de Telecomunicación de la Universidad Politécnica de Madrid. 1997

40
Tiene como soluciones

• s1 , s 2 =
1
2m
(
− B ± B 2 − 4km ) Ec. (30)

Para obtener una idea mas clara de lo que esta ecuación describe, se suponen m
y k constantes y se observa como se modifican las raíces de la ecuación auxiliar al
variar B.

♦ Tipos de Respuesta. Conocidos s1 y s2 es posible caracterizar el tipo de


respuesta a obtener. Según sea el valor del termino B 2 − 4km (discriminante).
Se pueden diferenciar tres tipos de respuesta:

• B 2 − 4km = 0 (Caso Críticamente Amortiguado.) Ec. (31)

• B 2 − 4km > 0 (Caso Sobre Amortiguado.) Ec. (32)

• B 2 − 4km < 0 (Caso Sub-Amortiguado.) Ec. (33)

♦ Caso Críticamente Amortiguado. B 2 − 4km = 0 . Si en la ecuación 30, el


término dentro de la raíz se hace cero, el sistema posee dos raíces reales
iguales:
1
• s1 , s 2 = (− B ± 0 ) = − B s1 = s 2 Ec. (34)
2m 2m

Para esta condición se dice que el sistema se halla Críticamente Amortiguado


y donde:

• Bc = 4km Ec. (35)

• Bc: coeficiente de viscosidad crítico.

La solución de la ecuación (23) puede escribirse entonces como (caso de


raíces repetidas):

41
• x(t ) = c1e s1t + c 2 e s1t Ec. (36)

♦ Caso Sobre Amortiguado. B 2 − 4km > 0 . Para esta condición:

B > 4km B > Bc


• Ec. (37)
s1 ≠ s 2
Entonces, si B > Bc, se dice que el sistema está Sobre amortiguado. El
discriminante de la ecuación (30) es positivo y las raíces que se obtienen son
reales y distintas. Entonces la solución de la ecuación (23) puede escribirse
como:

• x(t ) = c1e s1t + c 2 e s2t Ec. (38)

♦ Caso Sub Amortiguado. B 2 − 4km < 0 . Para esta condición:

B < 4km B < Bc


• Ec. (39)
s1 ≠ s 2

Entonces, si B < Bc, el sistema está Sub amortiguado. El discriminante de la


ecuación (30) es negativo, siendo las raíces complejas conjugadas de la forma:
s1 = σ + iω ,
• Ec. (40)
s 2 = σ − iω ,

Donde:
B
σ =− y
2m
• Ec. (41)
B 2 − 4mk
ω=
2m
Entonces:
• x(t ) = e σ ⋅t { A cos(ω ⋅ t ) + Csen(ω ⋅ t )} Ec. (42)

42
Si B = 0, el sistema queda descrito por la siguiente ecuación:
d 2 x(t )
• m + kx = F (t ) Ec. (43)
dt 2

Y a partir de la ecuación (30) se calculan las raíces s1 y s2. Como k > 0 y m > 0,
las raíces son imaginarias puras:

k
• s1 , s 2 = ± − = ±i ω Ec. (44)
m

Y la solución esta dada por:


• x (t ) = ACos (ω ⋅ t ) + CSen (ω ⋅ t ) Ec. (45)

Finalmente se puede dividir el comportamiento del sistema como se muestra


en la Figura 9:

Figura 9. Comportamiento total del sistema

Fuente: PDF Sistema Mecánico Masa Resorte Amortiguador Pág. 4.

43
♦ Forma Genérica de la Respuesta en el Tiempo. Tanto para el caso Sobre
Amortiguado como Críticamente Amortiguado, se tiene una idea intuitiva de la
forma de la respuesta en el tiempo del sistema.

Sin embargo para los casos Sub Amortiguado y con Amortiguamiento Positivo
se muestran a continuación las contribuciones de cada parte de la solución del
sistema. En la Figura 10 se observan las respuestas en el tiempo para los
casos sub amortiguado y amortiguamiento positivo para k>0 y k<0.

Para la solución:

• x(t ) = e σ ⋅t ( A cos(ω ⋅ t ) + Csen(ω ⋅ t )) Ec. (46)

Dada la igualdad trigonométrica:

• E ⋅ sen(ωt + α ) = E ⋅ sen(ωt ) cos(α ) + E ⋅ sen(α ) cos(ωt ) Ec. (47)

A = Esen(α ) y
• Si: Ec. (48)
B = E cos(α )

• x(t ) = E ⋅ e σ ⋅t sen( ωt + α ) Ec. (49)

Donde:

A E ⋅ sen(α )  A
= = tan(α ) → α = tan −1   y
• B E ⋅ cos(α ) B Ec. (50)
2 2 2
A +B =E

44
Figura 10. Forma genérica de la respuesta en el tiempo

Fuente: PDF Sistema Mecánico Masa Resorte Amortiguador Pág. 5.

5.3.4. Transformada de Laplace. “El método de la transformada de Laplace es


un método operativo que aporta muchas ventajas cuando se usa para resolver
ecuaciones diferenciales lineales. Mediante el uso de la transformada de Laplace,
es posible convertir muchas funciones comunes, tales como las funciones
senoidales, las funciones senoidales amortiguadas y las funciones exponenciales,
en funciones algebraicas de una variable |s| compleja. Las operaciones tales como
la diferenciación y la integración se sustituyen mediante operaciones algebraicas
en el plano complejo. Por tanto, en una ecuación algebraica, una ecuación
diferencial lineal se transforma en una variable compleja s. Si se resuelve la
ecuación algebraica en s para la variable dependiente, la solución de la ecuación
diferencial (la transformada inversa de Laplace de la variable dependiente) se
encuentra mediante una tabla de transformadas de Laplace o una técnica de
expansión en fracciones parciales. Una ventaja del método de la transformada de
Laplace es que permite el uso de técnicas gráficas para predecir el desempeño del
sistema, sin tener que resolver las ecuaciones diferenciales del sistema”.10

10
OGATA, Katsuhiko. Ingeniería de Control Moderna. Ed Prentice Hall. 3ra Ed. 1998, Pág. 13.

45
5.3.8. Lugar Geométrico de las Raíces. “La idea básica detrás del método del
lugar geométrico de las raíces es que los valores que hacen que la función de
transferencia alrededor del lazo sea igual a 1 deben satisfacer la ecuación
característica del sistema. El método debe su nombre al lugar geométrico de las
raíces de la ecuación característica del sistema en lazo cerrado conforme la
ganancia varía de cero a infinito. Dicha gráfica muestra claramente cómo
contribuye cada polo o cero en lazo abierto a las posiciones de los polos en lazo
cerrado. El método del lugar geométrico de las raíces es una técnica gráfica muy
poderosa para investigar los efectos de la variación de un parámetro del sistema
sobre la ubicación de los polos en lazo cerrado”11. En otras palabras el método
permite verificar la estabilidad o inestabilidad del sistema dependiendo de los
polos de la ecuación característica de dicho sistema. En la Figura 11 se puede
observar el lugar geométrico de las raíces a partir de los polos y ceros en lazo
abierto para el punto de prueba s, en donde los ángulos de las cantidades
complejas se miden en sentido contrario a las manecillas del reloj.

Figura 11. Diagrama de medición de ángulos de los polos y ceros en lazo abierto para el punto
de prueba “s”.

Fuente: Ingeniería de Control Moderna. 3ra. Ed. Pág. 320

11
OGATA, Katsuhiko. Ingeniería de Control Moderna. Ed Prentice Hall. 3ra Ed. 1998, Pág. 320.

46
5.3.9. Diagramas De Bode. “Una función de transferencia senoidal puede
representarse mediante dos gráficas distintas: una que ofrece la magnitud contra
la frecuencia y otra que muestra el ángulo de fase (en grados) contra la
frecuencia. Las trazas de Bode están formadas por dos gráficas: una es el
logaritmo de la magnitud de una función de transferencia senoidal y la otra es el
ángulo de fase. Ambas se grafican contra la frecuencia en la escala logarítmica.

La representación común de la magnitud logarítmica de G ( jω ) es 20 log| G ( jω ) |


en donde la base del logaritmo es 10. La unidad que se usa en esta
representación de la magnitud es el decibel, por lo general abreviado dB. La
Figura 12 contiene una línea de conversión de números a decibeles; conforme un
número aumenta en un factor de 10, el valor correspondiente en decibeles
aumenta en un factor de 20. En la representación logarítmica, se trazan las curvas
sobre papel semilogarítmico, con la escala logarítmica para la frecuencia y la
escala lineal para cualquier magnitud (en decibeles) o el ángulo de fase (en
grados). (El rango de frecuencia de interés determina la cantidad de ciclos
logarítmicos que se requieren en la abscisa.) La ventaja principal de usar la traza
de Bode es que la multiplicación de magnitudes se convierte en adición. Además,
cuenta con un método simple para trazar una curva aproximada de magnitud
logarítmica. Se basa en aproximaciones asintóticas. Esta aproximación, mediante
asíntotas (líneas rectas), es suficiente si sólo se necesita información general
sobre la característica de la respuesta en frecuencia”.12 En la Figura 13 se
observan las gráficas de respuesta en frecuencia; la curva de magnitud logarítmica
es una recta con pendiente -20dB/década y 20 dB/década, el ángulo de fase -90°
y 90° en todo el rango de frecuencia.

12
OGATA, Katsuhiko. Ingeniería de Control Moderna. Ed Prentice Hall. 3ra Ed. 1998, Pág. 475.

47
Figura 12. Línea de Conversión de números a decibeles.

Fuente: Ingeniería de Control Moderna. 3ra. Ed. Pág. 475

Figura 13. Trazas de Bode.

Fuente: Ingeniería de Control Moderna. 3ra. Ed. Pág. 475

48
5.3.10. Criterio de Estabilidad de Nyquist. “El criterio de estabilidad de Nyquist
permite conocer la estabilidad relativa y absoluta de los sistemas lineales en lazo
cerrado a partir del conocimiento de sus características de frecuencia en lazo
abierto.

Las trazas de Nyquist, al igual que las trazas de Bode, suelen usarse en la
representación de la respuesta en frecuencia de sistemas de control lineales
realimentados e invariantes con el tiempo. Las trazas de Nyquist son gráficas
polares, en tanto que las trazas de Bode son gráficas rectangulares. La Figura 14
contiene un ejemplo de diagrama de Nyquist, en donde todos los puntos de la
traza polar representan el punto terminal de un vector en un valor determinado de
ω . Una u otra traza puede ser más conveniente para una operación específica,
pero determinada operación siempre puede realizarse en cualquier traza.”13

Figura 14. Traza Polar.

Fuente: Ingeniería de Control Moderna. 3ra. Ed. Pág. 504

13
OGATA, Katsuhiko. Ingeniería de Control Moderna. Ed Prentice Hall. 3ra Ed. 1998, Pág. 504

49
5.4. MARCO TECNOLÓGICO

5.4.1. Java. “Se refiere a la combinación de tres cosas: el lenguaje de


programación Java (un lenguaje de programación orientado a objetos y de alto
nivel); la máquina virtual de Java (una máquina virtual de alto rendimiento que
ejecuta el bytecode en una plataforma de ordenador específica; normalmente
abreviada JVM); y la plataforma Java, una JVM que ejecuta el bytecode compilado
de Java, normalmente llamando a un conjunto de librerías estándar como las
proporcionadas por Java Standard Edition (SE) o Enterprise Edition (EE).

La tecnología Java, una tecnología madura, extremadamente eficaz y


sorprendentemente versátil, se ha convertido en un recurso inestimable ya que
permite a los desarrolladores:

• Desarrollar software en una plataforma y ejecutarlo en prácticamente cualquier


otra plataforma,
• Crear programas para que funcionen en un navegador Web y en servicios Web
• Desarrollar aplicaciones para servidores como foros en línea, tiendas,
encuestas, procesamiento de formularios HTML, etc.
• Combinar aplicaciones o servicios basados en la tecnología Java para crear
servicios o aplicaciones totalmente personalizados,
• Desarrollar potentes y eficientes aplicaciones para teléfonos móviles,
procesadores remotos, productos de consumo de bajo coste y prácticamente
cualquier dispositivo digital” 14.

14
ASOCIACIÓN JAVAHISPANO. 2002-2007. Disponible en
http://www.javahispano.org/contenidos/es/que_es_java/

50
5.4.2. NetBeans IDE 6.0.1 “NetBeans es una plataforma para el desarrollo de
aplicaciones de escritorio usando Java y a un entorno de desarrollo integrado
(IDE) desarrollado usando la Plataforma NetBeans.

La plataforma NetBeans permite que las aplicaciones sean desarrolladas a partir


de un conjunto de componentes de software llamados módulos. Un módulo es un
archivo Java que contiene clases de java escritas para interactuar con las APIs de
NetBeans y un archivo especial (manifest file) que lo identifica como módulo. Las
aplicaciones construidas a partir de módulos pueden ser extendidas agregándole
nuevos módulos. Debido a que los módulos pueden ser desarrollados
independientemente, las aplicaciones basadas en la plataforma NetBeans pueden
ser extendidas fácilmente por otros desarrolladores de software”15.

5.4.3. JDK (Java Development Kit). “Conjunto de herramientas (programas y


librerías) que permiten desarrollar (compilar, ejecutar, generar documentación,
etc.) programas en lenguaje Java. Java Development Kit"(JDK),"Standard
Development Kit" (SDK) y "Java 2 Standard Edition" (J2SE) son nombres para el
mismo componente e incluyen: El API de Java, el JRE (JVM), compilador de Java
y otras funcionalidades definidas por Sun”16.

5.4.4. Compilador de Matlab.

♦ Matlab® Builder™ For Java. “MATLAB Builder for JAVA” es una extensión del
compilador de MATLAB; con él se puede encapsular funciones con código de
MATLAB dentro de una o mas clases de JAVA, que a su vez son una porción
de código de JAVA en el cual se instancia los métodos de JAVA. Cuando se ha
desarrollado un programa desde MATLAB, cada función de MATLAB es

15
WIKIPEDIA. NetBeans. Marzo 2008. Disponible en http://es.wikipedia.org/wiki/NetBeans
16
OSMOLIS LATINA. 2000-2008. Disponible en http://www.osmosislatina.com/java/componentes.htm

51
encapsulada como un método de una clase de JAVA y puede ser invocada
desde una aplicación JAVA. Cuando es creado un paquete JAVA desde
MATLAB, se tiene la opción de incluir dentro del paquete el “MATLAB Compiler
Runtime” (MCR), permitiendo a los usuarios correr y desarrollar nuevas
aplicaciones en computadores que no tiene MATLAB instalado.

♦ Como Trabajan Juntos Matlab® Compiler™ Y Matlab® Builder™ For Java.


El compilador de MATLAB puede compilar M-Files, MEX-Files, objetos de
MATLAB, u otra clase de código de MATLAB. “MATLAB Builder for JAVA”
soporta todas estas características de MATLAB, y adiciona soporte para las
clases de JAVA, objetos de JAVA (instancias de clase), y métodos. Usando
“MATLAB Builder for JAVA” y “MATLAB Compiler” se puede generar:

• Aplicaciones independientes para diferentes plataformas (UNIX, Windows,


plataformas de Macintosh).
• Librerías de C y C++ para compartir.
• Iniciativas de aplicaciones JAVA para uso en cualquier plataforma
compatible con JAVA.

♦ Como utilizar matlab® builder™ for java. El producto se inicia a través de


“Deployment Tool GUI” que traduce “Herramientas de Desarrollo Gráfico”,
desde “File”, “New”, o también a través del comando “deploytool” escrita en el
“command prompt” (símbolo de sistema) de MATLAB. Para iniciar el proceso
haga lo siguiente:

1. Inicie MATLAB.
2. Escriba en el “command prompt” de MATLAB el comando “deploytool”, y se
abrirá la interfaz grafica de “Deployment tool”.
3. Verifique que MATLAB esta leyendo correctamente la variable de entorno
JAVA_HOME, para hacer esto es necesario que escriba en el “command

52
prompt” de MATALB el comando “getenv JAVA_HOME”, la respuesta de
MATLAB deberá ser la ubicación de la variable JAVA_HOME.

♦ Variable Java_Home. “MATLAB Builder for JAVA” usa la variable


JAVA_HOME para localizar el software de desarrollo JAVA, comúnmente
conocido como SDK por sus siglas en ingles (JAVA Software Development Kit),
en el sistema, también la usa para revisar las versiones de los archivos
javac.exe y jar.exe que se usan durante el proceso de construcción del
programa.

53
6. DISEÑO INGENIERIL

6.1. HIPÓTESIS

Es posible a partir de herramientas de desarrollo de software como NetBeans,


lenguaje de programación Java y herramienta de desarrollo de Java JDK, crear un
prototipo se software para simular y modelar sistemas mecánicos de traslación
que permitan obtener rápidas y precisas respuestas en forma matemática y gráfica
para su posterior análisis.

6.2. VARIABLES

6.2.1. Variables dependientes. Las variables dependientes que intervienen son:

• Creación de un prototipo de software para modelar y simular sistemas


mecánicos de traslación.

6.2.2. Variables independientes. Las variables independientes son:

• Uso y manejo de herramientas tecnológicas de programación

6.2.3. Variables intervinientes. Las variables intervinientes son:

• Recursos tecnológicos
• Tiempo
• Herramientas de uso libre

54
6.4. POBLACIÓN Y MUESTRA

Este proyecto está dirigido a todas las personas que desean modelar y simular
sistemas mecánicos de traslación. Centrando este estudio particularmente a
quienes hacen uso de sistemas dinámicos de control.

6.5. LÍNEA DE INVESTIGACIÓN

Empírico - Analítico

55
7. METODOLOGÍA

El uso de esta metodología asegura que se produzca desde sus primeras fases de
desarrollo, un producto de calidad que cumpla con las características de eficacia,
eficiencia y fiabilidad.

De acuerdo al estudio realizado de las metodologías, la metodología seleccionada


para el desarrollo de este proyecto es Rational Unified Process (RUP), siendo un
enfoque orientado a objetos, esto con el objetivo de obtener un producto de alta
calidad.

El proceso iterativo de RUP se organiza en fases (Kruchten, 1996), cada fase se


concluye con un punto de revisión. Es importante resaltar que la inclusión de
puntos de revisión, es sumamente importante y en estos puntos se revisan los
requerimientos establecidos para cada fase, basados en los controles de calidad.
De esta manera, si un producto o proceso no pasa el punto de revisión de calidad,
se rediseña o se cancela, evitando así, los problemas de coste extra, de re trabajo,
y de productos de mala calidad, que no satisfacen los requerimientos establecidos
a nivel comunicacional, técnico y de diseño gráfico.

7.1. PLAN DE ACTIVIDADES Y PRODUCTOS A ELABORAR DURANTE EL


PROYECTO.

A continuación se presentan los objetivos de cada fase especificando las


actividades según la metodología de RUP que se aplicara al proyecto.

56
♦ Fase de comienzo o inicio. El objetivo de esta fase está dirigido al
entendimiento de los requerimientos y a determinar el alcance del esfuerzo de
desarrollo. Algunas de las actividades definidas para esta fase son:

• Una documentación con la visión del anteproyecto.


• Establecer el alcance y límites del proyecto.
• Un glosario inicial de las palabras más frecuentes relacionadas con el
proyecto.
• Identificar los actores participantes y sus intereses.
• Definición de requerimientos usando un modelo de casos de uso con una
lista de todos los casos de uso y los actores que intervienen en cada uno de
los procesos.

♦ Fase de elaboración. Planificar las actividades necesarias y los recursos


requeridos, especificando las características y el diseño de la arquitectura del
software. Teniendo en cuenta la realización de diagramas de actividades y
diagramas de secuencia. Las actividades que se llevarán a cabo son:

• Actualización del plan de iteración.


• Un mapa de navegación, de todas las pantallas y procesos para el
desarrollo del software.
• Revisar los requerimientos complementarios.
• Construir un tipo de prototipo de interfaz del usuario.
• Actualizar el plan de proyecto y elaborar el plan de iteración.

♦ Fase de construcción. El objetivo para la fase de construcción es desarrollar


el producto y evolucionar la visión; la arquitectura y los planes hasta que el
producto en una primera versión esté listo para ser enviado a la comunidad de
usuarios. Las actividades que intervienen son:

57
• Actualizar el plan de iteración.
• Gestionar los recursos (herramientas de lenguajes para el desarrollo del
software).
• Desarrollar el proyecto
• Completar el desarrollo de los componentes (prototipo funcional).
• Probar los componentes contra los criterios de evaluación definidos.
• Actualizar el plan de proyecto
• Realizar la documentación correspondiente del proyecto.

♦ Fase de transición. Realizar la transición del producto a los usuarios, lo cual


incluye: manufactura, envío, entrenamiento, soporte y mantenimiento del
producto hasta que el cliente esté satisfecho. Las actividades correspondientes
son:

• Realizar la evaluación del usuario experto, para hacer un análisis del


cumplimiento de los requerimientos del software.
• Realizar los ajustes necesarios, en el caso de que el usuario experto no
este de acuerdo con algunos de los requerimientos para el software.

58
8. DESARROLLO METODOLÓGICO

8.1. PRESENTACIÓN DEL CASO DE ESTUDIO

En este capítulo se encuentra documentado el desarrollo del proyecto de acuerdo


a la metodología establecida (RUP), siguiendo cada una de las fases que la
conforman, teniendo en cuenta UML.

8.1.1. Contextualización del sistema actual. Para obtener la información que


permite describir la contextualización de los procesos del prototipo de software se
realizaron entrevistas a personas vinculadas directamente con los sistemas
dinámicos de control, entre ellas, un docente de la asignatura de control y un
estudiante de ingeniería mecatrónica, los cuales cuentan con un amplio
conocimiento y mayor experiencia en este tema. (Anexo A).

El cuestionario que hizo parte de las entrevista esta conformado por las siguientes
preguntas:

• ¿Qué es un sistema?
• ¿Qué es un sistema mecánico de traslación?
• ¿Qué es una masa traslacional?
• ¿Qué es un resorte traslacional?
• ¿Qué es la fricción viscosa?
• ¿Que es una fuerza?
• ¿Qué es un nodo?
• ¿Qué leyes describen un sistema mecánico de traslación?
• ¿Qué son analogías electromecánicas?
• ¿Qué es un modelo?

59
De acuerdo a las respuestas proporcionadas a estos interrogantes, a continuación
se realiza la descripción del sistema actual:

♦ Sistema mecánico de traslación. Es aquel que está compuesto de un


elemento de almacenamiento capacitivo (masa traslacional), un elemento de
almacenamiento inductivo (resorte traslacional), un elemento disipador de
energía (amortiguador – fricción viscosa) y un elemento fuerza.

A partir de analogías un sistema mecánico de traslación puede ser


representado en un electromecánico. En el sistema electromecánico, la masa
traslacional y el resorte traslacional tienen el mismo equivalente que en el
sistema mecánico y la fricción viscosa equivale al amortiguador.

Cada uno de los elementos que conforman un sistema mecánico posee


atributos como capacidad y posición, además, cuenta con características
especiales para la conexión de los mismos, por ejemplo, las masas siempre
deben estar conectadas a tierra y entre nodos únicamente pueden estar
conectados los elementos resistencia y/o amortiguador.

Cada sistema mecánico de traslación diseñado está expuesto a entradas


normalizadas como: función escalón unitario, rampa, función exponencial y
senoidal, y es analizado a partir de una analogía electromecánica (Fuerza),
proceso en el que se obtienen ecuaciones características del sistema como
función de transferencia, que permite obtener la respuesta de un sistema a una
señal de entrada o excitación exterior. De esta ecuación se generan
gráficas de comportamiento del sistema como diagrama de respuesta en el
tiempo; diagrama de Bode, que a partir de dos gráficas, una para la magnitud y
otra para la fase de salida, representan información referente a la respuesta en
frecuencia del sistema; diagrama de Nyquist, método de la respuesta de
frecuencia, que determina la estabilidad absoluta y relativa de los sistemas de

60
control a circuito cerrado, además de brindar información sobre funciones de
la transferencia de componentes o sistemas de datos experimentales de la
respuesta de frecuencia y diagrama del lugar geométrico de las raíces que
proporciona gráficamente márgenes de estabilidad e inestabilidad y la relación
entre ambas.

De acuerdo a las especificaciones dadas por la contextualización actual y los


requerimientos del usuario, la información del sistema actual, se detalla a
continuación en la Figura 15 un diagrama de conceptos en el que se muestran
las entidades que generan y transforman el proceso.

Figura 15. Diagrama de Conceptos.

Fuente: El autor

61
8.2. IDENTIFICACIÓN DE ACTORES Y REQUERIMIENTOS.

Según el análisis de la situación actual del software de modelado y simulación de


sistemas de traslación, se puede identificar los actores que intervienen en los
procesos y sus respectivos requerimientos para desarrollar el proyecto.

8.2.1. Actores participantes en el sistema. Los actores que intervienen en el


desarrollo del proyecto son:

• Usuario: Es el encargado de modelar el sistema mecánico de traslación a


través de los elementos de diseño para que sea simulado y se generen los
resultados del análisis en forma matemática y grafica.

♦ Requerimientos del Usuario.

• Ingresar al software.
• Diseñar el sistema mecánico de traslación.
• Gestionar la simulación del sistema diseñado.
• Valida el diseño del sistema mecánico de traslación.
• Realiza la simulación del sistema diseñado.
• Genera los resultados del análisis del sistema diseñado en forma
matemática y gráfica.

8.2.2. Casos de Uso. Para ilustrar los casos de uso se presenta un diagrama
principal en donde se describe la interacción entre los actores y los casos de uso
en la aplicación. Después se realiza un detalle de cada uno aplicando la estructura
que se muestra en la Tabla 4:

62
Tabla 4. Estructura de la interacción entre los actores y los casos de uso.
Actor Caso de uso Descripción
Actores participantes Nombre del Descripción del caso de uso
en el caso de uso caso de uso

Para llevar a cabo una descripción de cada caso de uso, se aplicará el formato
descrito en la Tabla 5:

Tabla 5. Formato de descripción de los casos de uso.


Caso de uso: Nombre del caso de uso a describir
Objetivo: Finalidad del caso de uso
Actor: Nombre de actor participante en el caso de uso
Precondiciones: Condiciones que se deben cumplir para que se realice el
caso de uso
Pasos: Pasos que se llevan cabo en el caso de uso
Poscondición: Condición que se lleva a cabo luego de realizar el caso
de uso
Excepciones: Contiene las excepciones que se puedan presentar en el
desarrollo del caso de uso respectivamente.
Fuente: El autor

Como se puede observar en la Figura 16, el diagrama de casos de uso abarca


todos los actores que participan en el sistema con sus correspondientes
requerimientos y una descripción general de cada uno. En la Tabla 6 se realiza
una breve descripción de cada uno de los casos de uso.

63
Figura 16. Diagrama de casos de uso.

Fuente. El autor

Tabla 6. Descripción de casos de uso


Actor Caso de uso Descripción
Usuario Modelamiento. El usuario diseña el sistema
mecánico de traslación para que
sea simulado por el software.
Usuario Validación El software valida el diseño del
sistema modelado.
Usuario Simulación. El software realiza la simulación
del sistema modelado, genera las
ecuaciones correspondientes a la
simulación y genera las gráficas
del sistema a partir de las
ecuaciones obtenidas.
Fuente. El Autor

64
A continuación se describe cada uno de los casos de uso que intervienen en el
sistema, con su respectivo diagrama de secuencia y colaboración, iniciando así
con la fase de desarrollo.

8.3. ANÁLISIS DE REQUERIMIENTOS.

8.3.1. Modelamiento. En la Tabla 7 se describe este caso de uso; se realiza en un


solo escenario y se clasifica en un diagrama de colaboración como se ve en la
Figura 17 y un diagrama de secuencia como se ve en la Figura 18.

Tabla 7. Caso de uso Modelamiento


Caso de uso: Modelamiento.
Objetivo: Modelar un sistema mecánico de traslación.
Actor: Usuario.
Precondiciones: El usuario ingresa al software.
ESCENARIO 1
En la pantalla principal se despliega el área de trabajo para diseñar el
sistema mecánico.
El usuario utiliza la barra de herramientas de diseño para modelar el
sistema.
Poscondición: Validar el sistema diseñado por el usuario.
Fuente. El autor

Figura 17. Diagrama de colaboración modelamiento.

Fuente. El autor

65
Figura 18. Diagrama de secuencia modelamiento.

Fuente. El autor

8.3.2. Validación. En la Tabla 8 se describe este caso de uso; se realiza en un


solo escenario y se clasifica en un diagrama de colaboración como se ve en la
Figura 19 y un diagrama de secuencia como se ve en la Figura 20.

Tabla 8. Caso de uso Validación.


Caso de uso: Validación.
Objetivo: Validar el sistema mecánico de traslación modelado.
Actor: Usuario.
Precondiciones: Modelar el sistema mecánico.
ESCENARIO 1
El usuario gestiona la simulación del sistema diseñado por el usuario.
El software verifica que el sistema esté diseñado correctamente (E1).
Poscondición: Simulación del sistema diseñado por el usuario.
Excepciones:
E1: Si el diseño del sistema no es correcto, el software despliega un
mensaje de error donde comunica que el diseño del sistema es incorrecto.
Fuente. El autor

66
Figura 19. Diagrama de colaboración validación.

Fuente. El autor

Figura 20. Diagrama de secuencia validación.

Fuente. El autor

8.3.3. Simulación. En la Tabla 9 se describe este caso de uso; se realiza en un


solo escenario y se clasifica en un diagrama de colaboración como se ve en la
Figura 21 y un diagrama de secuencia como se ve en la Figura 22.

67
Tabla 9. Caso de uso Simulación.
Caso de uso: Simulación.
Objetivo: Simular el sistema mecánico de traslación modelado.
Actor: Usuario.
Precondiciones: Validar el sistema mecánico.
ESCENARIO 1
El software analiza el diseño realizado por el usuario aplicando analogías
matemáticas.
Se obtiene como resultado la función de transferencia.
Se despliega la ecuación en el área de resultados.
A partir de las ecuación obtenida, el software genera 4 gráficas que
muestran el comportamiento del sistema simulado:
1. Diagrama de función en el tiempo.
2. Diagrama de nyquist, que se genera a partir de la ecuación de
transferencia.
3. Diagrama de bode, que se genera a partir de la ecuación de
transferencia.
4. Diagrama del lugar geométrico de las raíces, que se genera a partir de
la ecuación de transferencia.
El software despliega una pestaña por cada gráfica correspondiente al
sistema mecánico de traslación.
Fuente. El autor

68
Figura 21. Diagrama de colaboración simulación.

Fuente. El autor

Figura 22. Diagrama de secuencia simulación.

Fuente. El autor

69
8.4. DISEÑO

8.4.1. Diagrama de clases. A continuación se describen los diagramas de clases


que corresponden a cada uno de los casos de uso definidos (Modelamiento,
validación y simulación).

♦ Modelamiento. En la Figura 23 se observa el diagrama de clases para el caso


de uso Modelamiento, con sus respectivos atributos y métodos.

Figura 23. Diagrama de clase Modelamiento

Fuente. El autor

• Simulador: Esta clase carga todos los componentes para el diseño de un


sistema mecánico, los botones para el análisis y el área de trabajo.

70
• Utilidades: Esta clase contiene un jpanel con los botones de desconectar,
borrar, simular, análisis y función de transferencia (es decir los botones que
hacen el análisis). Dentro de esta clase se hacen las siguientes
validaciones:
o Si existen componente desconectados
o Si no existe la fuente
o Si el sistema está incompleto

• Herramientas: Esta clase contiene un jpanel con los elementos


electromecánicos para el diseño del sistema. Contiene los métodos que
adhieren cada componente al área de trabajo.

• Amortiguador, Conector, Fuente, Masa, Nodo, Resorte, Tierra: Cada clase


anterior contiene las características de cada elemento, como capacidad,
nombre, orientación, etc.

♦ Validación. En la Figura 24 se observa el diagrama de clases para el caso de


uso Validación, con sus respectivos atributos y métodos.

Figura 24. Diagrama de clase Validación

Fuente. El autor

• Validador: Esta clase tiene las siguientes restricciones para el uso del
software:
o No mas de tres nodos ni tres masas
o Una sola fuente

71
o Fuente conectada a nodo 1 y a tierra
o Componentes entre nodos

• Ejecutor: En esta clase se crean los archivos de texto que se envían a


matlab, con los valores que el usuario le ingreso a cada componente.

♦ Simulación. En la Figura 25 se observa el diagrama de clases para el caso de


uso Simulación, con sus respectivos atributos y métodos.

Figura 25. Diagrama de clase Simulación

Fuente. El autor

• FuncionTransferencia. Esta clase contiene un jpanel en el que se muestra


la función de transferencia generada. Llama a la función FTpol.

• DialogoNodo: Esta clase contiene un jpanel en el que se puede seleccionar


el nodo a evaluar (nodo en el que se desea observar los análisis a la
exposición de las diferentes entradas).

• DialogoFuerza: Esta clase contiene un jpanel en el que se puede


seleccionar el tipo de entrada con la que se va a evaluar el sistema y
asignarle un valor.

72
• DialogoAnalizar: Esta clase contiene un jpanel en el que se puede
seleccionar el análisis que se desea observar (bode, nyquist, Lugar
geométrico de las raíces); desde esta clase dependiendo de lo que el
usuario seleccione, se ejecutan los programas creados en matlab y se
obtiene la gráfica correspondiente al análisis.

8.5. ANÁLISIS Y OBTENCIÓN DE LOS RESULTADOS DE LA SIMULACIÓN

A pesar de lo complejo que puede resultar obtener el modelo matemático de un


determinado sistema dinámico, existen diferentes métodos de análisis de los
mismos. Numerosa documentación hace referencia al tema de forma detallada y
concisa, en algunos textos mejor que otros. Sin embargo, el objetivo del proyecto
no hace referencia a la explicación de la totalidad de sistemas dinámicos
existentes y sus métodos de análisis. Por lo tanto el análisis matemático de
ingeniería solo hará referencia a los sistemas mecánicos de traslación. Dicho
análisis estará fundamentado en la obtención de la función de transferencia,
respuesta en el tiempo y curvas de respuesta. A continuación se explicará, cómo
se puede obtener el modelo matemático de un sistema mecánico de traslación a
partir de un ejemplo sencillo.

Ejemplo.
En la Figura 26 a una masa de valor m, se le aplica una fuerza de valor F. Esta
masa esta conectada a un Resorte de constante K, el cual a su vez está
conectado al punto de referencia o inmóvil del sistema. Obtenga la función de
transferencia del modelo. Suponga que existe fricción viscosa.

Figura 26. Sistema mecánico de traslación.

Fuente. El autor

73
Los métodos que serán usados para determinar el modelo del sistema serán los
siguientes:
• Leyes de Newton
• Analogía Fuerza-Corriente.

Una vez se obtienen los modelos, por los métodos ya mencionados, se podrá
entender mejor el procedimiento mostrado más adelante, con el cual se obtendrá
la función de transferencia general que se implementará en el software.

Solución del ejercicio propuesto.

Por leyes de newton: En la Figura 27 se muestra el diagrama de cuerpo libre del


sistema mecánico de traslación a analizar.

Figura 27. Diagrama de cuerpo libre.

Fuente. El autor

Aplicando la ley segunda ley de Newton ecuación (5), se tiene que:


• F1 = k * x Ec. (51)

• F2 = B * V ⇒ ∑ FX = F (t ) − F1 − F2 = m * a Ec. (52)

Ecuación para espacio


d 2x dx
• Ecuación diferencial del sistema F (t ) = m 2 + kx + B Ec. (53)
dt dt

Transformada de Laplace
• FS = mS 2 X S + kX S + BSX S Ec. (54)

74
• ⇒ FS = X S (mS 2 + BS + k ) Ec. (55)

FS B k
• ⇒ = X S (S 2 + S + ) Ec. (56)
m m m

1
XS m
• Función De Transferencia del sistema GS = = Ec. (57)
FS B k
S2 + S +
m m
Ecuación para Velocidad
dv
• Ecuación diferencial del sistema F (t ) = m + k ∫ vdt + Bv Ec. (58)
dt

Transformada de Laplace
k
• FS = mSVS + VS + BVS Ec. (59)
S
• ⇒ SFS = VS (mS 2 + BS + k ) Ec. (60)

S
V m
• Función De Transferencia del sistema GS = S = Ec. (61)
FS S 2 + B S + k
m m

Por analogía: F ≅ I Fuerza ≅ Corriente

Este método consiste en realizar una analogía, como su nombre lo menciona,


entre los elementos que componen el sistema mecánico de traslación, y su
equivalente electromecánico. A continuación se mencionan las pautas que se
deben tener en cuenta en el momento de realizar el análisis por analogía fuerza-
corriente.

Reglas para obtener la red equivalente:

1. Ubicar un nodo de referencia (Parte inmóvil).

75
2. Ubicar todas las masas conectadas al nodo de referencia.
3. Nombrar los nodos superiores de las masas con las variables de salida V
(Velocidad) o X/Y (Espacio).
4. Conectar los demás elementos (B, K) amortiguador y resorte,
respectivamente, entre nodos según el esquema.
5. Conectar las entradas a los nodos que correspondan.

En la Figura 28 se muestra el equivalente fuerza del sistema mecánico de


traslación, aplicando las reglas mencionadas.

Figura 28. Equivalente Fuerza

Fuente. El autor

• Las ecuaciones de espacio y transformada de Laplace que se obtienen para el


equivalente de la Figura 28 corresponden a las ecuaciones (53), (54), (55) y
(56).
1
XS m
• Función De Transferencia del sistema GS = = Ec. (62)
FS B k
S2 + S +
m m

Ecuación para Velocidad


dv
• F (t ) = m + k ∫ vdt + Bv Ec. (58)
dt

76
Transformada de Laplace
k
• FS = mSVS + VS + BVS Ec. (59)
S
• ⇒ SFS = VS (mS 2 + BS + k ) Ec. (60)

S
XS m
• Función De Transferencia del sistema GS = = Ec. (63)
FS B k
S2 + S +
m m

Como se puede observar, la función de transferencia del sistema obtenida en cada


caso, ecuaciones (53), (61), (62) y (63), por medio de los dos métodos
mencionados con anterioridad, coinciden. Por lo tanto no importa cual método se
escoja, el resultado final será el mismo. Sin embargo, es de nuestra elección
determinar cual es el más indicado en el momento de realizar procesos
matemáticos largos y complicados. Por ello, tomando en cuenta las
consideraciones ya mencionadas, el análisis escogido para el desarrollo del
software será realizado por el método Analogía Fuerza-Corriente, ya que facilita la
obtención de las ecuaciones diferenciales del sistema, puesto que el análisis se
reduce a determinar ecuaciones de nodos de un circuito eléctrico.

En la figura 29 se muestra el equivalente corriente del sistema mecánico de


traslación, aplicando las reglas mencionadas.

Figura 29. Equivalente Corriente

Fuente. El autor

77
VO 1 dv
• Ecuación diferencial del sistema i (t ) = + ∫ VO dt + C o Ec. (64)
R L dt

Transformada de Laplace
VS 1
• i( S ) = + V S + CSV S Ec. (65)
R LS
1 1
• ⇒ i( S ) = VS ( + + CS ) Ec. (66)
R LS
1 1
• ⇒ i( S ) S = V S (CS 2 + S+ ) Ec. (67)
R L
S 1 1
• i( S ) = VS ( S 2 + S+ ) Ec. (68)
C CR CL
S
V C
• G( S ) = S = Ec. (69)
i( S ) 2 1 1
S +S +
RC LC

Si se reemplaza en la ecuación (69) el equivalente en analogía Fuerza-Corriente,


es decir cambiar la resistencia eléctrica por el inverso de la fricción viscosa, la
inductancia eléctrica por la inversa del resorte traslacional y la capacitancia
eléctrica por la masa traslacional se obtiene la ecuación (62). En las Figuras 30,
31 y 32 se muestran las representaciones gráficas de los equivalentes del sistema
eléctrico al electromecánico.

Figura 30. Elementos de almacenamiento capacitivo

Fuente. El autor

78
Figura 31. Elementos de almacenamiento inductivo

Fuente. El autor

Figura 32. Elementos disipadores de energía:

Fuente. El autor

1
• K≅ Ec. (70)
L
1
• B≅ Ec. (71)
R
• m≅C Ec. (72)

Reemplazando las ecuaciones (70), (71) y (72) en la ecuación (69), se obtiene la


ecuación (62) como ya se menciono con anterioridad:
S
V m
G( S ) = S = Ec. (69)
i( S ) 2 1 1
S + S+
1 1
m  m 
B K
S
• ⇒ G( S ) = m Ec. (62)
B K
S2 + S +
m m

79
8.5.1. Obtención de la Función de Transferencia Generalizada. A partir del
ejemplo mostrado se podrá comprender el análisis que se realizará para obtener la
función de transferencia que se implementará en el software propuesto.

Para dar comienzo al análisis del sistema, es conveniente mostrar el tipo de


modelo que se puede llegar a tener. Como se menciono en los alcances y
limitaciones del proyecto, el software simulará sistemas de máximo tres nodos, por
lo tanto el modelo más grande que podría llegarse a tener es el que se observa
en la Figura 33:

Figura 33. Máximo sistema mecánico de traslación.

Fuente. El autor

Teniendo claro el tipo de circuito que se debe modelar, se obtienen las ecuaciones
diferenciales del sistema, por medio de análisis de circuitos. Sin embargo para
garantizar el correcto funcionamiento de la ecuación que se obtendrá, se ha
optado por realizar un análisis por casos. Es decir se tendrá en cuenta un
procedimiento para un circuito de un nodo, otro para un circuito de dos nodos y
finalmente otro para tres nodos. Todo esto con el fin de ir validando uno por uno
los posibles casos que se puedan llegar a tener y no contemplar todo el análisis a

80
partir de un solo circuito y una sola ecuación. Todo ello se explicará de forma más
concisa y clara, a través del documento en el momento que corresponda.

El análisis que se realizará para la función de transferencia servirá posteriormente


para la obtención de curvas de respuesta, diagramas de Bode, Nyquist y función
en el tiempo. Continuando con el análisis para obtener la función de transferencia,
a continuación se explicará cual es el procedimiento a seguir desde el equivalente
electromecánico del modelo, hasta la obtención de dicha función.

Para comenzar, se realizará el análisis de circuitos en cada uno de los tres


posibles casos, con el fin de obtener las ecuaciones diferenciales del sistema. Es
importante resaltar que dichas ecuaciones se plantearán en términos de espacio.
Llevado a cabo el proceso anteriormente mencionado, se realizará la transformada
de Laplace en cada ecuación, para así finalmente dar inicio a la obtención de la
salida de cada circuito y de esta forma obtener la función de transferencia, por
medio del método de solución de ecuaciones de Kramer.

Puesto que en el circuito de tres nodos, las ecuaciones serán supremamente


extensas, debido a que el determinante es de grado 6, en el documento se
mostrará por separado los coeficientes de cada termino. Es decir, como el
determinante es de la forma ax6+bx5+cx4dx3+ex2+fx+g, se mostrará por separado
los coeficientes a, b, c, d, e, f y g. Simplemente por comodidad visual del
documento. De igual forma este procedimiento se tendrá en cuenta para la
programación del algoritmo y así facilitar la revisión del programa en caso de
obtener errores matemáticos o de compilación.

♦ Modelo con un Nodo. En la Figura 34 se observa un sistema mecánico de


traslación con un solo nodo.

81
Figura 34. Sistema mecánico de traslación con un nodo.

Fuente. El autor

Ecuaciones diferenciales del sistema:

• Entrada= f (t ) (Fuerza)

• Salida= X 1 (t ) (Espacio)

d 2 x1 dx
f (t ) = M 10 2
+ B10 1 + K 10 x1
dt dt
• Transformada _ De _ Laplace Ec. (73)
f (s ) = S M 10 x1 ( s ) + SB10 x1 ( s ) + K 10 x1 ( s )
2

( ) (
f (s ) = x1 ( s ) S 2 M 10 + B10 S + K 10 ⇒ f ( s ) = x1 ( s) S 2 M 10 + SB10 + K 10 )

Función de transferencia:

x1 ( s ) 1
• G (s ) = = 2 Ec. (74)
f (s ) S M 10 + SB10 + K 10

♦ Modelo con dos Nodos. En la Figura 35 se observa un sistema mecánico de


traslación con dos nodos.

82
Figura 35. Sistema mecánico de traslación con dos nodos.

Fuente. El autor

Ecuaciones diferenciales del sistema:

• Entrada= f (t ) (Fuerza)

• Salidas= X 1 (t ) X 2 (t ) (Espacio)

Puesto que el circuito tiene dos nodos, resulta un sistema de dos ecuaciones con
dos incógnitas.

d 2 x1 dx1 d ( x1 − x 2 )
1. f (t ) = M 10 2
+ K 10 x1 + B10 + K 12 ( x1 − x 2 ) + B12 Ec. (75)
dt dt dt

Transformada De Laplace:
f (s ) = S 2 M 10 x1 ( s ) + K 10 x1 ( s ) + SB10 x1 ( s ) + K 12 x1 ( s ) − K 12 x 2 ( s ) + SB12 x1 ( s ) − SB12 x 2 ( s )
( )
f (s ) = x1 ( s ) S 2 M 10 + S ( B10 + B12 ) + ( K 10 + K 12 ) + x 2 ( s )(S (− B12 ) − ( K 12 ) )
Ec. (76)

d ( x1 − x 2 ) d 2 x2 dx
2. B12 + K 12 ( x1 − x 2 ) = M 20 2
+ B 20 2 + K 20 x 2 Ec. (77)
dt dt dt

83
Transformada De Laplace:
S 2 M 20 x 2 ( s ) + SB20 x 2 ( s ) + K 20 x 2 ( s ) + SB12 x 2 ( s ) + K 12 x 2 ( s ) − SB12 x1 ( s ) − K 12 x1 ( s ) = 0
(
x1 ( s )(S (− B12 ) − K 12 ) + x 2 ( s ) S 2 M 20 + S ( B 20 + B12 ) + ( K 20 + K 12 ) = 0 )
Ec. (78)

Matriz del sistema:


[
 S 2 M 10 + S ( B10 + B12 ) + ( K 10 + K 12 ) ] [S (− B12 ) − K 12 ]   x1 ( s )   f (s )
 * = 
 [S (− B12 ) − K 12 ] [S 2
M 20 + S ( B 20 + B12 ) + ( K 20 ]
+ K 12 )   x 2 ( s )  0 

A continuación se obtendrá el determinante del sistema, y los determinantes de


kramer, con el fin de obtener las salidas de cada sistema.

Determinante del sistema: (Denominador de la función de transferencia)


[ ][
DT = S 2 M 10 + S ( B10 + B12 ) + ( K 10 + K 12 ) * S 2 M 20 + S ( B20 + B12 ) + ( K 20 + K 12 ) − ]
[[S (− B12 ) − K 12 ] * [S (− B12 ) − K 12 ]]

DT = ( S 4 M 10 M 20 + S 3 (M 10 ( B20 + B12 ) ) + S 2 (M 10 ( K 20 + K 12 ) ) + S 3 (M 20 ( B10 + B12 ) ) + S 2 ( B10 + B12 )


( B20 + B12 ) + S ( K 20 + K 12 )( B10 + B12 ) + S 2 (M 20 ( K 10 + K 12 ) ) + S ( K 10 + K 12 )( B20 + B12 ) + ( K 10 + K 12 )
[ 2
( K 20 + K 12 )) − S 2 B12 + 2SB12 K 12 + K 12
2
]
DT = S 4 M 10 M 20 + S 3 (M 10 B 20 + M 10 B12 + M 20 B10 + M 20 B12 ) + S 2 ( M 10 K 20 + M 10 K 12 + B10 B20 +
B10 B12 + B12 B20 + M 20 K 10 + M 20 K 12 ) + S (K 20 B10 + K 20 B12 + K 12 B10 + K 10 B20 + K 10 B12 + K 12 B20 )
+ (K 10 K 20 + K 10 K 12 + K 12 K 20 )
Ec. (79)

Determinante de kramer para salida de nodo 1: (Numerador de la función de


transferencia para salida nodo 1)

 f (s ) [S (− B12 ) − K 12 ] 
 0 [S 2
M 20 + S ( B 20 + B12 ) + ( K 20 + K 12 )  ]

[
∆ 1 = f ( s ) S 2 M 20 + S ( B20 + B12 ) + ( K 20 + K 12 ) ] Ec. (80)

84
Determinante de kramer para salida de nodo 2: (Numerador de la función de
transferencia para salida nodo 2)

[
 S 2 M 10 + S ( B10 + B12 ) + ( K 10 + K 12 ) ] f (s )
 
 [S (− B12 ) − K 12 ] 0 

∆ 2 = f ( s )[SB12 + K 12 ] Ec. (81)

Función de transferencia:
∆K
• G( S ) = Ec. (82)
∆T

Donde:
• ∆ K = determinante de Kramer
• ∆ T = determinante del sistema

Nodo Uno.
• Determinante del sistema de la forma As4+Bs3+Cs2+Ds+E
• Determinante de Kramer de la forma as2+bs+c

as 2 + bs + c
• Función de transferencia G( S ) = ⇒
Ec. (83)
As 4 + Bs 3 + Cs 2 + Ds + E

Coeficientes Del Numerador:


S 2 ⇒ a = M 20 Ec. (84)

S 1 ⇒ b = B20 + B12 Ec. (85)

S 0 ⇒ c = K 20 + K 12 Ec. (86)

Coeficientes Del Denominador


S 4 ⇒ A = M 10 * M 20 Ec. (87)

85
S 3 ⇒ B = M 10 B20 + M 10 B12 + M 20 B10 + M 20 B12 Ec. (88)

S 2 ⇒ C = M 10 K 20 + M 10 K 12 + B10 B20 + B10 B12 + B12 B20 + M 20 K 10 + M 20 K 12 Ec. (89)

S 1 ⇒ D = K 20 B10 + K 20 B12 + K 12 B10 + K 10 B20 + K 10 B12 + K 12 B20 Ec. (90)

S 0 ⇒ E = K 10 K 20 + K 10 K 12 + K 12 K 20 Ec. (91)

Nodo Dos:

• Determinante del sistema de la forma As4+Bs3+Cs2+Ds+E


• Determinante de Kramer de la forma as+b

as + b
• Función de transferencia G( S ) = Ec. (92)
As + Bs + Cs 2 + Ds + E
4 3

Coeficientes Del Numerador:


S 1 ⇒ a = B12 Ec. (93)

S 0 ⇒ b = K 12 Ec. (94)

Coeficientes Del Denominador:


S 4 ⇒ A = M 10 * M 20 Ec. (95)

S 3 ⇒ B = M 10 B20 + M 10 B12 + M 20 B10 + M 20 B12 Ec. (96)

S 2 ⇒ C = M 10 K 20 + M 10 K 12 + B10 B20 + B10 B12 + B12 B20 + M 20 K 10 + M 20 K 12 Ec. (97)

S 1 ⇒ D = K 20 B10 + K 20 B12 + K 12 B10 + K 10 B20 + K 10 B12 + K 12 B20 Ec. (98)

S 0 ⇒ E = K 10 K 20 + K 10 K 12 + K 12 K 20 Ec. (99)

♦ Modelo con tres nodos: En la Figura 36 se observa un sistema mecánico de


traslación de tres nodos.

86
Figura 36. Sistema mecánico de traslación con tres nodos.

Fuente. El autor

Ecuaciones diferenciales del sistema:

• Entrada= f (t ) (Fuerza)

• Salidas= X 1 X 2 X 3 (Espacio)

Puesto que el circuito tiene tres nodos, resulta un sistema de tres ecuaciones con tres incógnitas.

87
d 2 x1 dx d ( x1 − x 2 ) d ( x1 − x3 )
1. f (t ) = M 10 2
+ B10 1 + K 10 x1 + K 12 ( x1 − x 2 ) + B12 + B13 + K 13 ( x1 − x 3 ) Ec. (100)
dt dt dt dt

Transformada De Laplace:
f (s ) = S 2 M 10 x1 ( s ) + SB10 x1 ( s ) + K 10 x1 ( s ) + K 12 x1 ( s ) − K 12 x 2 ( s ) + SB12 x1 ( s ) − SB12 x 2 ( s ) + SB13 x1 ( s) − SB13 x3 ( s ) + K 13 x1 ( s ) − K 13 x 3 ( s )
( )
f (s ) = x1 ( s ) S 2 M 10 + S ( B10 + B12 + B13 ) + ( K 10 + K 12 + K 13 ) + x 2 ( s )(S (− B12 ) − ( K 12 ) ) + x 3 ( s )(S (− B13 ) − ( K 13 ) )
Ec. (101)

d ( x1 − x 2 ) d 2 x2 dx d ( x2 − x3 )
2. K 12 ( x1 − x 2 ) + B12 = M 20 2
+ K 20 x 2 + B 20 2 + K 23 ( x 2 − x3 ) + B23 Ec. (102)
dt dt dt dt

Transformada De Laplace:
( )
V1 ( s )(S (− B12 ) − K 12 ) + V2 ( s ) S 2 M 20 + S ( B20 + B23 + B12 ) + ( K 20 + K 23 + K 12 ) + V3 ( s )(S (− B23 ) − K 23 ) = 0 Ec. (103)

dv3
3. K 23 ∫ (V2 − V3 )dt + B23 (V2 − V3 ) = K 30 ∫ V3 dt + M 30 + B30V3 + K13 ∫ (V1 − V3 )dt + B13 (V1 − V3 ) Ec. (104)
dt

Transformada De Laplace:
K 30 K K K K
M 30 SV3 ( s ) + V3 ( s ) + B30V3 ( s ) − 13 V1 ( s ) + 13 V3 ( s ) − B13V1 ( s ) + B13V3 ( s ) − 23 V 2 ( s ) + 23 V3 ( s ) + B 23V3 ( s ) − B 23V 2 ( s ) = 0
S S S S S
(
V1 ( s )(S (− B13 ) − K 13 ) + V 2 ( s )(S (− B 23 ) − K 23 ) + V3 ( s ) S M 30 + S ( B30 + B13 + B23 ) + ( K 30 + K 13 + K 23 ) = 0
2
)
Ec. (105)

88
Matriz del sistema:
S 2M10 + S(B10 + B12 + B13) + (K10 + K12 + K13) S (−B12) − K12 S(−B13) − K13  V1   f (s)
     
 S (−B12 ) − K12 S 2M20 + S (B20 + B12 + B23) + (K20 + K12 + K23) S (−B23) − K23  * V2  =  0 
 S (−B13) − K13 S (−B23) − K23 S 2M30 + S (B30 + B23 + B13) + (K30 + K23 + K13) V3   0 

Puesto que el determinante de la matriz resulta demasiado extenso, como ya se había mencionado con anterioridad,
debido a que es un polinomio de la forma DT = As 6 + Bs 5 + Cs 4 + Ds 3 + Es 2 + Fs + G .En el documento se presentarán
los coeficientes del polinomio por separado y de esta forma tener una mejor apreciación del determinante.

Determinante del sistema: (Denominador de la función de transferencia)


DT = As 6 + Bs 5 + Cs 4 + Ds 3 + Es 2 + Fs + G Ec. (106)

Coeficientes de determinante del sistema:


S 6 ⇒ A = (M 10 * M 20 * M 30 ) Ec. (107)

S 5 ⇒ B = ((( M 10 * M 20 ) * ( B30 + B23 + B13 )) + (( M 10 * M 30 ) * ( B20 + B12 + B23 )) + (( M 20 * M 30 ) * ( B10 + B12 + B13 ))) Ec. (108)

S 4 ⇒ C = (((( M 10 * M 20 ) * ( K 30 + K 23 + K 13 )) + (( M 10 * (( B20 + B12 + B23 ) * ( B30 + B23 + B13 ))) + (( M 10 * M 30 ) + ( K 20 + K 12 + K 23 )) −


2
( M 10 * B23 ) * (( M 20 ) * (( B30 + B23 + B13 ) * ( B10 + B12 + B13 ))) + (( M 30 ) * ( B20 + B12 + B23 ) * ( B10 + B12 + B13 ))) + (( M 20 * M 30 ) * ( K 10 +
2 2
K 12 + K 13 ))) − ( M 30 * B12 ) − ( M 20 * B13 ))
Ec. (109)

89
S 3 ⇒ D = ((( M 10 * ( B20 + B12 + B23 ) * ( K 30 + K 23 + K 13 )) + ( M 10 * ( K 20 + K 12 + K 23 ) * ( B30 + B23 + B13 )) − (2 * M 10 * B23 * K 23 ) + ( M 20 *
( K 30 + K 23 + K 13 ) * ( B10 + B12 + B13 )) + (( B10 + B12 + B13 ) * ( B20 + B12 + B23 ) * ( B30 + B23 + B13 )) + ( M 30 * ( K 20 + K 12 + K 23 ) * ( B10 + B12 +
2 2
B13 )) − (( B23 ) * ( B10 + B12 + B13 )) + ( M 20 * ( B30 + B23 + B13 ) * ( K 10 + K 12 + K 13 )) + ( M 30 * ( B20 + B12 + B23 ) * ( K 10 + K 12 + K 13 ))) − ((( B12 ) *
2
( B30 + B23 + B13 )) + (( M 30 * K 12 * B12 ) + ( B12 * B13 * B23 )) + ( M 30 * B12 * K 12 )) − ((( B13 ) * ( B20 + B12 + B23 )) + ( M 20 * K 13 * B13 ) + ( B12 * B13 +
B23 ) + ( B13 * K 13 + M 20 )))
Ec. (110)

S 2 ⇒ E = [((M 10 * ( K 30 + K 23 + K 13 ) * ( K 20 + K 23 + K 12 )) − ( M 10 * K 23 * K 23 ) + (( B10 + B12 + B13 ) * ( K 30 + K 23 + K 13 ) * ( B20 + B12 + B23 )) +


(( K 20 + K 12 + K 23 ) * ( B30 + B23 + B13 ) * ( B10 + B12 + B13 )) − ((2 * B23 * K 23 ) * ( B10 + B12 + B13 )) + ( M 20 * ( K 30 + K 23 + K 13 ) * ( K 10 + K 12 +
K 13 )) + (( B20 + B12 + B23 ) * ( B30 + B23 + B13 ) * ( K 10 + K 12 + K 13 )) + ( M 30 * ( K 20 + K 12 + K 23 ) * ( K 10 + K 12 + K 13 )) − (( K 10 + K 12 + K 13 ) *
2
B23 * B23 )) − ((( B12 ) * ( K 30 + K 23 + K 13 )) + (( B12 * K 12 ) * ( B30 + B23 + B13 )) + (( B12 * B13 * K 23 ) + ( B12 * B23 * K 13 )) + (( B12 * K 12 ) *
2 2
( B30 + B23 + B13 )) + ( M 30 * K 12 ) + ( B13 * B23 * K 12 )) − ((( B13 * B12 * K 23 ) + ( B13 * B23 * K 12 )) + (( B13 ) * ( K 20 + K 12 + K 23 )) + (( B13 *
K 13 ) * ( B20 + B12 + B23 )) + ( B12 * B23 * K 13 ) + ( M 20 * K 13 * K 13 ) + (( B20 + B12 + B23 ) * ( B13 * K 13 )))]
Ec. (111)

S 1 ⇒ F = [((( B10 + B12 + B13 ) * ( K 20 + K 12 + K 23 ) * ( K 30 + K 23 + K 13 )) − (( B10 + B12 + B13 ) * ( K 23 * K 23 )) + (( K 30 + K 23 + K 13 ) * ( K 10 +


K 12 + K 13 ) * ( B20 * B12 * B23 )) + (( K 20 + K 12 + K 23 ) * ( K 10 + K 12 + K 13 ) * ( B30 + B23 + B13 )) − ((2 * B23 * K 23 ) * ( K 10 + K 12 + K 13 ))) −
((( K 12 * B12 * ( K 30 + K 23 + K 13 ))) + ( B12 * K 23 * K 13 ) + ( B12 ∗ K 12 * ( K 30 + K 23 + K 13 )) + (( K 12 ∗ K 12 ) * ( B30 + B23 + B13 )) + ( K 13 * K 12 *
B23 ) + ( K 23 * B13 * K 12 )) − (( K 12 * K 23 * B13 ) + (( K 20 + K 12 + K 23 ) * ( K 13 + B13 )) + ( B12 * K 23 * K 13 ) + ( K 12 * B23 * K 13 ) + (( B20 + B12 +
B23 ) * ( K 13 * K 13 )) + ( K 20 + K 12 + K 23 ) * ( B13 * K 13 )))]
Ec. (112)

90
S 0 ⇒ G = [((( K 10 + K 12 + K 13 ) * ( K 30 + K 23 + K 13 ) * ( K 20 + K 12 + K 23 )) − (( K 10 + K 12 + K 13 ) * ( K 23 * K 23 ))) − ((( K 12 * K 12 ) * ( K 30 +
K 23 + K 13 )) + ( K 12 * K 23 * K 13 )) − (( K 12 * K 23 * K 13 ) + (( K 20 + K 12 + K 23 ) * ( K 13 * K 13 )))]
Ec. (112)

Determinante de kramer para salida de nodo 1: (Numerador de la función de transferencia para salida nodo 1)

 f (s) S(−B12) − K12 S (−B13) − K13 


 0 S 2M + S ( B + B + B ) + ( K + K + K ) S(−B23) − K23 
 20 20 12 23 20 12 23 
 0 S(−B23) − K23 S 2M30 + S (B30 + B23 + B13) + (K30 + K23 + K13)

∆ 1 = as 4 + bs 3 + cs 2 + ds + e Ec. (113)

Coeficientes del determinante de Kramer:

S 4 ⇒ a = (M 20 * M 30 ) Ec. (114)

S 3 ⇒ b = ((M 20 * ( B30 + B23 + B13 ) ) + (M 30 * ( B20 + B12 + B23 ) )) Ec. (115)

S 2 ⇒ c = ((M 20 * ( K 30 + K 23 + K 13 ) ) + ((M 30 * ( K 20 + K 12 + K 23 ) )) + (( B20 + B12 + B23 ) * ( B30 + B23 + B13 ) ) − ( B23 * B23 ) ) Ec. (116)

S 1 ⇒ d = ((( B20 + B12 + B23 ) * ( K 30 + K 23 + K 13 ) + (( K 20 + K 12 + K 23 ) * ( B30 + B23 + B13 ) ) − (2 B23 * K 23 ) ) Ec. (117)

S 0 ⇒ e = ((( K 20 + K 12 + K 23 ) * ( K 30 + K 23 + K 13 ) ) − ( K 23 * K 23 ) ) Ec. (118)

91
Determinante de Kramer para salida de nodo 2: (Numerador de la función de transferencia para salida nodo 2)

S 2 M10 + S (B10 + B12 + B13 ) + (K10 + K12 + K13 ) f (s) S (−B13 ) − K13 
 
 S (−B12 ) − K12 0 S(−B23 ) − K 23 
 S (− B ) − K 0 S 2
M + S ( B + B + B ) + ( K + K + K )
 13 13 30 30 23 13 30 23 13 

∆ 2 = as 3 + bs 2 + cs + d Ec. (119)

Coeficientes del determinante de Kramer:


S 3 ⇒ a = ( M 30 * B12 ) Ec. (120)

S 2 ⇒ b = (( B12 * ( B30 + B23 + B13 )) + ( M 30 * K 12 ) + ( B13 * B23 )) Ec. (121)

S 1 ⇒ c = (( B12 * ( K 30 + K 23 + K 13 )) + ( K 12 * ( B30 + B23 + B13 )) + (( B13 * K 23 ) + ( B23 * K 13 ))) Ec. (122)

S 0 ⇒ d = (( K 12 * ( K 30 + K 23 + K 13 )) + ( K 13 * K 23 ) Ec. (123)

Determinante de kramer para salida de nodo 3: (Numerador de la función de transferencia para salida nodo 3)

S 2M10 + S(B10 + B12 + B13) + (K10 + K12 + K13) S(−B12) − K12 f (s)
 
 S (−B12 ) − K12 S 2M20 + S (B20 + B12 + B23) + (K20 + K12 + K23) 0 
 S (−B13) − K13 S(−B23) − K23 0 

∆ 3 = as 3 + bs 2 + cs + d Ec. (123)

92
Coeficientes del determinante de Kramer:

S 3 ⇒ a = ( M 20 * B13 ) Ec. (124)

S 2 ⇒ b = (( B12 * B23 ) + ( M 20 * K 13 ) + ( B13 * ( B20 + B12 + B23 ))) Ec. (125)

S 1 ⇒ c = (( B12 * K 23 ) + ( K 12 * B23 ) + ( K 13 * ( B20 + B12 + B23 )) + ( B13 * ( K 20 + K 12 + K 23 ))) Ec. (126)

S 0 ⇒ d = (( K 13 * K 23 ) + ( K 13 * ( K 20 + K 12 + K 23 ))) Ec. (127)

Aplicando la ecuación (82) se obtienen las siguientes funciones de transferencia:

Nodo Uno:

• Determinante del sistema de la forma As6+Bs5+Cs4+Ds3+Es2+Fs+G


• Determinante de Kramer de la forma as 4 + bs 3 + cs 2 + ds + e

as 4 + bs 3 + cs 2 + ds + e
• G =
Función de transferencia ( S ) As 6 + Bs 5 + Cs 4 + Ds 3 + Es 2 + Fs + G Ec. (128)

Coeficientes Del Numerador:


S 4 ⇒ a = (M 20 * M 30 ) Ec. (129)

S 3 ⇒ b = ((M 20 * ( B30 + B23 + B13 ) ) + (M 30 * ( B20 + B12 + B23 ) )) Ec. (130)

93
S 2 ⇒ c = ((M 20 * ( K 30 + K 23 + K 13 ) ) + ((M 30 * ( K 20 + K 12 + K 23 ) )) + (( B20 + B12 + B23 ) * ( B30 + B23 + B13 ) ) − ( B23 * B23 ) ) Ec. (131)

S 1 ⇒ d = ((( B20 + B12 + B23 ) * ( K 30 + K 23 + K 13 ) + (( K 20 + K 12 + K 23 ) * ( B30 + B23 + B13 ) ) − (2 B23 * K 23 ) ) Ec. (132)

S 0 ⇒ e = ((( K 20 + K 12 + K 23 ) * ( K 30 + K 23 + K 13 ) ) − ( K 23 * K 23 ) ) Ec. (133)

Coeficientes Del Denominador:


S 6 ⇒ A = (M 10 * M 20 * M 30 ) Ec. (134)

S 5 ⇒ B = (((M 10 * M 20 ) * ( B30 + B23 + B13 )) + (( M 10 * M 30 ) * ( B20 + B12 + B23 )) + (( M 20 * M 30 ) * ( B10 + B12 + B13 ))) Ec. (135)

S 4 ⇒ C = (((( M 10 * M 20 ) * ( K 30 + K 23 + K 13 )) + (( M 10 * (( B20 + B12 + B23 ) * ( B30 + B23 + B13 ))) + (( M 10 * M 30 ) + ( K 20 + K 12 + K 23 )) −


2
( M 10 * B23 ) * (( M 20 ) * (( B30 + B23 + B13 ) * ( B10 + B12 + B13 ))) + (( M 30 ) * ( B20 + B12 + B23 ) * ( B10 + B12 + B13 ))) + (( M 20 * M 30 ) * ( K 10 +
2 2
K 12 + K 13 ))) − ( M 30 * B12 ) − ( M 20 * B13 ))
Ec. (136)

S 3 ⇒ D = ((( M 10 * ( B20 + B12 + B23 ) * ( K 30 + K 23 + K 13 )) + ( M 10 * ( K 20 + K 12 + K 23 ) * ( B30 + B23 + B13 )) − (2 * M 10 * B23 * K 23 ) +


( M 20 * ( K 30 + K 23 + K 13 ) * ( B10 + B12 + B13 )) + (( B10 + B12 + B13 ) * ( B20 + B12 + B23 ) * ( B30 + B23 + B13 )) + ( M 30 * ( K 20 + K 12 + K 23 ) *
2
( B10 + B12 + B13 )) − (( B23 ) * ( B10 + B12 + B13 )) + ( M 20 * ( B30 + B23 + B13 ) * ( K 10 + K 12 + K 13 )) + ( M 30 * ( B20 + B12 + B23 ) * ( K 10 + K 12 +
2 2
K 13 ))) − ((( B12 ) * ( B30 + B23 + B13 )) + (( M 30 * K 12 * B12 ) + ( B12 * B13 * B23 )) + ( M 30 * B12 * K 12 )) − ((( B13 ) * ( B20 + B12 + B23 )) + ( M 20 *
K 13 * B13 ) + ( B12 * B13 + B23 ) + ( B13 * K 13 + M 20 )))
Ec. (137)

94
S 2 ⇒ E = [(( M 10 * ( K 30 + K 23 + K 13 ) * ( K 20 + K 23 + K 12 )) − ( M 10 * K 23 * K 23 ) + (( B10 + B12 + B13 ) * ( K 30 + K 23 + K 13 ) * ( B20 + B12 + B23 )) +
(( K 20 + K 12 + K 23 ) * ( B30 + B23 + B13 ) * ( B10 + B12 + B13 )) − ((2 * B23 * K 23 ) * ( B10 + B12 + B13 )) + ( M 20 * ( K 30 + K 23 + K 13 ) * ( K 10 + K 12 +
K 13 )) + (( B20 + B12 + B23 ) * ( B30 + B23 + B13 ) * ( K 10 + K 12 + K 13 )) + ( M 30 * ( K 20 + K 12 + K 23 ) * ( K 10 + K 12 + K 13 )) − (( K 10 + K 12 + K 13 ) *
2
B23 * B23 )) − ((( B12 ) * ( K 30 + K 23 + K 13 )) + (( B12 * K 12 ) * ( B30 + B23 + B13 )) + (( B12 * B13 * K 23 ) + ( B12 * B23 * K 13 )) + (( B12 * K 12 ) *
2 2
( B30 + B23 + B13 )) + ( M 30 * K 12 ) + ( B13 * B23 * K 12 )) − ((( B13 * B12 * K 23 ) + ( B13 * B23 * K 12 )) + (( B13 ) * ( K 20 + K 12 + K 23 )) + (( B13 *
K 13 ) * ( B20 + B12 + B23 )) + ( B12 * B23 * K 13 ) + ( M 20 * K 13 * K 13 ) + (( B20 + B12 + B23 ) * ( B13 * K 13 )))]
Ec. (138)

S 1 ⇒ F = [((( B10 + B12 + B13 ) * ( K 20 + K 12 + K 23 ) * ( K 30 + K 23 + K 13 )) − (( B10 + B12 + B13 ) * ( K 23 * K 23 )) + (( K 30 + K 23 + K 13 ) * ( K 10 +


K 12 + K 13 ) * ( B20 * B12 * B23 )) + (( K 20 + K 12 + K 23 ) * ( K 10 + K 12 + K 13 ) * ( B30 + B23 + B13 )) − ((2 * B23 * K 23 ) * ( K 10 + K 12 + K 13 ))) −
((( K 12 * B12 * ( K 30 + K 23 + K 13 ))) + ( B12 * K 23 * K 13 ) + ( B12 ∗ K 12 * ( K 30 + K 23 + K 13 )) + (( K 12 ∗ K 12 ) * ( B30 + B23 + B13 )) + ( K 13 * K 12 *
B23 ) + ( K 23 * B13 * K 12 )) − (( K 12 * K 23 * B13 ) + (( K 20 + K 12 + K 23 ) * ( K 13 + B13 )) + ( B12 * K 23 * K 13 ) + ( K 12 * B23 * K 13 ) + (( B20 + B12 + B23 ) *
( K 13 * K 13 )) + ( K 20 + K 12 + K 23 ) * ( B13 * K 13 )))]
Ec. (139)

S 0 = G = [((( K 10 + K 12 + K 13 ) * ( K 30 + K 23 + K 13 ) * ( K 20 + K 12 + K 23 )) − (( K 10 + K 12 + K 13 ) * ( K 23 * K 23 ))) − ((( K 12 * K 12 ) * ( K 30 +


K 23 + K 13 )) + ( K 12 * K 23 * K 13 )) − (( K 12 * K 23 * K 13 ) + (( K 20 + K 12 + K 23 ) * ( K 13 * K 13 )))]
Ec. (140)

Nodo Dos:

• Determinante del sistema de la forma As6+Bs5+Cs4+Ds3+Es2+Fs+G


• Determinante de Kramer de la forma as3+bs2+cs+d

95
as 3 + bs 2 + cs + d
• G =
Función de transferencia ( S ) As 6 + Bs 5 + Cs 4 + Ds 3 + Es 2 + Fs + G Ec. (141)

Coeficientes Del Numerador:


S 3 ⇒ a = ( M 30 * B12 ) Ec. (142)

S 2 ⇒ b = (( B12 * ( B30 + B23 + B13 )) + ( M 30 * K 12 ) + ( B13 * B23 )) Ec. (143)

S 1 ⇒ c = (( B12 * ( K 30 + K 23 + K 13 )) + ( K 12 * ( B30 + B23 + B13 )) + (( B13 * K 23 ) + ( B23 * K 13 ))) Ec. (144)

S 0 ⇒ d = (( K 12 * ( K 30 + K 23 + K 13 )) + ( K 13 * K 23 ) Ec. (145)

Coeficientes Del Denominador:


S 6 ⇒ A = (M 10 * M 20 * M 30 ) Ec. (146)

S 5 ⇒ B = (((M 10 * M 20 ) * ( B30 + B23 + B13 )) + (( M 10 * M 30 ) * ( B20 + B12 + B23 )) + (( M 20 * M 30 ) * ( B10 + B12 + B13 ))) Ec. (147)

S 4 ⇒ C = (((( M 10 * M 20 ) * ( K 30 + K 23 + K 13 )) + (( M 10 * (( B20 + B12 + B23 ) * ( B30 + B23 + B13 ))) + (( M 10 * M 30 ) + ( K 20 + K 12 + K 23 )) −


2
( M 10 * B23 ) * (( M 20 ) * (( B30 + B23 + B13 ) * ( B10 + B12 + B13 ))) + (( M 30 ) * ( B20 + B12 + B23 ) * ( B10 + B12 + B13 ))) + (( M 20 * M 30 ) * ( K 10 +
2 2
K 12 + K 13 ))) − ( M 30 * B12 ) − ( M 20 * B13 ))
Ec. (148)

96
S 3 ⇒ D = ((( M 10 * ( B20 + B12 + B23 ) * ( K 30 + K 23 + K 13 )) + ( M 10 * ( K 20 + K 12 + K 23 ) * ( B30 + B23 + B13 )) − (2 * M 10 * B23 * K 23 ) + ( M 20
* ( K 30 + K 23 + K 13 ) * ( B10 + B12 + B13 )) + (( B10 + B12 + B13 ) * ( B20 + B12 + B23 ) * ( B30 + B23 + B13 )) + ( M 30 * ( K 20 + K 12 + K 23 ) * ( B10 +
2
B12 + B13 )) − (( B23 ) * ( B10 + B12 + B13 )) + ( M 20 * ( B30 + B23 + B13 ) * ( K 10 + K 12 + K 13 )) + ( M 30 * ( B20 + B12 + B23 ) * ( K 10 + K 12 + K 13 ))) −
2 2
((( B12 ) * ( B30 + B23 + B13 )) + (( M 30 * K 12 * B12 ) + ( B12 * B13 * B23 )) + ( M 30 * B12 * K 12 )) − ((( B13 ) * ( B20 + B12 + B23 )) + ( M 20 * K 13 * B13 ) +
( B12 * B13 + B23 ) + ( B13 * K 13 + M 20 )))
Ec. (149)

S 2 ⇒ E = [((M 10 * ( K 30 + K 23 + K 13 ) * ( K 20 + K 23 + K 12 )) − ( M 10 * K 23 * K 23 ) + (( B10 + B12 + B13 ) * ( K 30 + K 23 + K 13 ) * ( B20 + B12 + B23 )) +


(( K 20 + K 12 + K 23 ) * ( B30 + B23 + B13 ) * ( B10 + B12 + B13 )) − ((2 * B23 * K 23 ) * ( B10 + B12 + B13 )) + ( M 20 * ( K 30 + K 23 + K 13 ) * ( K 10 + K 12 +
K 13 )) + (( B20 + B12 + B23 ) * ( B30 + B23 + B13 ) * ( K 10 + K 12 + K 13 )) + ( M 30 * ( K 20 + K 12 + K 23 ) * ( K 10 + K 12 + K 13 )) − (( K 10 + K 12 + K 13 ) *
2
B23 * B23 )) − ((( B12 ) * ( K 30 + K 23 + K 13 )) + (( B12 * K 12 ) * ( B30 + B23 + B13 )) + (( B12 * B13 * K 23 ) + ( B12 * B23 * K 13 )) + (( B12 * K 12 ) *
2 2
( B30 + B23 + B13 )) + ( M 30 * K 12 ) + ( B13 * B23 * K 12 )) − ((( B13 * B12 * K 23 ) + ( B13 * B23 * K 12 )) + (( B13 ) * ( K 20 + K 12 + K 23 )) + (( B13 *
K 13 ) * ( B20 + B12 + B23 )) + ( B12 * B23 * K 13 ) + ( M 20 * K 13 * K 13 ) + (( B20 + B12 + B23 ) * ( B13 * K 13 )))]
Ec. (150)

S 1 ⇒ F = [((( B10 + B12 + B13 ) * ( K 20 + K 12 + K 23 ) * ( K 30 + K 23 + K 13 )) − (( B10 + B12 + B13 ) * ( K 23 * K 23 )) + (( K 30 + K 23 + K 13 ) * ( K 10 +


K 12 + K 13 ) * ( B20 * B12 * B23 )) + (( K 20 + K 12 + K 23 ) * ( K 10 + K 12 + K 13 ) * ( B30 + B23 + B13 )) − ((2 * B23 * K 23 ) * ( K 10 + K 12 + K 13 ))) −
((( K 12 * B12 * ( K 30 + K 23 + K 13 ))) + ( B12 * K 23 * K 13 ) + ( B12 ∗ K 12 * ( K 30 + K 23 + K 13 )) + (( K 12 ∗ K 12 ) * ( B30 + B23 + B13 )) + ( K 13 * K 12 *
B23 ) + ( K 23 * B13 * K 12 )) − (( K 12 * K 23 * B13 ) + (( K 20 + K 12 + K 23 ) * ( K 13 + B13 )) + ( B12 * K 23 * K 13 ) + ( K 12 * B23 * K 13 ) + (( B20 + B12 +
B23 ) * ( K 13 * K 13 )) + ( K 20 + K 12 + K 23 ) * ( B13 * K 13 )))]
Ec. (151)

97
S 0 ⇒ G = [((( K 10 + K 12 + K 13 ) * ( K 30 + K 23 + K 13 ) * ( K 20 + K 12 + K 23 )) − (( K 10 + K 12 + K 13 ) * ( K 23 * K 23 ))) − ((( K 12 * K 12 ) * ( K 30 +
K 23 + K 13 )) + ( K 12 * K 23 * K 13 )) − (( K 12 * K 23 * K 13 ) + (( K 20 + K 12 + K 23 ) * ( K 13 * K 13 )))]
Ec. (152)
Nodo Tres:

• Determinante del sistema de la forma As6+Bs5+Cs4+Ds3+Es2+Fs+G


• Determinante de Kramer de la forma as3+bs2+cs+d

as 3 + bs 2 + cs + d
• Función de transferencia : G( S ) = Ec. (153)
As 6 + Bs 5 + Cs 4 + Ds 3 + Es 2 + Fs + G

Coeficientes Del Numerador:


S 3 ⇒ a = ( M 20 * B13 ) Ec. (154)

S 2 ⇒ b = (( B12 * B23 ) + ( M 20 * K 13 ) + ( B13 * ( B20 + B12 + B23 ))) Ec. (155)

S 1 ⇒ c = (( B12 * K 23 ) + ( K 12 * B23 ) + ( K 13 * ( B20 + B12 + B23 )) + ( B13 * ( K 20 + K 12 + K 23 ))) Ec. (156)

S 0 ⇒ d = (( K 13 * K 23 ) + ( K 13 * ( K 20 + K 12 + K 23 ))) Ec. (157)

Coeficientes Del Denominador:


S 6 ⇒ A = (M 10 * M 20 * M 30 ) Ec. (158)

98
S 5 ⇒ B = (((M 10 * M 20 ) * ( B30 + B23 + B13 )) + (( M 10 * M 30 ) * ( B20 + B12 + B23 )) + (( M 20 * M 30 ) * ( B10 + B12 + B13 ))) Ec. (159)

S 4 ⇒ C = (((( M 10 * M 20 ) * ( K 30 + K 23 + K 13 )) + (( M 10 * (( B20 + B12 + B23 ) * ( B30 + B23 + B13 ))) + (( M 10 * M 30 ) + ( K 20 + K 12 + K 23 ))


2
− ( M 10 * B23 ) * (( M 20 ) * (( B30 + B23 + B13 ) * ( B10 + B12 + B13 ))) + (( M 30 ) * ( B20 + B12 + B23 ) * ( B10 + B12 + B13 ))) + (( M 20 * M 30 ) *
2 2
( K 10 + K 12 + K 13 ))) − ( M 30 * B12 ) − ( M 20 * B13 ))
Ec. (160)

S 3 ⇒ D = ((( M 10 * ( B20 + B12 + B23 ) * ( K 30 + K 23 + K 13 )) + ( M 10 * ( K 20 + K 12 + K 23 ) * ( B30 + B23 + B13 )) − (2 * M 10 * B23 * K 23 ) +


( M 20 * ( K 30 + K 23 + K 13 ) * ( B10 + B12 + B13 )) + (( B10 + B12 + B13 ) * ( B20 + B12 + B23 ) * ( B30 + B23 + B13 )) + ( M 30 * ( K 20 + K 12 + K 23 ) *
2
( B10 + B12 + B13 )) − (( B23 ) * ( B10 + B12 + B13 )) + ( M 20 * ( B30 + B23 + B13 ) * ( K 10 + K 12 + K 13 )) + ( M 30 * ( B20 + B12 + B23 ) * ( K 10 + K 12 +
2 2
K 13 ))) − ((( B12 ) * ( B30 + B23 + B13 )) + (( M 30 * K 12 * B12 ) + ( B12 * B13 * B23 )) + ( M 30 * B12 * K 12 )) − ((( B13 ) * ( B20 + B12 + B23 )) + ( M 20 *
K 13 * B13 ) + ( B12 * B13 + B23 ) + ( B13 * K 13 + M 20 )))
Ec. (161)

S 2 ⇒ E = [((M 10 * ( K 30 + K 23 + K 13 ) * ( K 20 + K 23 + K 12 )) − ( M 10 * K 23 * K 23 ) + (( B10 + B12 + B13 ) * ( K 30 + K 23 + K 13 ) * ( B20 + B12 + B23 )) +


(( K 20 + K 12 + K 23 ) * ( B30 + B23 + B13 ) * ( B10 + B12 + B13 )) − ((2 * B23 * K 23 ) * ( B10 + B12 + B13 )) + ( M 20 * ( K 30 + K 23 + K 13 ) * ( K 10 + K 12 +
K 13 )) + (( B20 + B12 + B23 ) * ( B30 + B23 + B13 ) * ( K 10 + K 12 + K 13 )) + ( M 30 * ( K 20 + K 12 + K 23 ) * ( K 10 + K 12 + K 13 )) − (( K 10 + K 12 + K 13 ) *
2
B23 * B23 )) − ((( B12 ) * ( K 30 + K 23 + K 13 )) + (( B12 * K 12 ) * ( B30 + B23 + B13 )) + (( B12 * B13 * K 23 ) + ( B12 * B23 * K 13 )) + (( B12 * K 12 ) *
2 2
( B30 + B23 + B13 )) + ( M 30 * K 12 ) + ( B13 * B23 * K 12 )) − ((( B13 * B12 * K 23 ) + ( B13 * B23 * K 12 )) + (( B13 ) * ( K 20 + K 12 + K 23 )) + (( B13 *
K 13 ) * ( B20 + B12 + B23 )) + ( B12 * B23 * K 13 ) + ( M 20 * K 13 * K 13 ) + (( B20 + B12 + B23 ) * ( B13 * K 13 )))]
Ec. (162)

99
S 1 ⇒ F = [((( B10 + B12 + B13 ) * ( K 20 + K 12 + K 23 ) * ( K 30 + K 23 + K 13 )) − (( B10 + B12 + B13 ) * ( K 23 * K 23 )) + (( K 30 + K 23 + K 13 ) * ( K 10 +
K 12 + K 13 ) * ( B20 * B12 * B23 )) + (( K 20 + K 12 + K 23 ) * ( K 10 + K 12 + K 13 ) * ( B30 + B23 + B13 )) − ((2 * B23 * K 23 ) * ( K 10 + K 12 + K 13 ))) −
((( K 12 * B12 * ( K 30 + K 23 + K 13 ))) + ( B12 * K 23 * K 13 ) + ( B12 ∗ K 12 * ( K 30 + K 23 + K 13 )) + (( K 12 ∗ K 12 ) * ( B30 + B23 + B13 )) + ( K 13 * K 12 *
B23 ) + ( K 23 * B13 * K 12 )) − (( K 12 * K 23 * B13 ) + (( K 20 + K 12 + K 23 ) * ( K 13 + B13 )) + ( B12 * K 23 * K 13 ) + ( K 12 * B23 * K 13 ) + (( B20 + B12 +
B23 ) * ( K 13 * K 13 )) + ( K 20 + K 12 + K 23 ) * ( B13 * K 13 )))]
Ec. (163)

S 0 ⇒ G = [((( K 10 + K 12 + K 13 ) * ( K 30 + K 23 + K 13 ) * ( K 20 + K 12 + K 23 )) − (( K 10 + K 12 + K 13 ) * ( K 23 * K 23 ))) − ((( K 12 * K 12 ) * ( K 30 +


K 23 + K 13 )) + ( K 12 * K 23 * K 13 )) − (( K 12 * K 23 * K 13 ) + (( K 20 + K 12 + K 23 ) * ( K 13 * K 13 )))]
Ec. (164)

Los procedimientos anteriormente mostrados, corresponden al proceso para obtener la función de transferencia
para circuitos de uno, dos y tres nodos. Estas ecuaciones son las que serán programadas en el software para
obtener los resultados deseados. (Anexo B).

A continuación se hará una relación de los resultados obtenidos:

Sistema de un nodo
• Función de transferencia: Ecuación (74)

Sistema de dos nodos:


• Nodo 1: Función de transferencia: Ecuación (83)

100
• Nodo 2: Función de transferencia: Ecuación (91)

Sistema de tres nodos:


• Nodo 1: Función de transferencia: Ecuación (128)
• Nodo 2: Función de transferencia: Ecuación (141)
• Nodo 3: Función de transferencia: Ecuación (155)

8.5.2. Codificación de la Función de Transferencia en JAVA. La codificación de


la Función de Transferencia para su ejecución en JAVA, se llevo a cabo, primero,
instanciando las variables de cada uno de los elementos del sistema (masa,
resorte, amortiguador).

double M10, M20, M30, B10, B20, B30, B12, B13, B23, K10, K20, K30, K12, K13, K23;

Luego el programa hace lectura de los archivos en los que están contenidos los
valores de cada uno de los elementos por medio de un “buffer” de lectura de JAVA
que se instanció en una de las clases del programa. En la Figura 37 se puede
observar la clase en la que se encuentra instanciado el método de lectura de los
archivos de los valores de cada elemento.

Figura 37. Clase método de lectura de archivos

Fuente: NetBeans IDE 6.0.1

En la Figura 38 se visualiza la forma de invocar al método para la lectura de los


archivos correspondientes a los valores de cada elemento.

101
Figura 38. Método de lectura de valores de cada elemento

Fuente: NetBeans IDE 6.0.1

Ya que los valores que se leen son de tipo cadena de caracteres (“String”), se crea
una clase que realiza la conversión de los tipos de datos, en este caso la
conversión es de: carácter a número con punto decimal (“double”) y viceversa,
para que JAVA lo pueda capturar y realizar operaciones matemáticas.

En la Figura 39 se observa la clase en la que se realiza la conversión de tipos de


datos explicada anteriormente.

Figura 39. Clase conexión de datos

Fuente: NetBeans IDE 6.0.1

102
En la Figura 40 se observa la clase en la que se llama al método para la
conversión las cadenas de caracteres (“String”) a tipo de dato numérico de punto
decimal (“Double”) y numérico entero (“Int”) de los archivos de los valores de cada
elemento.

Figura 40. Invocar al método conversión de caracteres

Fuente: NetBeans IDE 6.0.1

El procedimiento para saber cuantos nodos tiene el sistema (1, 2 o 3 nodos) es


utilizar ciclos de comparación; las ecuaciones se programan de tal manera que
correspondan a cada uno de los casos, igual a como se hace en MATLAB. La
estructura de programación de las ecuaciones de cada uno de los coeficientes del
numerador y del denominador para el cálculo de la función de transferencia, se
puede observar en la Figura 41.

103
Figura 41. Estructura de programación de las ecuaciones

Fuente: NetBeans IDE 6.0.1

En cuanto a la impresión de los resultados, en este caso, lo que se hace es la


conversión de datos, esta vez de tipo numérico de punto decimal a tipo carácter
para imprimirlo con el sistema de impresión de texto de JAVA y concatenar cada
una de las variables donde se almacenaron los coeficientes de los polinomios de
la función de transferencia con los términos de s^6, s^5, s^4, etc, tanto para el
numerador y el denominador (Anexo B).

En la Figura 42 se observa como es la impresión de los datos de la función de


transferencia.

Figura 42. Impresión de datos de la función de trasnferencia

Fuente: NetBeans IDE 6.0.1

104
8.5.3. Curvas De Respuesta. A partir del análisis que se realizó para obtener la
función de transferencia, se pueden determinar las curvas de respuesta del
sistema mediante Matlab. Este procedimiento es posible lograrlo gracias a que la
función de transferencia se obtuvo a partir de los coeficientes del polinomio. Todo
ello debido a que las funciones que utiliza matlab para graficar las curvas de
respuesta, requieren como parámetros los coeficientes del numerador y
denominador.

Las gráficas de respuesta en el tiempo que se podrán observar en el software


propuesto, serán obtenidas a partir de entradas: escalón, rampa, senoidal y
exponencial.

♦ Escalón. En la Figura 43 se muestra la gráfica de la función escalón, la cual se


puede entender como una señal on – off, o activo – inactivo.

Figura 43. Función escalón

Fuente: El autor

A
• Transformada de Laplace: Ec. (165)
S

Esta función en matlab está representada por el comando step. Es decir, si se


desea obtener la gráfica de respuesta de un sistema a una entrada escalón, es
necesario dar la instrucción step y asignarle como parámetros los coeficientes
del numerador y denominador de la función de transferencia. Esto se puede
resumir en las siguientes líneas de código:

105
num=[1 0];
den=[1 5 6];
step(num,den);

Donde num y den corresponden al numerador y denominador de la función de


transferencia, respectivamente.

La forma de definir estos parámetros, es a partir de sus coeficientes. Es decir,


si la función de transferencia es la siguiente:

S
• G( S ) = 2
Ec. (166)
S + 5S + 6

Significa que los coeficientes del numerador serán [1 0], y los coeficientes del
denominador serán [1 5 6], tal como se muestra en las líneas de código de
ejemplo.

Por otra parte, si el escalón no es unitario, se podrá definir la amplitud del


mismo, multiplicando el numerador por la amplitud deseada.

step(A*num,den);

En el Anexo D se puede observar el programa que grafica la respuesta en el


tiempo a partir de una entrada escalón. Este programa, al igual que los demás
realizados en matlab, reciben como parámetros la cantidad de nodos del
sistema, el nodo donde se desea visualizar la simulación, una constante
requerida para la entrada, y los datos correspondientes a masas,
amortiguadores y resortes. Para este caso, la constante requerida para la
entrada corresponde a la amplitud del escalón. Es importante mencionarlo,
puesto que para los demás programas no simboliza lo mismo, sin embargo
esto será explicado para cada programa más adelante.

106
Estos parámetros serán tomados de archivos de texto temporales, que serán
escritos por java, desde la interfaz gráfica. Una vez estén cargados los datos
con la función load, el programa entrará a operar las ecuaciones que designan
cada coeficiente del numerador y denominador, puesto que cada coeficiente
está en términos de masa, amortiguador y resorte. Terminado este proceso el
denominador y numerador de la función de transferencia quedarán de la
siguiente forma:

Denominador= [DS6 DS5 DS4 DS3 DS2 DS1 DS0]


Numerador=[NS4 NS3 NS2 NS1 NS0]

Finalmente el procedimiento que se lleva a cabo, es dar la instrucción step. De


esta forma matlab toma la función de transferencia y grafica la respuesta en el
tiempo a una entrada escalón.

Para las demás entradas, exponencial, senoidal y rampa, el procedimiento de


los coeficientes del numerador y denominador es el mismo. Para obtener las
gráficas de respuesta a partir de estas entradas, matlab cuenta con el
comando lsim; el inconveniente de este comando es la escala con que la
gráfica es mostrada; no permite que la respuesta sea apreciada de forma
óptima y resulta necesario definir el intervalo de tiempo en el que se desea
observar la respuesta, cada vez que se desea graficar. Dado que la función de
transferencia se obtuvo del análisis matemático y las entradas con las que se
desea visualizar las respuestas se conocen, el procedimiento que se realiza es
multiplicar la función de transferencia con la transformada de Laplace de cada
una de las entradas, es decir, obtener la salida en el plano S. Lo que indica que
se obtuvieron tres programas en total para cada análisis. Uno para entrada
exponencial, otro para rampa y otro para senoidal. Una vez se logran los
resultados de las tres multiplicaciones, cada programa cuenta con una función
de transferencia nueva. Finalmente para obtener las curvas de repuesta a las

107
diferentes entradas, solo fue necesario implementar la instrucción impulse a
cada programa, es decir, cada programa finalmente mostrará gráficas de
respuesta con una entrada impulso. Esto se debe a que la función impulso no
afecta el grado de la función de transferencia en el momento de asignarlo
como entrada. Para entender lo anterior de una mejor manera tome en cuenta
el siguiente ejemplo:

S
Se tiene la siguiente función de transferencia G( S ) = 2
y se desea
S + 5S + 6
obtener la grafica de respuesta a la entrada rampa.

k
Función Rampa: E(t)=Kt ⇒ T. de laplace E(s)=
S2

Y ( s) Salida
G( s) = =
E ( s ) Entrada
Y (s) = G( s) * E ( s)
kS k
Y (s) = 4 3 2
* 2
S + 5S 6 S S

Obtención de curva de respuesta en matlab:

num=[1 0];
den=[1 5 6];
impulse(k*num,den);

El procedimiento para obtener las entradas restantes, senoidal y exponencial


será el mismo.

♦ Rampa. En la Figura 44 se muestra la gráfica y la ecuación de la función


rampa.

108
Figura 44. Función rampa

Fuente: El autor

K
• Transformada de laplace: Ec. (167)
S2

♦ Senoidal. En la Figura 45 se muestra la gráfica y la ecuación de la función


senoidal.

Figura 45. Función senoidal

Y (t ) = sen(ω.t )

Fuente: El autor

ω
• Transformada de laplace: 2
Ec. (168)
S +ω

♦ Exponencial. En la Figura 46 se muestra la gráfica y la ecuación de la función


exponencial decreciente y en la Figura 47 se muestra la gráfica y la ecuación
de la función exponencial creciente.

109
Figura 46. Función exponencial

y (t ) = e − at

Fuente: El autor

1
• Transformada de laplace: Ec. (169)
S+a

Figura 47. Función exponencial

y (t ) = e at

Fuente: El Autor

1
• Transformada de laplace: Ec. (170)
S −a

Por otra parte es importante mencionar, que a pesar de utilizar matlab en el


desarrollo del software, no es necesario depender de dicho programa en la
máquina donde se desee utilizar el proyecto. Esto se debe a que matlab ofrece
facilidades de crear ejecutables o aplicaciones independientes, (stand alone). El
procedimiento a seguir se explicará detalladamente a continuación:

110
Lo primero que se hace, es tener el programa al que se le desea crear el
ejecutable, definido como una función, esto quiere decir que si el programa tiene
por nombre ARCHIVO.m, el programa deberá estar encabezado por la siguiente
instrucción:
Function ARCHIVO

Una vez guardado el programa con la extensión, en el entorno de matlab,


command window, como se observa en la Figura 48, se ejecuta el compilador que
posee este software de la siguiente forma:

>> mbuild –setup %compilador de matlab

Figura 48. Entorno de Matlab – ejecutar compilador

Fuente: Matlab 2007b

La anterior instrucción es para ejecutar el compilador con el que se creará el


ejecutable. En el caso que en la máquina exista un compilador diferente del de
matlab, este software dará la opción de escoger entre el compilador de matlab y el
que se encuentre instalado en el PC. En el momento de ejecutar la instrucción del

111
compilador aparecerán los resultados mostrados en la Figura 49. En esta opción
se seleccionará “y”, para confirmar la instalación del compilador.

Figura 49. Entorno de Matlab – seleccionar compilador

Fuente: Matlab 2007b

Posteriormente, matlab pide seleccionar entre los posibles compiladores


existentes en la maquina:

[1] Lcc-win32 C 2.4.1 in C:\ARCHIV~1\MATLAB\R2007b\sys\lcc


[0] None

En este caso se cuenta únicamente con el de matlab, por lo tanto se selecciona la


opción 1.

El paso siguiente consiste en confirmar la ubicación e instalación del compilador,


como se observa en la Figura 50, es decir, en la última pregunta se selecciona “y”.
De esta forma el procedimiento de instalación del compilador quedará terminado.
Una vez ejecutado el proceso anterior, no es necesario volver a realizarlo de
nuevo. Ahora ya se pueden crear las aplicaciones independientes en matlab.

112
Figura 50. Entorno de Matlab – confirmar selección del compilador

Fuente: Matlab 2007b

El procedimiento para crear dichas aplicaciones o ejecutables es la siguiente: Para


explicar la creación del ejecutable se tomó como base un programa cuyo nombre
es RestStep. En el command window como el que se observa en la Figura 51, se
escribe la siguiente instrucción mcc mv - RespStep.m

Figura 51. Entorno de Matlab – crear ejecutable

Fuente: Matlab 2007b

113
Este procedimiento tardará unos minutos dependiendo de lo extenso que puede
resultar el programa. Finalmente matlab creará archivos de texto entre otros. Sin
embargo lo realmente importante será un archivo.exe y otro archivo.ctf.

Estos archivos son los que deben ser copiados a la máquina sin matlab, donde se
quiere utilizar el ejecutable. Para que este ejecutable funcione debe instalarse un
archivo de matlab llamado MCR installer, MATLAB COMPONENT RUNTIME en la
máquina que no tiene matlab. Matworks, dueño de los derechos de matlab permite
crear estas aplicaciones sin ningún problema, y costo, ya que son de uso libre.

El archivo MCR installer, se extrae de la siguiente ruta: C:\Archivos de


programa\MATLAB\R2007b\toolbox\compiler\deploy\win32.

A manera de ejemplo si queremos hacer el ejecutable de un archivo.m llamado


ejecutable, los archivos que serán llevados a la maquina sin matlab son los que
aparecen en la Figura 52:

Figura 52. Iconos de archivos para el funcionamiento del ejecutable

Fuente: Matlab 2007b

Una vez se copien estos archivos en la máquina, se ejecuta el MCR installer, y los
ejecutables ya quedarán listos para usarse.

8.5.4. Respuesta en frecuencia y estabilidad. Para el desarrollo de la parte


analítica de respuesta en frecuencia y estabilidad se tendrán en cuenta los
diagramas de Bode, Nyquist y lugar geométrico de las raíces. Este último para el
caso de estabilidad.

114
Anteriormente se explicó el procedimiento para obtener las curvas de respuesta,
para este caso el análisis y desarrollo se obtendrán de la misma forma. Es decir,
se tomará la función de transferencia en términos de vector y se graficará en
matlab de la siguiente forma:

• Diagramas de Bode:
Numerador=[S6 S5 S4 S3 S2 S1 S0]
Denominador=[S5 S4 S3 S2 S1 S0]
bode (Numerador, denominador)

• Diagramas de Nyquist:
Numerador=[S6 S5 S4 S3 S2 S1 S0]
Denominador=[S5 S4 S3 S2 S1 S0]
nyquist (Numerador, denominador)

• Lugar Geométrico De Las Raíces:


Numerador=[S6 S5 S4 S3 S2 S1 S0]
Denominador=[S5 S4 S3 S2 S1 S0]
rlocus (Numerador, denominador)

Por último se realizará un ejecutable por cada análisis, es decir, se creará un


ejecutable para el diagrama de Bode, uno para el diagrama Nyquist y otro para
lugar geométrico de las raíces.

8.5.5. Matlab y java. El diseño de la interfaz de usuario fue realizado en java, por
esto fue necesario encontrar la forma de comunicar ésta con matlab, para que
interactuaran.

Uno de los principales problemas es enviarle parámetros a matlab desde java. Es


decir, como lograr que matlab reconozca los valores que se le asignaron a los

115
elementos que conforman los sistemas mecánicos de traslación, en java. Se opto
por la siguiente implementación:

Matlab posee una herramienta que permite guardar y cargar archivos de extensión
dat, mat, o ASCII, es decir, archivos de texto. Por ello en el momento en que el
usuario asigne los valores desde la interfaz gráfica, estos se escribirán en archivos
de texto temporales, que serán leídos por matlab. Suponga que en la carpeta work
de matlab, se tiene un archivo de texto llamado M10.txt, y dentro de este archivo
está escrito el número 50. La forma de recuperar este número desde matlab se
puede expresar como se observa en la Figura 53 a partir de la siguiente
instrucción:

A=load (‘M10.txt’);

Figura 53. Recuperar archivos desde Matlab

Fuente: Matlab 2007b

Con la instrucción load, matlab cargará el número cincuenta en la variable A, y así


se podrá hacer uso de este valor.

116
8.5.6. Programa para la creación de un instalador para el software de
simulación DSM.

♦ CreateInstall Free. Es un programa que permite la creación de instaladores.


Los archivos que forman parte del programa principal se compactan en uno
solo archivo que es el instalador, es fácil de instalar e incluye varias opciones.
Usted puede crear archivo auto-descomprimibles (self-extracting), mostrar
archivos de licencia, ejecutar su aplicación, hacer un archivo de desinstalación,
escribir en registro, escribir archivos a otras direcciones, y crear un menú de
programa en el menú inicio y también el acceso directo.

CreateInstall Free es un programa muy simple y muy fácil de usar. El propósito


del programa es crear un programa de instalación auto descomprimible de alta
calidad para las aplicaciones que requiera el usuario.

Los paquetes de instalación que se creen con “CreateInstall Free” pueden ser
distribuidos de cualquier forma que se desee (DVD, CD, USB, www, etc)17

♦ Procedimiento para la creación del Instalador de DSM. Para crear un


instalador haciendo uso del programa, es necesario desarrollar los siguientes
pasos:

1. Abrir el programa “CreateInstall Free” desde el acceso directo en el


escritorio como se muestra a continuación en la Figura 54, o desde el menú
inicio, programas, se abre el grupo “CreateInstall Free”, y click sobre
“CreateInstall Free”.

17
Ayuda del programa CreateInstall Free , “Introduction”

117
Figura 54. Icono software CreateInstall Free

Fuente: El autor

2. Aparecerá en su pantalla la ventana del programa y se procede a


seleccionar el icono “Output” resaltado en la Figura 55 y se despliega una
pantalla en donde se escoge la carpeta de salida (Output Folder) del
instalador a crear, el nombre del ejecutable (Setup Executable) y como
parte adicional se puede escoger el icono del archivo instalador a crear
(Setup Icon).

Figura 55. Carpeta de salida para creación del ejecutable

Fuente: El autor

3. Siguiendo el orden de los iconos dispuestos en forma vertical del programa


se da un click en el icono general resaltado en la Figura 56, se despliega la

118
pantalla en donde se introduce el nombre de la aplicación (Aplication name)
y el idioma de la instalación (Setup Language).
Figura 56. Nombre de la aplicación

Fuente: El autor

4. Ahora se da click en el icono “Files” resaltado en la Figura 57; se despliega


la pantalla en donde se introduce el tipo de compresión del archivo
(Compression Type) a crear, luego se ingresa la dirección en donde se
encuentran los archivos que conforman la aplicación (Source Folder) a la
cual se le desea hacer un instalador.

Figura 57. Tipo de compresión del archivo

Fuente: El autor

119
5. Continua con el icono “Shortcuts” en donde se agrega un acceso directo a
la aplicación, para ello primero se da click en el icono “adicionar nuevo
archivo” (Add a new Item) resaltado en la Figura 58, el cual abrirá una
pantalla de diálogo que le pedirá al usuario 1. a cual archivo va dirigido el
acceso directo, 2. en donde se encuentra el icono predefinido para la
aplicación y 3. El nombre del icono.

Figura 58. Adicionar un archivo

Fuente: El autor

6. Luego de escoger el acceso directo del programa, se selecciona el icono


“Run” resaltado en la Figura 59, donde se despliega una pantalla en la que
se agregan todas las aplicaciones que la aplicación principal necesita tener
instaladas para su correcto funcionamiento.

7. Por último, se prosigue a guardar el proyecto en el icono guardar del


programa como se observa en la Figura 60 y se da click en el icono de
crear instalador. El archivo ejecutable del instalador quedará guardado en la
carpeta de salida (Output Folder) mencionada en el numeral 1 y en la
Figura 55 del presente procedimiento.

120
Figura 59. Seleccionar aplicación

Fuente: El autor

Figura 60. Guardar y crear instalador

Guardar Crear Instalador

Fuente: El autor

8.6. VALIDACIONES

Por otra parte es importante mencionar las restricciones con las que cuenta este
software las cuales deben ser tomadas en cuenta en el momento de dar inicio con
la construcción de un sistema y así evitar problemas de validación en el programa.
Las restricciones dadas en el software son las siguientes:

• El sistema no debe tener más de tres nodos

121
Puesto que una de las limitaciones del software consiste en que no se podrá
simular sistemas que contengan más de tres nodos, el programa mostrará una
ventana de diálogo resaltando que la operación no es permitida, en el momento en
que se intente llevar el cuarto nodo a el área de trabajo como se muestra en la
Figura 60.

Figura 60. Exclamación en caso de intentar sacar el cuarto nodo

Fuente: El autor

• El sistema no debe tener más de tres masas como se muestra en la Figura 61.
Figura 61. Exclamación en caso de intentar sacar la cuarta masa

Fuente: El autor

122
Igual que la restricción para los nodos, el software mostrará un cuadro de dialogo
si se intenta poner mas de tres masas.

• Las masas no pueden ir entre nodos. Es decir solo pueden ir a tierra.

Como se mencionó en las pautas de análisis de sistemas dinámicos por


analogías, las masas siempre deben ir conectadas al nodo de referencia del
sistema. Es decir, la masa no se puede conectar entre nodos. Por ello, el software
solo puede dibujar las masas en posición vertical sin importar si la opción de
dibujo se encuentre en horizontal o vertical como se observa en la Figura 62.

Esta disposición se escogió por facilidad de conectar la masa a la tierra. Un punto


importante es el orden que se siga en la conexión, donde primero se deben
conectar los nodos, antes de conectar, las tierras. De lo contrario, el programa
mostrara un cuadro de error de conexión.

Figura 62. Masas dibujadas a tierra sin importar la selección del radiobutton

Fuente: El autor

• Los elementos solo pueden ser conectados por medio de nodos:

123
Esta restricción fue asignada al software con el fin de facilitar la asignación de los
nombres de los elementos. Es por ello que para poder conectar los elementos es
necesario hacerlo por medio de los nodos, tal como se muestra en la Figura 63
.
Figura 63. Conexión permitida

Fuente: El autor

Por esta razón, si se intenta conectar dos elementos directamente, es decir, sin
interponer un nodo en su conexión, el software mostrara una ventana de error la
cual resaltará que la conexión no es permitida, tal como se muestra en la Figura
64.
Figura 64. Conexión no permitida

Fuente: El autor

124
• Los nodos no pueden ir conectados entre sí:

Esta condición se debe a que si hay dos nodos conectados entre si, equivale a
tener un solo nodo. Por ello esta restricción fue impuesta como se muestra en la
Figura 65.
Figura 65. Conexión no permitida

Fuente: El autor

De igual forma, los nodos no pueden ser conectados directamente a la tierra, pues
equivaldría a un corto circuito. Esta restricción se ve remarcada en el software por
un mensaje como se muestra en la Figura 66.

Figura 66. Conexión no permitida

Fuente: El autor

125
• No se puede conectar entre nodos mas de un elemento del mismo tipo

Esta restricción no permite que en el software se conecten elementos del mismo


tipo entre los mismos nodos. Es decir, no se pueden conectar dos resortes entre
los mismos nodos, dos masas, o cualquier tipo de elemento que compone el
software. Por ello, si por ejemplo se tiene un sistema con dos resortes en paralelo,
es necesario realizar su equivalente y poner el resorte resultante en la simulación.
Por tal razón se debe tener en claro esta restricción.

Sin embargo en cualquier caso de intentar este tipo de conexión el software no la


permitirá tal como se muestra en la Figura 67.

Figura 67. Conexión no permitida

Fuente: El autor

A pesar de que la conexión parece haberse llevado a cabo, una vez se le de


aceptar al mensaje de error, la conexión será nula, tal como se observa en la
Figura 68.

126
Figura 68. Conexión eliminada

Fuente: El autor

• La fuente solo puede ser conectada a el nodo uno.

DSM es un software para simular sistemas mecánicos de traslación de máximo


tres nodos y obtener los resultados en cada uno de ellos. Sin embargo tiene una
limitación y es que la fuente solo puede ser colocada en el nodo uno, como se
muestra en la Figura 69. Si el sistema contiene dos o tres nodos y se intenta
poner la fuente en un nodo diferente al número uno, el software mostrará una
ventana restringiendo esta conexión tal como se muestra en la Figura 70.

Figura. 69 Conexión permitida

Fuente: El autor

127
Sin embargo no quiere decir que no se puedan simular ciertos sistemas, pues solo
es cuestión de acomodar el modelo de tal forma que coincida con la
generalización impuesta en el software.

Figura. 70 Conexión no permitida

Fuente: El autor

8.7. SIMULACIÓN Y RESULTADOS

Se tomará como ejemplo un modelo de dos nodos tal como se muestra en la


Figura 71.
Figura. 71 Sistema mecánico traslacional de dos nodos

Fuente: El autor

Valores:
M 10 = 10 Kg
M 20 = 5 Kg Salidas del sistema X1y X2, Entrada F(t) = 10N
N
K 12 = 6 = K 20
m

128
El equivalente electromecánico del sistema de la Figura 71 se muestra en la
Figura.72 .

Figura 72. Sistema de dos nodos

Fuente: El autor

Es necesario asignar el valor a la fuente como se observa en la Figura 73.

Figura 73. Opciones de entrada

Fuente: El autor

129
Como se puede apreciar en dicha figura, aparece un cuadro de diálogo que
permite introducir el tipo de entrada y un valor.

8.8. RESULTADOS

8.8.1. Curvas de respuesta: Las curvas de respuesta en el tiempo se pueden


obtener picando sobre el icono simular. Estas curvas de respuesta dependen de
la entrada que se halla escogido en la fuente, y del nodo donde se desee
visualizar la respuesta. Por ello si se tiene un sistema de dos nodos, en el
momento que se haga clic sobre el icono simular, emergerá una ventana que
permitirá escoger en cual de los dos nodos se desea visualizar la respuesta, tal
como se muestra en la Figura 74. Igualmente para un sistema de tres nodos, se
podrá determinar sobre cual de los tres se desea enfocar el análisis.

Figura 74. Ventana de selección para obtener respuesta en el tiempo

Fuente: El autor

Una vez seleccionado el nodo, se da aceptar sobre la ventana y el programa


comenzará la simulación. El proceso tardara un poco. Finalmente aparecerá la
gráfica de respuesta en el tiempo. La gráfica aparecerá rotulada con la entrada

130
que se le asigno al sistema, y con el nodo en el cual es visualizada la simulación,
tal como se muestra en la Figura 75. En este caso, puesto que se escogió nodo 2,
la grafica debe contener en sus rótulos dicho nodo.

Figura 75. Respuesta en el tiempo entrada escalón

Fuente: El autor

Si se quiere obtener la respuesta en el tiempo con otro tipo de entrada, solo es


necesario hacer clic sobre la fuente y seleccionar según se desee. El proceso
subsecuente será el mismo al realizado en la entrada escalón.

Ahora se repetirá el proceso para obtener la respuesta en el tiempo, tomando


como entrada del sistema la función seno. Como se explicó antes, lo primero que
se debe hacer es seleccionar el tipo de entrada como se muestra en la Figura 76.

131
Figura 76. Selección de entrada seno

Fuente: El autor

Figura 77. Ventana de selección para obtener respuesta en el tiempo

Fuente: El autor

Como se puede observar en la Figura 77, se seleccionó el nodo uno para obtener
la simulación. Por ello, en el rótulo de la gráfica debe aparecer respuesta entrada
seno nodo 1, tal como se muestra en la Figura 78.

132
Figura 78. Respuesta en el tiempo entrada seno

Fuente: El autor

8.8.2. Estabilidad y respuesta en frecuencia. Otro análisis con el que cuenta el


software, es obtener los diagramas de bode, nyquist y lugar geométrico de las
raíces.

Cualquiera de estos tres análisis se puede obtener dando clic sobre el icono
Análisis. Una vez se pique sobre el icono Análisis, el software mostrará una
ventana en donde se debe seleccionar el tipo de análisis que se desea visualizar y
el nodo donde se va a llevar a cabo tal como se muestra en la Figura 79.

133
Figura 79. Ventana de selección de nodo y tipo de análisis

Fuente: El autor

Diagramas de Bode:

Para obtener la simulación de diagramas de bode se debe escoger en el tipo de


análisis Diagramas de Bode, tal como se muestra en la Figura 80.

Figura 80. Selección de Diagramas de Bode

Fuente: El autor

134
Una vez seleccionada la opción del tipo de análisis, se debe seleccionar el nodo
donde se desea visualizar la simulación. Para este caso los resultados los se
obtendrán en el nodo 2 como se muestra en la Figura 81

Figura 81. Selección de Nodo donde se desea hacer la simulación

Fuente: El autor

Posteriormente se pica sobre el botón analizar para dar inicio a la simulación. La


gráfica resultante se muestra en la Figura 82.

Figura 82. Diagrama de Bode

Fuente: El autor

135
Diagrama de Nyquist:

Figura 83. Selección de Nodo y diagramas de nyquist

Fuente: El autor

Figura 84. Diagrama de Nyquist

Fuente: El autor

136
Lugar geométrico de las raíces:

Figura 85. Selección de Nodo y Lugar geométrico de las raíces

Fuente: El autor

Figura 86. Lugar geométrico de las raíces

Fuente: El autor

137
Función de transferencia. La función de transferencia se obtiene picando sobre
el icono Función de transferencia. Una vez se pique este icono, igual que en los
demás análisis, aparecerá una ventana en la que se seleccionará el nodo donde
se desea obtener la Función de transferencia tal como se muestra en la Figura 87.

Figura 87. Selección de nodo función de transferencia

Fuente: El autor

La visualización de la función de transferencia mostrada en el software, se


presenta en un campo de texto contenido en una ventana tal como se muestra en
la Figura 88. Por ello cuando la función es muy larga es necesario correrla con el
Mouse o el teclado, como un texto normal.

Figura 88. Función de transferencia

Fuente: El autor

138
CONCLUSIONES

Durante la realización de este proyecto se adquirieron nuevos conocimientos


sobre metodologías de investigación y herramientas tecnológicas no utilizadas
anteriormente en el proceso de aprendizaje de la carrera, tanto en profundización
en el programa como en el manejo del mismo, como NETBEANS IDE, JAVA
Development Kit (JDK), MATLAB, MATLAB Compiler (EXE), MATLAB Builder for
JAVA, Camtasia Studio y CreateInstall Free

La creación de un prototipo, para simular y analizar sistemas mecánicos de


traslación es de gran ayuda para estudiantes y docentes que estén cursando y
dictando cursos de dinámica de sistemas, ya que cuentan con una herramienta
informática para validar los resultados de los ejercicios propuestos en las clases y
en el entorno de estudio ingenieril.

Con la implementación del software se logró reunir en una sola herramienta de


licenciamiento libre para simulación, análisis y resultados de un sistema mecánico
de traslación.

139
BIBLIOGRAFÍA

CONTROLLAB PRODUCTS B.V. 20 sim (Twente. Sim)


http://www.20sim.com/downloads/documents.html. 2007

DORF, Richard. Sistemas Modernos de Control. Editorial Addison Wesley

ERONINI. Dinámica de sistemas y Control. Editorial Thomson

KUO, Benjamin. Sistemas de Control Automático. Editorial Prentice Hall, México,


1995.

NISE, Norman. Control Systems Engineering, 4 edición. 2004. 1016 Pág.

OGATA, Katsuhito. Dinámica de sistemas. Editorial Prentice Hall, México, 2000.

OGATA, Katsuhito. Problemas de Ingeniería de Control Utilizando MATLAB.


Editorial Prentice Hall, México, 2003.

SERWAY, Raimond A. Física Moderna. Ed. Mc Graw Hill. 3ra Ed. Tomo 1. 637
Pág.

PRIEGO, Francisco. Programa de Analogías 1.0.


http://www.arrakis.es/~ppriego/softpaco/analogex.htm. 1997. Abril de 2007

UNVIERSIDAD DE NAVARRA. Modelado De Sistemas Mecánicos Traslacionales


www.tecnun.es/Asignaturas/ingsistemas1/TECNUN.ISI.SistemasMecanicosTrasla
cionales.pdf. España.

140
UNIVERSIDAD DE NAVARRA. Sistemas Mecánicos Traslacionales.
http://www.tecnun.es/Asignaturas/ingsistemas1/TECNUN.ISI.SistemasMecanicosT
raslacionales.pdf. España. Febrero de 2008

UNIVERSIDAD NACIONAL DEL RIO. Sistema Mecánico Masa Resorte


Amortiguador.http://ing54.ing.unrc.edu.ar/ecuacionesdierenciales/Archivos/MasaR
esorte Amortiguador.pdf. 2003. Argentina.

UNIVERSIDAD NACIONAL ROSARIO. Modelado Matemático de Sistemas Físicos


www.fceia.unr.edu.ar/dsf/files/A_SFs_Mod.pdf. Marzo de 2003

141
ANEXO A. RECOLECCIÓN DE INFORMACIÓN

¿Qué es un sistema?
Un sistema es una combinación de componentes que actúan conjuntamente para
alcanzar un objetivo específico. Colección de elementos que interactúan y en los
cuales existen relaciones de causa – efecto entre sus variables.

¿Qué es un sistema mecánico de traslación?


Un sistema mecánico es aquel que esta compuesto de un elemento de
almacenamiento capacitivo (masa traslacional), un elemento de almacenamiento
inductivo (resorte traslacional), un elemento disipador de energía (amortiguador –
fricción viscosa) y un elemento fuerza.

¿Qué es una masa traslacional?


Es la capacidad que tiene un elemento para almacenar energía cinética. Es un
elemento de tipo I o inercia, ya que almacena energía mediante acumulación de
esfuerzo.

¿Qué es un resorte traslacional?


Es un elemento que tiene la capacidad de almacenar energía potencial. Es de tipo
C o capacitancia, ya que almacena energía mediante acumulación de flujo. Su
fuerza varía con la posición, donde K es la constante del resorte.

¿Qué es la fricción viscosa?


Es una relación lineal entre la fuerza aplicada y la velocidad del movimiento. La
fricción viscosa se representa con el elemento amortiguador, que es de tipo R o
resistencia, ya que es un elemento que disipa energía.

142
¿Que es una fuerza?
La fuerza es la acción capaz de modificar el estado de movimiento o reposo de un
cuerpo, es decir, imprimirle una aceleración modificando la velocidad o el sentido
de su movimiento.

¿Qué es un nodo?
Punto en el que se producen dos o más conexiones de elementos de un sistema o
circuito.

¿Qué leyes describen un sistema mecánico de traslación?


• Segunda Ley de Newton: La aceleración de un cuerpo es directamente
proporcional a la fuerza resultante que actúa sobre él, e inversamente
proporcional a su masa.
• Tercera Ley de Newton: Ley de acción y reacción, por cada fuerza que actúa
sobre un cuerpo este realiza una fuerza igual pero de sentido opuesto sobre el
cuerpo que lo produjo.
• Ley de Desplazamientos: Si los extremos de dos elementos están conectados,
estos tendrán el mismo desplazamiento e igual velocidad.
• Principio de D’Alembert: La suma de las fuerzas externas que actúan sobre un
cuerpo y las fuerzas de inercia forman un sistema de fuerzas en equilibrio.

¿Qué son analogías electromecánicas?


Son equivalentes entre los elementos de un sistema mecánico y un sistema
eléctrico. Éstas facilitan el análisis de los sistemas mecánicos de traslación.

¿Qué es un modelo?
Un modelo es una herramienta que permite describir y analizar de forma
simplificada un sistema.

143
ANEXO B. PROGRAMA FUNCIÓN DE TRANSFERENCIA

function funtrans

%Programa para determinar la Funcion de transferencia


%con los coeficientes del polinomio para salida espacio
clc
clear all

N=load('Nodos.txt');

switch lower(N)
case {1} %Si el sistema solo contiene un nodo
M10=load('M10.txt');
B10=load('B10.txt');
K10=load('K10.txt');

DS0=K10;
DS1=B10;
DS2=M10;
num=[1];
den=[DS2 DS1 DS0];
disp('La funcion de transferencia es: ')
printsys(num,den);

case 2 %Si el sistema contiene dos nodos


M10=load('M10.txt');
B10=load('B10.txt');
K10=load('K10.txt');
M20=load('M20.txt');
B20=load('B20.txt');
K20=load('K20.txt');
B12=load('B12.txt');
K12=load('K12.txt');
O=load('Salida.txt');%salida que desea visualizar 1 o 2

%Determinante resuelto de la forma ax^6+bx^5+cx^4+dx^3+ex^2+fx+g

DS0=(K10*K20+K10*K12+K12*K20);
DS1=(K20*B10+K20*B12+K12*B10+K10*B20+K10*B12+K12*B20);

DS2=(M10*K20+M10*K12+B10*B20+B10*B12+B12*B20+M20*K10+M20*K12);
DS3=(M10*B20+M10*B12+M20*B10+M20*B12);
DS4=(M10*M20);
den=[DS4 DS3 DS2 DS1 DS0];

%if O==1

144
%Funcion de transferencia nodo 1:
NS0=(K12+K20);
NS1=(B20+B12);
NS2=(M20);
num=[NS2 NS1 NS0];
disp('La funcion de transferencia del nodo 1 es: ')
printsys(num,den)

% elseif O==2
%Funcion de transferencia nodo 2:
NS0=(K12);
NS1=(B12);
num=[NS1 NS0];
disp('La funcion de transferencia del nodo 2 es: ')
printsys(num,den)
% end

case 3 %Si el sistema contiene tres nodos


M10=load('M10.txt');
B10=load('B10.txt');
K10=load('K10.txt');
M20=load('M20.txt');
B20=load('B20.txt');
K20=load('K20.txt');
M30=load('M30.txt');
B30=load('B30.txt');
K30=load('K30.txt');
B12=load('B12.txt');
K12=load('K12.txt');
B13=load('B13.txt');
K13=load('K13.txt');
B23=load('B23.txt');
K23=load('K23.txt');
O=load('Salida.txt');%salida que desea visualizar 1 2 O 3

%Coeficientes del polinomio de grado 6

DS0=(((K10+K12+K13)*(K30+K23+K13)*(K20+K12+K23))-
((K10+K12+K13)*(K23*K23)))-(((K12*K12)*(K30+K23+K13))+(K12*K23*K13))-
((K12*K23*K13)+((K20+K12+K23)*(K13*K13)));
DS1=(((B10+B12+B13)*(K20+K12+K23)*(K30+K23+K13))-
((B10+B12+B13)*(K23*K23))+((K30+K23+K13)*(K10+K12+K13)*(B20+B12+B23))+((K
20+K12+K23)*(K10+K12+K13)*(B30+B23+B13))-((2*B23*K23)*(K10+K12+K13)))-
(((K12*B12*(K30+K23+K13)))+(B12*K23*K13)+(B12*K12*(K30+K23+K13))+((K12*K1
2)*(B30+B23+B13))+(K13*K12*B23)+(K23*B13*K12))-
((K12*K23*B13)+((K20+K12+K23)*(K13*B13))+(B12*K23*K13)+(K12*B23*K13)+((B2
0+B12+B23)*(K13*K13))+((K20+K12+K23)*(B13*K13)));
DS2=((M10*(K30+K23+K13)*(K20+K23+K12))-
(M10*K23*K23)+((B10+B12+B13)*(K30+K23+K13)*(B20+B12+B23))+((K20+K12+K23)*

145
(B30+B23+B13)*(B10+B12+B13))-
((2*B23*K23)*(B10+B12+B13))+(M20*(K30+K23+K13)*(K10+K12+K13))+((B20+B12+B
23)*(B30+B23+B13)*(K10+K12+K13))+(M30*(K20+K12+K23)*(K10+K12+K13))-
((K10+K12+K13)*B23*B23))-
(((B12^2)*(K30+K23+K13))+((B12*K12)*(B30+B23+B13))+((B12*B13*K23)+(B12*B2
3*K13))+((B12*K12)*(B30+B23+B13))+(M30*K12^2)+(B13*B23*K12))-
(((B13*B12*K23)+(B13*B23*K12))+((B13^2)*(K20+K12+K23))+((B13*K13)*(B20+B1
2+B23))+(B12*B23*K13)+(M20*K13*K13)+((B20+B12+B23)*(B13*K13)));

DS3=((M10*(B20+B12+B23)*(K30+K23+K13))+(M10*(K20+K12+K23)*(B30+B23+B13))-
(2*M10*B23*K23)+(M20*(K30+K23+K13)*(B10+B12+B13))+((B10+B12+B13)*(B20+B12
+B23)*(B30+B23+B13))+(M30*(K20+K12+K23)*(B10+B12+B13))-
((B23^2)*(B10+B12+B13))+(M20*(B30+B23+B13)*(K10+K12+K13))+(M30*(B20+B12+B
23)*(K10+K12+K13)))-
(((B12^2)*(B30+B23+B13))+((M30*K12*B12)+(B12*B13*B23))+(M30*B12*K12))-
(((B13^2)*(B20+B12+B23))+(M20*K13*B13)+(B12*B13*B23)+(B13*K13*M20));

DS4=(((M10*M20)*(K30+K23+K13))+((M10)*((B20+B12+B23)*(B30+B23+B13)))+((M1
0*M30)*(K20+K12+K23))-
(M10*B23^2)+((M20)*((B30+B23+B13)*(B10+B12+B13)))+((M30)*((B20+B12+B23)*(
B10+B12+B13)))+((M20*M30)*(K10+K12+K13)))-(M30*B12^2)-(M20*B13^2);

DS5=((M10*M20)*(B30+B23+B13))+((M10*M30)*(B20+B12+B23))+((M20*M30)*(B10+B
12+B13));
DS6=M10*M20*M30;
den=[DS6 DS5 DS4 DS3 DS2 DS1 DS0];

if O==1
%Funcion de transferencia nodo 1:

NS0=(((K20+K12+K23)*(K30+K23+K13))-(K23*K23));

NS1=(((B20+B12+B23)*(K30+K23+K13))+((K20+K12+K23)*(B30+B23+B13))-
(2*B23*K23));

NS2=((M20*(K30+K23+K13))+((M30*(K20+K12+K23)))+((B20+B12+B23)*(B30+B23+B1
3))-(B23*B23));
NS3=((M20*(B30+B23+B13))+(M30*(B20+B12+B23)));
NS4=M20*M30;
num=[NS4 NS3 NS2 NS1 NS0];
disp('La funcion de transferencia del nodo 1 es: ')
printsys(num,den)

elseif O==2
%Funcion de transferencia nodo 2:

NS0=((K12*(K30+K23+K13))+(K13*K23));

NS1=((B12*(K30+K23+K13))+(K12*(B30+B23+B13))+((B13*K23)+(B23*K13)));
NS2=((B12*(B30+B23+B13))+(M30*K12)+(B13*B23));
NS3=(M30*B12);
num=[NS3 NS2 NS1 NS0];
disp('La funcion de transferencia del nodo 2 es: ')
printsys(num,den)

146
elseif O==3
%Funcion de transferencia nodo 3:

NS0=((K12*K23)+(K13*(K20+K12+K23)));

NS1=((B12*K23)+(K12*B23)+(K13*(B20+B12+B23))+(B13*(K20+K12+K23)));
NS2=((B12*B23)+(M20*K13)+(B13*(B20+B12+B23)));
NS3=(M20*B13);
num=[NS3 NS2 NS1 NS0];
disp('La funcion de transferencia del nodo 3 es: ')
printsys(num,den)

end

otherwise
disp('No hay ningun sistema definido')
end

147
ANEXO C. DIAGRAMA DE FLUJO PROGRAMA FUNCIÓN DE
TRANSFERENCIA
INICIO

M10,M20,M30,B10,B20,B30,K1
0,K20,K30,B12,B13,B23,K12,K1
3,K23,O,N,DS0,DS1,DS2,DS3,
DS4,DS5,DS6,den,num

N=Nodos.txt

No No No
N=1 N=2 N=3

Si Si Si No hay ningún
sistema definido

M10=M10.txt M10=M10.txt
B10=B10.txt B10=B10.txt
K10=K10.txt K10=K10.txt
M20=M20.txt
M10=M10.txt
B20=B20.txt
B10=B10.txt
K20=K20.txt
K10=K10.txt
B12=B12.txt
DS0=K10 M20=M20.txt
K12=K12.txt
DS1=B10 B20='B20.txt
O=Salida.txt
DS2=M10 K20=K20.txt
M30=M30.txt
num=[1]
den=[DS2 DS1 DS0] B30=B30.txt
K30=K30.txt
DS0=(K10*K20+K10*K12+K12*K20) B12=B12.txt
DS1=(K20*B10+K20*B12+K12*B10+K10*B20+K10*B12+K12*B20) K12=K12.txt
DS2=(M10*K20+M10*K12+B10*B20+B10*B12+B12*B20+M20*K10+M20*K12) B13=B13.txt
DS3=(M10*B20+M10*B12+M20*B10+M20*B12) K13=K13.txt
printsys(num,den) DS4=(M10*M20) B23=B23.txt
den=[DS4 DS3 DS2 DS1 DS0] K23=K23.txt
O=Salida.txt

No No
O=1 O=2
DS0=(((K10+K12+K13)*(K30+K23+K13)*(K20+K12+K23))-((K10+K12+K13)*(K23*K23)))-
(((K12*K12)*(K30+K23+K13))+(K12*K23*K13))-((K12*K23*K13)+((K20+K12+K23)*(K13*K13)))
Si Si DS1=(((B10+B12+B13)*(K20+K12+K23)*(K30+K23+K13))-
((B10+B12+B13)*(K23*K23))+((K30+K23+K13)*(K10+K12+K13)*(B20+B12+B23))+((K20+K12+K2
3)*(K10+K12+K13)*(B30+B23+B13))-((2*B23*K23)*(K10+K12+K13)))-
(((K12*B12*(K30+K23+K13)))+(B12*K23*K13)+(B12*K12*(K30+K23+K13))+((K12*K12)*(B30+B23
NS0=(K12+K20) +B13))+(K13*K12*B23)+(K23*B13*K12))-
NS0=(K12) ((K12*K23*B13)+((K20+K12+K23)*(K13*B13))+(B12*K23*K13)+(K12*B23*K13)+((B20+B12+B23)
NS1=(B20+B12) NS1=(B12)
NS2=(M20) *(K13*K13))+((K20+K12+K23)*(B13*K13)))
num=[NS2 NS1 NS0] num=[NS1 NS0] DS2=((M10*(K30+K23+K13)*(K20+K23+K12))-
(M10*K23*K23)+((B10+B12+B13)*(K30+K23+K13)*(B20+B12+B23))+((K20+K12+K23)*(B30+B23
+B13)*(B10+B12+B13))-
((2*B23*K23)*(B10+B12+B13))+(M20*(K30+K23+K13)*(K10+K12+K13))+((B20+B12+B23)*(B30+
B23+B13)*(K10+K12+K13))+(M30*(K20+K12+K23)*(K10+K12+K13))-
printsys(num,den) printsys(num,den) ((K10+K12+K13)*B23*B23))-
(((B12^2)*(K30+K23+K13))+((B12*K12)*(B30+B23+B13))+((B12*B13*K23)+(B12*B23*K13))+((B1
2*K12)*(B30+B23+B13))+(M30*K12^2)+(B13*B23*K12))-
(((B13*B12*K23)+(B13*B23*K12))+((B13^2)*(K20+K12+K23))+((B13*K13)*(B20+B12+B23))+(B12
*B23*K13)+(M20*K13*K13)+((B20+B12+B23)*(B13*K13)))
DS3=((M10*(B20+B12+B23)*(K30+K23+K13))+(M10*(K20+K12+K23)*(B30+B23+B13))-
(2*M10*B23*K23)+(M20*(K30+K23+K13)*(B10+B12+B13))+((B10+B12+B13)*(B20+B12+B23)*(B
30+B23+B13))+(M30*(K20+K12+K23)*(B10+B12+B13))-
((B23^2)*(B10+B12+B13))+(M20*(B30+B23+B13)*(K10+K12+K13))+(M30*(B20+B12+B23)*(K10+
K12+K13)))-(((B12^2)*(B30+B23+B13))+((M30*K12*B12)+(B12*B13*B23))+(M30*B12*K12))-
(((B13^2)*(B20+B12+B23))+(M20*K13*B13)+(B12*B13*B23)+(B13*K13*M20))
DS4=(((M10*M20)*(K30+K23+K13))+((M10)*((B20+B12+B23)*(B30+B23+B13)))+((M10*M30)*(K2
0+K12+K23))-
(M10*B23^2)+((M20)*((B30+B23+B13)*(B10+B12+B13)))+((M30)*((B20+B12+B23)*(B10+B12+B1
3)))+((M20*M30)*(K10+K12+K13)))-(M30*B12^2)-(M20*B13^2)
DS5=((M10*M20)*(B30+B23+B13))+((M10*M30)*(B20+B12+B23))+((M20*M30)*(B10+B12+B13));
DS6=M10*M20*M30
den=[DS6 DS5 DS4 DS3 DS2 DS1 DS0]

No No No
O=1 O=2 O=3

Si Si Si

NS0=(((K20+K12+K23)*(K30+K23+K13))-(K23*K23))
NS1=(((B20+B12+B23)*(K30+K23+K13))+((K20+K12+K23)*( NS0=((K12*(K30+K23+K13))+(K13*K23)) NS0=((K12*K23)+(K13*(K20+K12+K23)))
B30+B23+B13))-(2*B23*K23)) NS1=((B12*(K30+K23+K13))+(K12*(B30+B23+B13)) NS1=((B12*K23)+(K12*B23)+(K13*(B20+B12+B23))+(
NS2=((M20*(K30+K23+K13))+((M30*(K20+K12+K23)))+((B20 +((B13*K23)+(B23*K13))) B13*(K20+K12+K23)))
+B12+B23)*(B30+B23+B13))-(B23*B23)) NS2=((B12*(B30+B23+B13))+(M30*K12)+(B13*B23)) NS2=((B12*B23)+(M20*K13)+(B13*(B20+B12+B23)))
NS3=((M20*(B30+B23+B13))+(M30*(B20+B12+B23))) NS3=(M30*B12) NS3=(M20*B13)
NS4=M20*M30 num=[NS3 NS2 NS1 NS0] num=[NS3 NS2 NS1 NS0]
num=[NS4 NS3 NS2 NS1 NS0]

printsys(num,den) printsys(num,den) printsys(num,den)

148
ANEXO D. PROGRAMA RESPUESTA EN EL TIEMPO A PARTIR DE
ENTRADA ESCALÓN

function RespStep
%Programa para graficar la respuesta en el tiempo
%a la entrada escalon -salida espacio
clc
clear all

N=load('Nodos.txt');

switch lower(N)
case {1} %Si el sistema solo contiene un nodo
M10=load('M10.txt');
B10=load('B10.txt');
K10=load('K10.txt');
F=load('Fuerza.txt');

DS0=K10;
DS1=B10;
DS2=M10;
num=[1];
den=[DS2 DS1 DS0];
step(F*num,den);
printsys(num,den)
title('Respuesta Entrada Escalon Nodo 1')
ylabel('Espacio (mts)')
grid on

case 2 %Si el sistema contiene dos nodos


M10=load('M10.txt');
B10=load('B10.txt');
K10=load('K10.txt');
M20=load('M20.txt');
B20=load('B20.txt');
K20=load('K20.txt');
B12=load('B12.txt');
K12=load('K12.txt');
F=load('Fuerza.txt');
O=load('Salida.txt');%salida que desea visualizar 1 o 2

%Determinante del sistema

DS0=(K10*K20+K10*K12+K12*K20);
DS1=(K20*B10+K20*B12+K12*B10+K10*B20+K10*B12+K12*B20);

DS2=(M10*K20+M10*K12+B10*B20+B10*B12+B12*B20+M20*K10+M20*K12);
DS3=(M10*B20+M10*B12+M20*B10+M20*B12);

149
DS4=(M10*M20);
den=[DS4 DS3 DS2 DS1 DS0];
if O==1
%Respuesta nodo 1:
NS0=(K12+K20);
NS1=(B20+B12);
NS2=(M20);
num=[NS2 NS1 NS0];
step(F*num,den);
title('Respuesta Entrada Escalon Nodo 1')
ylabel('Espacio (mts)')
grid on

elseif O==2
%Respuesta nodo 2:
NS0=(K12);
NS1=(B12);
num=[NS1 NS0];
step(F*num,den);
title('Respuesta Entrada Escalon Nodo 2')
ylabel('Espacio (mts)')
grid on
end

case 3 %Si el sistema contiene tres nodos


M10=load('M10.txt');
B10=load('B10.txt');
K10=load('K10.txt');
M20=load('M20.txt');
B20=load('B20.txt');
K20=load('K20.txt');
M30=load('M30.txt');
B30=load('B30.txt');
K30=load('K30.txt');
B12=load('B12.txt');
K12=load('K12.txt');
B13=load('B13.txt');
K13=load('K13.txt');
B23=load('B23.txt');
K23=load('K23.txt');
F=load('Fuerza.txt');
O=load('Salida.txt');%salida que desea visualizar 1 2 O 3

%Determinante del sistema


DS0=(((K10+K12+K13)*(K30+K23+K13)*(K20+K12+K23))-
((K10+K12+K13)*(K23*K23)))-(((K12*K12)*(K30+K23+K13))+(K12*K23*K13))-
((K12*K23*K13)+((K20+K12+K23)*(K13*K13)));
DS1=(((B10+B12+B13)*(K20+K12+K23)*(K30+K23+K13))-
((B10+B12+B13)*(K23*K23))+((K30+K23+K13)*(K10+K12+K13)*(B20+B12+B23))+((K
20+K12+K23)*(K10+K12+K13)*(B30+B23+B13))-((2*B23*K23)*(K10+K12+K13)))-
(((K12*B12*(K30+K23+K13)))+(B12*K23*K13)+(B12*K12*(K30+K23+K13))+((K12*K1

150
2)*(B30+B23+B13))+(K13*K12*B23)+(K23*B13*K12))-
((K12*K23*B13)+((K20+K12+K23)*(K13*B13))+(B12*K23*K13)+(K12*B23*K13)+((B2
0+B12+B23)*(K13*K13))+((K20+K12+K23)*(B13*K13)));
DS2=((M10*(K30+K23+K13)*(K20+K23+K12))-
(M10*K23*K23)+((B10+B12+B13)*(K30+K23+K13)*(B20+B12+B23))+((K20+K12+K23)*
(B30+B23+B13)*(B10+B12+B13))-
((2*B23*K23)*(B10+B12+B13))+(M20*(K30+K23+K13)*(K10+K12+K13))+((B20+B12+B
23)*(B30+B23+B13)*(K10+K12+K13))+(M30*(K20+K12+K23)*(K10+K12+K13))-
((K10+K12+K13)*B23*B23))-
(((B12^2)*(K30+K23+K13))+((B12*K12)*(B30+B23+B13))+((B12*B13*K23)+(B12*B2
3*K13))+((B12*K12)*(B30+B23+B13))+(M30*K12^2)+(B13*B23*K12))-
(((B13*B12*K23)+(B13*B23*K12))+((B13^2)*(K20+K12+K23))+((B13*K13)*(B20+B1
2+B23))+(B12*B23*K13)+(M20*K13*K13)+((B20+B12+B23)*(B13*K13)));

DS3=((M10*(B20+B12+B23)*(K30+K23+K13))+(M10*(K20+K12+K23)*(B30+B23+B13))-
(2*M10*B23*K23)+(M20*(K30+K23+K13)*(B10+B12+B13))+((B10+B12+B13)*(B20+B12
+B23)*(B30+B23+B13))+(M30*(K20+K12+K23)*(B10+B12+B13))-
((B23^2)*(B10+B12+B13))+(M20*(B30+B23+B13)*(K10+K12+K13))+(M30*(B20+B12+B
23)*(K10+K12+K13)))-
(((B12^2)*(B30+B23+B13))+((M30*K12*B12)+(B12*B13*B23))+(M30*B12*K12))-
(((B13^2)*(B20+B12+B23))+(M20*K13*B13)+(B12*B13*B23)+(B13*K13*M20));

DS4=(((M10*M20)*(K30+K23+K13))+((M10)*((B20+B12+B23)*(B30+B23+B13)))+((M1
0*M30)*(K20+K12+K23))-
(M10*B23^2)+((M20)*((B30+B23+B13)*(B10+B12+B13)))+((M30)*((B20+B12+B23)*(
B10+B12+B13)))+((M20*M30)*(K10+K12+K13)))-(M30*B12^2)-(M20*B13^2);

DS5=((M10*M20)*(B30+B23+B13))+((M10*M30)*(B20+B12+B23))+((M20*M30)*(B10+B
12+B13));
DS6=M10*M20*M30;
den=[DS6 DS5 DS4 DS3 DS2 DS1 DS0];

if O==1
%Salida nodo 1:

NS0=(((K20+K12+K23)*(K30+K23+K13))-(K23*K23));

NS1=(((B20+B12+B23)*(K30+K23+K13))+((K20+K12+K23)*(B30+B23+B13))-
(2*B23*K23));

NS2=((M20*(K30+K23+K13))+((M30*(K20+K12+K23)))+((B20+B12+B23)*(B30+B23+B1
3))-(B23*B23));
NS3=((M20*(B30+B23+B13))+(M30*(B20+B12+B23)));
NS4=M20*M30;
num=[NS4 NS3 NS2 NS1 NS0];
step(F*num,den);
title('Respuesta Entrada Escalon Nodo 1')
ylabel('Espacio (mts)')
grid on

elseif O==2
%Salida nodo 2:

NS0=((K12*(K30+K23+K13))+(K13*K23));

151
NS1=((B12*(K30+K23+K13))+(K12*(B30+B23+B13))+((B13*K23)+(B23*K13)));
NS2=((B12*(B30+B23+B13))+(M30*K12)+(B13*B23));
NS3=(M30*B12);
num=[NS3 NS2 NS1 NS0];
step(F*num,den);
title('Respuesta Entrada Escalon Nodo 2')
ylabel('Espacio (mts)')
grid on

elseif O==3
%Salida nodo 3:

NS0=((K12*K23)+(K13*(K20+K12+K23)));

NS1=((B12*K23)+(K12*B23)+(K13*(B20+B12+B23))+(B13*(K20+K12+K23)));
NS2=((B12*B23)+(M20*K13)+(B13*(B20+B12+B23)));
NS3=(M20*B13);
num=[NS3 NS2 NS1 NS0];
step(F*num,den);
title('Respuesta Entrada Escalon Nodo 3')
ylabel('Espacio (mts)')
grid on)
end

otherwise
disp('No hay ningun sistema definido')
end

152
ANEXO E. DIAGRAMA DE FLUJO PROGRAMA RESPUESTA EN EL TIEMPO
A PARTIR DE ENTRADA ESCALÓN
INICIO

M10,M20,M30,B10,B20,B30,K1
0,K20,K30,B12,B13,B23,K12,K1
3,K23,O,N,DS0,DS1,DS2,DS3,
DS4,DS5,DS6,den,num,F

N=Nodos.txt

No No No
N=1 N=2 N=3

Si Si Si No hay ningún
sistema definido
M10=M10.txt
M10=M10.txt
B10=B10.txt
B10=B10.txt
K10=K10.txt
K10=K10.txt
F=Fuerza.txt
M20=M20.txt
M10=M10.txt
B20=B20.txt
B10=B10.txt
K20=K20.txt
K10=K10.txt
B12=B12.txt
DS0=K10 M20=M20.txt
K12=K12.txt
DS1=B10 B20='B20.txt
O=Salida.txt
DS2=M10 K20=K20.txt
F=Fuerza.txt
M30=M30.txt
num=[1]
B30=B30.txt
den=[DS2 DS1 DS0]
K30=K30.txt
DS0=(K10*K20+K10*K12+K12*K20) B12=B12.txt
DS1=(K20*B10+K20*B12+K12*B10+K10*B20+K10*B12+K12*B20) K12=K12.txt
DS2=(M10*K20+M10*K12+B10*B20+B10*B12+B12*B20+M20*K10+M20*K12) B13=B13.txt
DS3=(M10*B20+M10*B12+M20*B10+M20*B12) K13=K13.txt
step(F*num,den) DS4=(M10*M20) B23=B23.txt
den=[DS4 DS3 DS2 DS1 DS0] K23=K23.txt
O=Salida.txt
F=Fuerza.txt

No No
O=1 O=2
DS0=(((K10+K12+K13)*(K30+K23+K13)*(K20+K12+K23))-((K10+K12+K13)*(K23*K23)))-
(((K12*K12)*(K30+K23+K13))+(K12*K23*K13))-((K12*K23*K13)+((K20+K12+K23)*(K13*K13)))
Si Si DS1=(((B10+B12+B13)*(K20+K12+K23)*(K30+K23+K13))-
((B10+B12+B13)*(K23*K23))+((K30+K23+K13)*(K10+K12+K13)*(B20+B12+B23))+((K20+K12+K2
3)*(K10+K12+K13)*(B30+B23+B13))-((2*B23*K23)*(K10+K12+K13)))-
(((K12*B12*(K30+K23+K13)))+(B12*K23*K13)+(B12*K12*(K30+K23+K13))+((K12*K12)*(B30+B23
NS0=(K12+K20) +B13))+(K13*K12*B23)+(K23*B13*K12))-
NS0=(K12) ((K12*K23*B13)+((K20+K12+K23)*(K13*B13))+(B12*K23*K13)+(K12*B23*K13)+((B20+B12+B23)
NS1=(B20+B12) NS1=(B12)
NS2=(M20) *(K13*K13))+((K20+K12+K23)*(B13*K13)))
num=[NS2 NS1 NS0] num=[NS1 NS0] DS2=((M10*(K30+K23+K13)*(K20+K23+K12))-
(M10*K23*K23)+((B10+B12+B13)*(K30+K23+K13)*(B20+B12+B23))+((K20+K12+K23)*(B30+B23
+B13)*(B10+B12+B13))-
((2*B23*K23)*(B10+B12+B13))+(M20*(K30+K23+K13)*(K10+K12+K13))+((B20+B12+B23)*(B30+
B23+B13)*(K10+K12+K13))+(M30*(K20+K12+K23)*(K10+K12+K13))-
step(F*num,den) step(F*num,den) ((K10+K12+K13)*B23*B23))-
(((B12^2)*(K30+K23+K13))+((B12*K12)*(B30+B23+B13))+((B12*B13*K23)+(B12*B23*K13))+((B1
2*K12)*(B30+B23+B13))+(M30*K12^2)+(B13*B23*K12))-
(((B13*B12*K23)+(B13*B23*K12))+((B13^2)*(K20+K12+K23))+((B13*K13)*(B20+B12+B23))+(B12
*B23*K13)+(M20*K13*K13)+((B20+B12+B23)*(B13*K13)))
DS3=((M10*(B20+B12+B23)*(K30+K23+K13))+(M10*(K20+K12+K23)*(B30+B23+B13))-
(2*M10*B23*K23)+(M20*(K30+K23+K13)*(B10+B12+B13))+((B10+B12+B13)*(B20+B12+B23)*(B
30+B23+B13))+(M30*(K20+K12+K23)*(B10+B12+B13))-
((B23^2)*(B10+B12+B13))+(M20*(B30+B23+B13)*(K10+K12+K13))+(M30*(B20+B12+B23)*(K10+
K12+K13)))-(((B12^2)*(B30+B23+B13))+((M30*K12*B12)+(B12*B13*B23))+(M30*B12*K12))-
(((B13^2)*(B20+B12+B23))+(M20*K13*B13)+(B12*B13*B23)+(B13*K13*M20))
DS4=(((M10*M20)*(K30+K23+K13))+((M10)*((B20+B12+B23)*(B30+B23+B13)))+((M10*M30)*(K2
0+K12+K23))-
(M10*B23^2)+((M20)*((B30+B23+B13)*(B10+B12+B13)))+((M30)*((B20+B12+B23)*(B10+B12+B1
3)))+((M20*M30)*(K10+K12+K13)))-(M30*B12^2)-(M20*B13^2)
DS5=((M10*M20)*(B30+B23+B13))+((M10*M30)*(B20+B12+B23))+((M20*M30)*(B10+B12+B13));
DS6=M10*M20*M30
den=[DS6 DS5 DS4 DS3 DS2 DS1 DS0]

No No No
O=1 O=2 O=3

Si Si Si

NS0=(((K20+K12+K23)*(K30+K23+K13))-(K23*K23))
NS1=(((B20+B12+B23)*(K30+K23+K13))+((K20+K12+K23)*( NS0=((K12*(K30+K23+K13))+(K13*K23)) NS0=((K12*K23)+(K13*(K20+K12+K23)))
B30+B23+B13))-(2*B23*K23)) NS1=((B12*(K30+K23+K13))+(K12*(B30+B23+B13)) NS1=((B12*K23)+(K12*B23)+(K13*(B20+B12+B23))+(
NS2=((M20*(K30+K23+K13))+((M30*(K20+K12+K23)))+((B20 +((B13*K23)+(B23*K13))) B13*(K20+K12+K23)))
+B12+B23)*(B30+B23+B13))-(B23*B23)) NS2=((B12*(B30+B23+B13))+(M30*K12)+(B13*B23)) NS2=((B12*B23)+(M20*K13)+(B13*(B20+B12+B23)))
NS3=((M20*(B30+B23+B13))+(M30*(B20+B12+B23))) NS3=(M30*B12) NS3=(M20*B13)
NS4=M20*M30 num=[NS3 NS2 NS1 NS0] num=[NS3 NS2 NS1 NS0]
num=[NS4 NS3 NS2 NS1 NS0]

step(F*num,den) step(F*num,den) step(F*num,den)

153
ANEXO F. CÓDIGO PROGRAMA RESPUESTA EN EL TIEMPO A PARTIR DE
ENTRADA RAMPA

function RespRampa

%Programa para graficar la respuesta en el tiempo


%a la entrada rampa -salida espacio
clc
clear all

N=load('Nodos.txt');

switch lower(N)
case {1} %Si el sistema solo contiene un nodo
M10=load('M10.txt');
B10=load('B10.txt');
K10=load('K10.txt');
F=load('Fuerza.txt');
DS0=0;
DS1=0;
DS2=K10;
DS3=B10;
DS4=M10;
num=[1];
den=[DS4 DS3 DS2 DS1 DS0];
Respuesta rampa, sin embargo aparece impulse puesto que el
procedimiento
%realizado fue subir de grado el denominador 2 veces
%puesto que transformada de laplace de la rampa es 1/s^2,de
%esta forma podemos usar la funcion impulse
impulse(F*num,den)
title('Respuesta Entrada Rampa nodo 1')
ylabel('Espacio (mts)')
grid on

case 2 %Si el sistema contiene dos nodos


M10=load('M10.txt');
B10=load('B10.txt');
K10=load('K10.txt');
M20=load('M20.txt');
B20=load('B20.txt');
K20=load('K20.txt');
B12=load('B12.txt');
K12=load('K12.txt');
F=load('Fuerza.txt');
O=load('Salida.txt');%salida que desea visualizar 1 o 2

%Determinante del sistema

154
DS0=0;
DS1=0;
DS2=(K10*K20+K10*K12+K12*K20);
DS3=(K20*B10+K20*B12+K12*B10+K10*B20+K10*B12+K12*B20);

DS4=(M10*K20+M10*K12+B10*B20+B10*B12+B12*B20+M20*K10+M20*K12);
DS5=(M10*B20+M10*B12+M20*B10+M20*B12);
DS6=(M10*M20);
den=[DS6 DS5 DS4 DS3 DS2 DS1 DS0];

if O==1
%Salida nodo 1:
NS0=(K12+K20);
NS1=(B20+B12);
NS2=(M20);
num=[NS2 NS1 NS0];
impulse(F*num,den)
title('Respuesta Entrada Rampa nodo 1')
ylabel('Espacio (mts)')
grid on

elseif O==2
%Salida nodo 2:
NS0=(K12);
NS1=(B12);
num=[NS1 NS0];
impulse(F*num,den)
title('Respuesta Entrada Rampa nodo 2')
ylabel('Espacio (mts)')
grid on)
end

case 3 %Si el sistema contiene tres nodos

M10=load('M10.txt');
B10=load('B10.txt');
K10=load('K10.txt');
M20=load('M20.txt');
B20=load('B20.txt');
K20=load('K20.txt');
M30=load('M30.txt');
B30=load('B30.txt');
K30=load('K30.txt');
B12=load('B12.txt');
K12=load('K12.txt');
B13=load('B13.txt');
K13=load('K13.txt');
B23=load('B23.txt');
K23=load('K23.txt');
F=load('Fuerza.txt');
O=load('Salida.txt');%salida que desea visualizar 1 2 O 3
%Determinante del sistema

155
DS0=0;
DS1=0;
DS2=(((K10+K12+K13)*(K30+K23+K13)*(K20+K12+K23))-
((K10+K12+K13)*(K23*K23)))-(((K12*K12)*(K30+K23+K13))+(K12*K23*K13))-
((K12*K23*K13)+((K20+K12+K23)*(K13*K13)));
DS3=(((B10+B12+B13)*(K20+K12+K23)*(K30+K23+K13))-
((B10+B12+B13)*(K23*K23))+((K30+K23+K13)*(K10+K12+K13)*(B20+B12+B23))+((K
20+K12+K23)*(K10+K12+K13)*(B30+B23+B13))-((2*B23*K23)*(K10+K12+K13)))-
(((K12*B12*(K30+K23+K13)))+(B12*K23*K13)+(B12*K12*(K30+K23+K13))+((K12*K1
2)*(B30+B23+B13))+(K13*K12*B23)+(K23*B13*K12))-
((K12*K23*B13)+((K20+K12+K23)*(K13*B13))+(B12*K23*K13)+(K12*B23*K13)+((B2
0+B12+B23)*(K13*K13))+((K20+K12+K23)*(B13*K13)));
DS4=((M10*(K30+K23+K13)*(K20+K23+K12))-
(M10*K23*K23)+((B10+B12+B13)*(K30+K23+K13)*(B20+B12+B23))+((K20+K12+K23)*
(B30+B23+B13)*(B10+B12+B13))-
((2*B23*K23)*(B10+B12+B13))+(M20*(K30+K23+K13)*(K10+K12+K13))+((B20+B12+B
23)*(B30+B23+B13)*(K10+K12+K13))+(M30*(K20+K12+K23)*(K10+K12+K13))-
((K10+K12+K13)*B23*B23))-
(((B12^2)*(K30+K23+K13))+((B12*K12)*(B30+B23+B13))+((B12*B13*K23)+(B12*B2
3*K13))+((B12*K12)*(B30+B23+B13))+(M30*K12^2)+(B13*B23*K12))-
(((B13*B12*K23)+(B13*B23*K12))+((B13^2)*(K20+K12+K23))+((B13*K13)*(B20+B1
2+B23))+(B12*B23*K13)+(M20*K13*K13)+((B20+B12+B23)*(B13*K13)));

DS5=((M10*(B20+B12+B23)*(K30+K23+K13))+(M10*(K20+K12+K23)*(B30+B23+B13))-
(2*M10*B23*K23)+(M20*(K30+K23+K13)*(B10+B12+B13))+((B10+B12+B13)*(B20+B12
+B23)*(B30+B23+B13))+(M30*(K20+K12+K23)*(B10+B12+B13))-
((B23^2)*(B10+B12+B13))+(M20*(B30+B23+B13)*(K10+K12+K13))+(M30*(B20+B12+B
23)*(K10+K12+K13)))-
(((B12^2)*(B30+B23+B13))+((M30*K12*B12)+(B12*B13*B23))+(M30*B12*K12))-
(((B13^2)*(B20+B12+B23))+(M20*K13*B13)+(B12*B13*B23)+(B13*K13*M20));

DS6=(((M10*M20)*(K30+K23+K13))+((M10)*((B20+B12+B23)*(B30+B23+B13)))+((M1
0*M30)*(K20+K12+K23))-
(M10*B23^2)+((M20)*((B30+B23+B13)*(B10+B12+B13)))+((M30)*((B20+B12+B23)*(
B10+B12+B13)))+((M20*M30)*(K10+K12+K13)))-(M30*B12^2)-(M20*B13^2);

DS7=((M10*M20)*(B30+B23+B13))+((M10*M30)*(B20+B12+B23))+((M20*M30)*(B10+B
12+B13));
DS8=M10*M20*M30;
den=[DS8 DS7 DS6 DS5 DS4 DS3 DS2 DS1 DS0];

if O==1
%Salida nodo 1:

NS0=(((K20+K12+K23)*(K30+K23+K13))-(K23*K23));

NS1=(((B20+B12+B23)*(K30+K23+K13))+((K20+K12+K23)*(B30+B23+B13))-
(2*B23*K23));
NS2=((M20*(K30+K23+K13))+((M30*(K20+K12+K23)))+((B20+B12+B23)*(B30+B23+B1
3))-(B23*B23));
NS3=((M20*(B30+B23+B13))+(M30*(B20+B12+B23)));
NS4=M20*M30;
num=[NS4 NS3 NS2 NS1 NS0];
impulse(F*num,den)

156
title('Respuesta Entrada Rampa nodo 1')
ylabel('Espacio (mts)')
grid on)

elseif O==2
%Salida nodo 2:

NS0=((K12*(K30+K23+K13))+(K13*K23));

NS1=((B12*(K30+K23+K13))+(K12*(B30+B23+B13))+((B13*K23)+(B23*K13)));
NS2=((B12*(B30+B23+B13))+(M30*K12)+(B13*B23));
NS3=(M30*B12);
num=[NS3 NS2 NS1 NS0];
impulse(F*num,den)
title('Respuesta Entrada Rampa nodo 2')
ylabel('Espacio (mts)')
grid on)

elseif O==3
%Salida nodo 3:

NS0=((K12*K23)+(K13*(K20+K12+K23)));

NS1=((B12*K23)+(K12*B23)+(K13*(B20+B12+B23))+(B13*(K20+K12+K23)));
NS2=((B12*B23)+(M20*K13)+(B13*(B20+B12+B23)));
NS3=(M20*B13);
num=[NS3 NS2 NS1 NS0];
impulse(F*num,den)
title('Respuesta Entrada Rampa nodo 3')
ylabel('Espacio (mts)')
grid on))

end

otherwise
disp('No hay ningun sistema definido')
end

157
ANEXO G. DIAGRAMA DE FLUJO PROGRAMA RESPUESTA EN EL TIEMPO
A PARTIR DE ENTRADA RAMPA
INICIO

M10,M20,M30,B10,B20,B30,K10,K20
,K30,B12,B13,B23,K12,K13,K23,O,N,
F,DS0,DS1,DS2,DS3,DS4,DS5,DS6,
DS7,DS8,den,num

N=Nodos.txt

No No No
N=1 N=2 N=3

Si Si Si No hay ningún
sistema definido
M10=M10.txt
M10=M10.txt B10=B10.txt
B10=B10.txt K10=K10.txt
K10=K10.txt M20=M20.txt
F=Fuerza.txt B20=B20.txt M10=M10.txt
K20=K20.txt B10=B10.txt
B12=B12.txt K10=K10.txt
K12=K12.txt M20=M20.txt
DS0=0 O=Salida.txt B20='B20.txt
DS1=0 F=Fuerza.txt K20=K20.txt
DS2=K10 M30=M30.txt
DS3=B10 B30=B30.txt
DS4=M10 K30=K30.txt
num=[1] DS0=0 B12=B12.txt
den=[DS4 DS3 DS2 DS1 DS0] DS1=0 K12=K12.txt
DS2=(K10*K20+K10*K12+K12*K20) B13=B13.txt
DS3=(K20*B10+K20*B12+K12*B10+K10*B20+K10*B12+K12*B20) K13=K13.txt
DS4=(M10*K20+M10*K12+B10*B20+B10*B12+B12*B20+M20*K10+M20*K12) B23=B23.txt
DS5=(M10*B20+M10*B12+M20*B10+M20*B12) K23=K23.txt
impulse(F*num,den) DS6=(M10*M20) O=Salida.txt
den=[DS6 DS5 DS4 DS3 DS2 DS1 DS0] F=Fuerza.txt

DS0=0
DS1=0
DS2=(((K10+K12+K13)*(K30+K23+K13)*(K20+K12+K23))-((K10+K12+K13)*(K23*K23)))-
(((K12*K12)*(K30+K23+K13))+(K12*K23*K13))-((K12*K23*K13)+((K20+K12+K23)*(K13*K13)))
DS3=(((B10+B12+B13)*(K20+K12+K23)*(K30+K23+K13))-
No No ((B10+B12+B13)*(K23*K23))+((K30+K23+K13)*(K10+K12+K13)*(B20+B12+B23))+((K20+K12+K23)*(K10+K12
O=1 O=2 +K13)*(B30+B23+B13))-((2*B23*K23)*(K10+K12+K13)))-
(((K12*B12*(K30+K23+K13)))+(B12*K23*K13)+(B12*K12*(K30+K23+K13))+((K12*K12)*(B30+B23+B13))+(K1
3*K12*B23)+(K23*B13*K12))-
Si Si ((K12*K23*B13)+((K20+K12+K23)*(K13*B13))+(B12*K23*K13)+(K12*B23*K13)+((B20+B12+B23)*(K13*K13))+
((K20+K12+K23)*(B13*K13)))
DS4=((M10*(K30+K23+K13)*(K20+K23+K12))-
(M10*K23*K23)+((B10+B12+B13)*(K30+K23+K13)*(B20+B12+B23))+((K20+K12+K23)*(B30+B23+B13)*(B10+
NS0=(K12+K20) NS0=(K12) B12+B13))-
NS1=(B20+B12) NS1=(B12) ((2*B23*K23)*(B10+B12+B13))+(M20*(K30+K23+K13)*(K10+K12+K13))+((B20+B12+B23)*(B30+B23+B13)*(K
NS2=(M20) 10+K12+K13))+(M30*(K20+K12+K23)*(K10+K12+K13))-((K10+K12+K13)*B23*B23))-
num=[NS2 NS1 NS0] num=[NS1 NS0] (((B12^2)*(K30+K23+K13))+((B12*K12)*(B30+B23+B13))+((B12*B13*K23)+(B12*B23*K13))+((B12*K12)*(B30
+B23+B13))+(M30*K12^2)+(B13*B23*K12))-
(((B13*B12*K23)+(B13*B23*K12))+((B13^2)*(K20+K12+K23))+((B13*K13)*(B20+B12+B23))+(B12*B23*K13)+(
M20*K13*K13)+((B20+B12+B23)*(B13*K13)))
DS5=((M10*(B20+B12+B23)*(K30+K23+K13))+(M10*(K20+K12+K23)*(B30+B23+B13))-
impulse(F*num,den) impulse(F*num,den) (2*M10*B23*K23)+(M20*(K30+K23+K13)*(B10+B12+B13))+((B10+B12+B13)*(B20+B12+B23)*(B30+B23+B13
))+(M30*(K20+K12+K23)*(B10+B12+B13))-
((B23^2)*(B10+B12+B13))+(M20*(B30+B23+B13)*(K10+K12+K13))+(M30*(B20+B12+B23)*(K10+K12+K13)))-
(((B12^2)*(B30+B23+B13))+((M30*K12*B12)+(B12*B13*B23))+(M30*B12*K12))-
(((B13^2)*(B20+B12+B23))+(M20*K13*B13)+(B12*B13*B23)+(B13*K13*M20))
DS6=(((M10*M20)*(K30+K23+K13))+((M10)*((B20+B12+B23)*(B30+B23+B13)))+((M10*M30)*(K20+K12+K23)
)-
(M10*B23^2)+((M20)*((B30+B23+B13)*(B10+B12+B13)))+((M30)*((B20+B12+B23)*(B10+B12+B13)))+((M20*
M30)*(K10+K12+K13)))-(M30*B12^2)-(M20*B13^2);
DS7=((M10*M20)*(B30+B23+B13))+((M10*M30)*(B20+B12+B23))+((M20*M30)*(B10+B12+B13));
DS8=M10*M20*M30
den=[DS8 DS7 DS6 DS5 DS4 DS3 DS2 DS1 DS0]

No No No
O=1 O=2 O=3

Si Si Si

NS0=(((K20+K12+K23)*(K30+K23+K13))-(K23*K23))
NS1=(((B20+B12+B23)*(K30+K23+K13))+((K20+K12+K23)*( NS0=((K12*(K30+K23+K13))+(K13*K23)) NS0=((K12*K23)+(K13*(K20+K12+K23)))
B30+B23+B13))-(2*B23*K23)) NS1=((B12*(K30+K23+K13))+(K12*(B30+B23+B13)) NS1=((B12*K23)+(K12*B23)+(K13*(B20+B12+B23))+(
NS2=((M20*(K30+K23+K13))+((M30*(K20+K12+K23)))+((B20 +((B13*K23)+(B23*K13))) B13*(K20+K12+K23)))
+B12+B23)*(B30+B23+B13))-(B23*B23)) NS2=((B12*(B30+B23+B13))+(M30*K12)+(B13*B23)) NS2=((B12*B23)+(M20*K13)+(B13*(B20+B12+B23)))
NS3=((M20*(B30+B23+B13))+(M30*(B20+B12+B23))) NS3=(M30*B12) NS3=(M20*B13)
NS4=M20*M30 num=[NS3 NS2 NS1 NS0] num=[NS3 NS2 NS1 NS0]
num=[NS4 NS3 NS2 NS1 NS0]

impulse(F*num,den) impulse(F*num,den) impulse(F*num,den)

158
ANEXO H. PROGRAMA RESPUESTA EN EL TIEMPO A PARTIR DE
ENTRADA SENOIDAL

function RespSeno
%Programa para graficar la respuesta en el tiempo
%a la entrada seno -salida espacio
clc
clear all
N=load('Nodos.txt');

switch lower(N)
case {1} %Si el sistema solo contiene un nodo
M10=load('M10.txt');
B10=load('B10.txt');
K10=load('K10.txt');
F=load('Fuerza.txt');

DS0=F*F*K10;
DS1=F*F*B10;
DS2=(K10+(F*F*M10));
DS3=B10;
DS4=M10;
num=[1];
den=[DS4 DS3 DS2 DS1 DS0];
impulse(F*num,den);
title('Respuesta Entrada seno Nodo 1')
ylabel('Espacio (mts)')
grid on

case 2 %Si el sistema contiene dos nodos


M10=load('M10.txt');
B10=load('B10.txt');
K10=load('K10.txt');
M20=load('M20.txt');
B20=load('B20.txt');
K20=load('K20.txt');
B12=load('B12.txt');
K12=load('K12.txt');
F=load('Fuerza.txt');
O=load('Salida.txt');%salida que desea visualizar 1 o 2

%Determinante del sistema

DS0=F*F*(K10*K20+K10*K12+K12*K20);
DS1=F*F*(K20*B10+K20*B12+K12*B10+K10*B20+K10*B12+K12*B20);

DS2=(K10*K20+K10*K12+K12*K20)+(F*F*(M10*K20+M10*K12+B10*B20+B10*B12+B12*B
20+M20*K10+M20*K12));

159
DS3=(K20*B10+K20*B12+K12*B10+K10*B20+K10*B12+K12*B20)+(F*F*(M10*B20+M10*B
12+M20*B10+M20*B12));

DS4=((M10*K20+M10*K12+B10*B20+B10*B12+B12*B20+M20*K10+M20*K12))+(F*F*(M10
*M20));
DS5=(M10*B20+M10*B12+M20*B10+M20*B12);
DS6=(M10*M20);
den=[DS6 DS5 DS4 DS3 DS2 DS1 DS0];

if O==1
%Respuesta nodo 1:
NS0=(K12+K20);
NS1=(B20+B12);
NS2=(M20);
num=[NS2 NS1 NS0];
impulse(F*num,den);
title('Respuesta Entrada Seno Nodo 1')
ylabel('Espacio (mts)')
grid on

elseif O==2
%Respuesta nodo 2:
NS0=(K12);
NS1=(B12);
num=[NS1 NS0];
impulse(F*num,den);
title('Respuesta Entrada Seno Nodo 2')
ylabel('Espacio (mts)')
grid on
end

case 3 %Si el sistema contiene tres nodos


M10=load('M10.txt');
B10=load('B10.txt');
K10=load('K10.txt');
M20=load('M20.txt');
B20=load('B20.txt');
K20=load('K20.txt');
M30=load('M30.txt');
B30=load('B30.txt');
K30=load('K30.txt');
B12=load('B12.txt');
K12=load('K12.txt');
B13=load('B13.txt');
K13=load('K13.txt');
B23=load('B23.txt');
K23=load('K23.txt');
F=load('Fuerza.txt');
O=load('Salida.txt');%salida que desea visualizar 1 2 O 3

%Determinante del sistema

160
DS0=F*F*((((K10+K12+K13)*(K30+K23+K13)*(K20+K12+K23))-
((K10+K12+K13)*(K23*K23)))-(((K12*K12)*(K30+K23+K13))+(K12*K23*K13))-
((K12*K23*K13)+((K20+K12+K23)*(K13*K13))));
DS1=F*F*((((B10+B12+B13)*(K20+K12+K23)*(K30+K23+K13))-
((B10+B12+B13)*(K23*K23))+((K30+K23+K13)*(K10+K12+K13)*(B20+B12+B23))+((K
20+K12+K23)*(K10+K12+K13)*(B30+B23+B13))-((2*B23*K23)*(K10+K12+K13)))-
(((K12*B12*(K30+K23+K13)))+(B12*K23*K13)+(B12*K12*(K30+K23+K13))+((K12*K1
2)*(B30+B23+B13))+(K13*K12*B23)+(K23*B13*K12))-
((K12*K23*B13)+((K20+K12+K23)*(K13*B13))+(B12*K23*K13)+(K12*B23*K13)+((B2
0+B12+B23)*(K13*K13))+((K20+K12+K23)*(B13*K13))));
DS2=((((K10+K12+K13)*(K30+K23+K13)*(K20+K12+K23))-
((K10+K12+K13)*(K23*K23)))-(((K12*K12)*(K30+K23+K13))+(K12*K23*K13))-
((K12*K23*K13)+((K20+K12+K23)*(K13*K13))))+F*F*(((M10*(K30+K23+K13)*(K20+
K23+K12))-
(M10*K23*K23)+((B10+B12+B13)*(K30+K23+K13)*(B20+B12+B23))+((K20+K12+K23)*
(B30+B23+B13)*(B10+B12+B13))-
((2*B23*K23)*(B10+B12+B13))+(M20*(K30+K23+K13)*(K10+K12+K13))+((B20+B12+B
23)*(B30+B23+B13)*(K10+K12+K13))+(M30*(K20+K12+K23)*(K10+K12+K13))-
((K10+K12+K13)*B23*B23))-
(((B12^2)*(K30+K23+K13))+((B12*K12)*(B30+B23+B13))+((B12*B13*K23)+(B12*B2
3*K13))+((B12*K12)*(B30+B23+B13))+(M30*K12^2)+(B13*B23*K12))-
(((B13*B12*K23)+(B13*B23*K12))+((B13^2)*(K20+K12+K23))+((B13*K13)*(B20+B1
2+B23))+(B12*B23*K13)+(M20*K13*K13)+((B20+B12+B23)*(B13*K13))));
DS3=((((B10+B12+B13)*(K20+K12+K23)*(K30+K23+K13))-
((B10+B12+B13)*(K23*K23))+((K30+K23+K13)*(K10+K12+K13)*(B20+B12+B23))+((K
20+K12+K23)*(K10+K12+K13)*(B30+B23+B13))-((2*B23*K23)*(K10+K12+K13)))-
(((K12*B12*(K30+K23+K13)))+(B12*K23*K13)+(B12*K12*(K30+K23+K13))+((K12*K1
2)*(B30+B23+B13))+(K13*K12*B23)+(K23*B13*K12))-
((K12*K23*B13)+((K20+K12+K23)*(K13*B13))+(B12*K23*K13)+(K12*B23*K13)+((B2
0+B12+B23)*(K13*K13))+((K20+K12+K23)*(B13*K13))))+F*F*(((M10*(B20+B12+B23
)*(K30+K23+K13))+(M10*(K20+K12+K23)*(B30+B23+B13))-
(2*M10*B23*K23)+(M20*(K30+K23+K13)*(B10+B12+B13))+((B10+B12+B13)*(B20+B12
+B23)*(B30+B23+B13))+(M30*(K20+K12+K23)*(B10+B12+B13))-
((B23^2)*(B10+B12+B13))+(M20*(B30+B23+B13)*(K10+K12+K13))+(M30*(B20+B12+B
23)*(K10+K12+K13)))-
(((B12^2)*(B30+B23+B13))+((M30*K12*B12)+(B12*B13*B23))+(M30*B12*K12))-
(((B13^2)*(B20+B12+B23))+(M20*K13*B13)+(B12*B13*B23)+(B13*K13*M20)));
DS4=(((M10*(K30+K23+K13)*(K20+K23+K12))-
(M10*K23*K23)+((B10+B12+B13)*(K30+K23+K13)*(B20+B12+B23))+((K20+K12+K23)*
(B30+B23+B13)*(B10+B12+B13))-
((2*B23*K23)*(B10+B12+B13))+(M20*(K30+K23+K13)*(K10+K12+K13))+((B20+B12+B
23)*(B30+B23+B13)*(K10+K12+K13))+(M30*(K20+K12+K23)*(K10+K12+K13))-
((K10+K12+K13)*B23*B23))-
(((B12^2)*(K30+K23+K13))+((B12*K12)*(B30+B23+B13))+((B12*B13*K23)+(B12*B2
3*K13))+((B12*K12)*(B30+B23+B13))+(M30*K12^2)+(B13*B23*K12))-
(((B13*B12*K23)+(B13*B23*K12))+((B13^2)*(K20+K12+K23))+((B13*K13)*(B20+B1
2+B23))+(B12*B23*K13)+(M20*K13*K13)+((B20+B12+B23)*(B13*K13))))+F*F*((((M
10*M20)*(K30+K23+K13))+((M10)*((B20+B12+B23)*(B30+B23+B13)))+((M10*M30)*(
K20+K12+K23))-
(M10*B23^2)+((M20)*((B30+B23+B13)*(B10+B12+B13)))+((M30)*((B20+B12+B23)*(
B10+B12+B13)))+((M20*M30)*(K10+K12+K13)))-(M30*B12^2)-(M20*B13^2));
DS5=(((M10*(B20+B12+B23)*(K30+K23+K13))+(M10*(K20+K12+K23)*(B30+B23+B13))
-
(2*M10*B23*K23)+(M20*(K30+K23+K13)*(B10+B12+B13))+((B10+B12+B13)*(B20+B12

161
+B23)*(B30+B23+B13))+(M30*(K20+K12+K23)*(B10+B12+B13))-
((B23^2)*(B10+B12+B13))+(M20*(B30+B23+B13)*(K10+K12+K13))+(M30*(B20+B12+B
23)*(K10+K12+K13)))-
(((B12^2)*(B30+B23+B13))+((M30*K12*B12)+(B12*B13*B23))+(M30*B12*K12))-
(((B13^2)*(B20+B12+B23))+(M20*K13*B13)+(B12*B13*B23)+(B13*K13*M20)))+F*F*
(((M10*M20)*(B30+B23+B13))+((M10*M30)*(B20+B12+B23))+((M20*M30)*(B10+B12+
B13)));

DS6=((((M10*M20)*(K30+K23+K13))+((M10)*((B20+B12+B23)*(B30+B23+B13)))+((M
10*M30)*(K20+K12+K23))-
(M10*B23^2)+((M20)*((B30+B23+B13)*(B10+B12+B13)))+((M30)*((B20+B12+B23)*(
B10+B12+B13)))+((M20*M30)*(K10+K12+K13)))-(M30*B12^2)-
(M20*B13^2))+F*F*M10*M20*M30;

DS7=((M10*M20)*(B30+B23+B13))+((M10*M30)*(B20+B12+B23))+((M20*M30)*(B10+B
12+B13));
DS8=M10*M20*M30;
den=[DS8 DS7 DS6 DS5 DS4 DS3 DS2 DS1 DS0];

if O==1
%Salida nodo 1:

NS0=(((K20+K12+K23)*(K30+K23+K13))-(K23*K23));

NS1=(((B20+B12+B23)*(K30+K23+K13))+((K20+K12+K23)*(B30+B23+B13))-
(2*B23*K23));

NS2=((M20*(K30+K23+K13))+((M30*(K20+K12+K23)))+((B20+B12+B23)*(B30+B23+B1
3))-(B23*B23));
NS3=((M20*(B30+B23+B13))+(M30*(B20+B12+B23)));
NS4=M20*M30;
num=[NS4 NS3 NS2 NS1 NS0];
impulse(F*num,den);
title('Respuesta Entrada Seno Nodo 1')
ylabel('Espacio (mts)')
grid on

elseif O==2
%Salida nodo 2:

NS0=((K12*(K30+K23+K13))+(K13*K23));

NS1=((B12*(K30+K23+K13))+(K12*(B30+B23+B13))+((B13*K23)+(B23*K13)));
NS2=((B12*(B30+B23+B13))+(M30*K12)+(B13*B23));
NS3=(M30*B12);
num=[NS3 NS2 NS1 NS0];
impulse(F*num,den);
title('Respuesta Entrada Seno Nodo 2')
ylabel('Espacio (mts)')
grid on
elseif O==3
%Salida nodo 3:

162
NS0=((K12*K23)+(K13*(K20+K12+K23)));

NS1=((B12*K23)+(K12*B23)+(K13*(B20+B12+B23))+(B13*(K20+K12+K23)));
NS2=((B12*B23)+(M20*K13)+(B13*(B20+B12+B23)));
NS3=(M20*B13);
num=[NS3 NS2 NS1 NS0];
impulse(F*num,den);
title('Respuesta Entrada Seno Nodo 3')
ylabel('Espacio (mts)')
grid on
end

otherwise
disp('No hay ningun sistema definido')
end

163
ANEXO I. DIAGRAMA DE FLUJO PROGRAMA RESPUESTA EN EL TIEMPO A
ENTRADA SENOIDAL

164
165
ANEXO J. PROGRAMA RESPUESTA EN EL TIEMPO A ENTRADA
EXPONENCIAL

function RespExp
%Programa para graficar la respuesta en el tiempo
%a la entrada Exponencial exp(at) -salida espacio
clc
clear all

N=load('Nodos.txt');

switch lower(N)
case {1} %Si el sistema solo contiene un nodo
M10=load('M10.txt');
B10=load('B10.txt');
K10=load('K10.txt');
F=load('Fuerza.txt');

DS0=-F*K10;
DS1=K10-F*B10;
DS2=B10-F*M10;
DS3=M10;
num=[1];
den=[DS3 DS2 DS1 DS0];
impulse(num,den);
title('Respuesta Entrada exponencial Nodo 1')
ylabel('Espacio (mts)')
grid on

case 2 %Si el sistema contiene dos nodos


M10=load('M10.txt');
B10=load('B10.txt');
K10=load('K10.txt');
M20=load('M20.txt');
B20=load('B20.txt');
K20=load('K20.txt');
B12=load('B12.txt');
K12=load('K12.txt');
F=load('Fuerza.txt');
O=load('Salida.txt');%salida que desea visualizar 1 o 2

%Determinante del sistema

DS0=-F*(K10*K20+K10*K12+K12*K20);
DS1=(K10*K20+K10*K12+K12*K20)-
F*(K20*B10+K20*B12+K12*B10+K10*B20+K10*B12+K12*B20);
DS2=(K20*B10+K20*B12+K12*B10+K10*B20+K10*B12+K12*B20)-
F*(M10*K20+M10*K12+B10*B20+B10*B12+B12*B20+M20*K10+M20*K12);

166
DS3=(M10*K20+M10*K12+B10*B20+B10*B12+B12*B20+M20*K10+M20*K12)-
F*(M10*B20+M10*B12+M20*B10+M20*B12);
DS4=(M10*B20+M10*B12+M20*B10+M20*B12)-F*(M10*M20);
DS5=(M10*M20);
den=[DS5 DS4 DS3 DS2 DS1 DS0];

if O==1
%Respuesta nodo 1:
NS0=(K12+K20);
NS1=(B20+B12);
NS2=(M20);
num=[NS2 NS1 NS0];
impulse(num,den);
title('Respuesta Entrada exponencial Nodo 1')
ylabel('Espacio (mts)')
grid on

elseif O==2
%Respuesta nodo 2:
NS0=(K12);
NS1=(B12);
num=[NS1 NS0];
impulse(num,den);
title('Respuesta Entrada exponencial Nodo 2')
ylabel('Espacio (mts)')
grid on
end

case 3 %Si el sistema contiene tres nodos


M10=load('M10.txt');
B10=load('B10.txt');
K10=load('K10.txt');
M20=load('M20.txt');
B20=load('B20.txt');
K20=load('K20.txt');
M30=load('M30.txt');
B30=load('B30.txt');
K30=load('K30.txt');
B12=load('B12.txt');
K12=load('K12.txt');
B13=load('B13.txt');
K13=load('K13.txt');
B23=load('B23.txt');
K23=load('K23.txt');
F=load('Fuerza.txt');
O=load('Salida.txt');%salida que desea visualizar 1 2 O 3

%Determinante del sistema

167
DS0=-F*((((K10+K12+K13)*(K30+K23+K13)*(K20+K12+K23))-
((K10+K12+K13)*(K23*K23)))-(((K12*K12)*(K30+K23+K13))+(K12*K23*K13))-
((K12*K23*K13)+((K20+K12+K23)*(K13*K13))));
DS1=((((K10+K12+K13)*(K30+K23+K13)*(K20+K12+K23))-
((K10+K12+K13)*(K23*K23)))-(((K12*K12)*(K30+K23+K13))+(K12*K23*K13))-
((K12*K23*K13)+((K20+K12+K23)*(K13*K13))))-
F*((((B10+B12+B13)*(K20+K12+K23)*(K30+K23+K13))-
((B10+B12+B13)*(K23*K23))+((K30+K23+K13)*(K10+K12+K13)*(B20+B12+B23))+((K
20+K12+K23)*(K10+K12+K13)*(B30+B23+B13))-((2*B23*K23)*(K10+K12+K13)))-
(((K12*B12*(K30+K23+K13)))+(B12*K23*K13)+(B12*K12*(K30+K23+K13))+((K12*K1
2)*(B30+B23+B13))+(K13*K12*B23)+(K23*B13*K12))-
((K12*K23*B13)+((K20+K12+K23)*(K13*B13))+(B12*K23*K13)+(K12*B23*K13)+((B2
0+B12+B23)*(K13*K13))+((K20+K12+K23)*(B13*K13))));
DS2=((((B10+B12+B13)*(K20+K12+K23)*(K30+K23+K13))-
((B10+B12+B13)*(K23*K23))+((K30+K23+K13)*(K10+K12+K13)*(B20+B12+B23))+((K
20+K12+K23)*(K10+K12+K13)*(B30+B23+B13))-((2*B23*K23)*(K10+K12+K13)))-
(((K12*B12*(K30+K23+K13)))+(B12*K23*K13)+(B12*K12*(K30+K23+K13))+((K12*K1
2)*(B30+B23+B13))+(K13*K12*B23)+(K23*B13*K12))-
((K12*K23*B13)+((K20+K12+K23)*(K13*B13))+(B12*K23*K13)+(K12*B23*K13)+((B2
0+B12+B23)*(K13*K13))+((K20+K12+K23)*(B13*K13))))-
F*(((M10*(K30+K23+K13)*(K20+K23+K12))-
(M10*K23*K23)+((B10+B12+B13)*(K30+K23+K13)*(B20+B12+B23))+((K20+K12+K23)*
(B30+B23+B13)*(B10+B12+B13))-
((2*B23*K23)*(B10+B12+B13))+(M20*(K30+K23+K13)*(K10+K12+K13))+((B20+B12+B
23)*(B30+B23+B13)*(K10+K12+K13))+(M30*(K20+K12+K23)*(K10+K12+K13))-
((K10+K12+K13)*B23*B23))-
(((B12^2)*(K30+K23+K13))+((B12*K12)*(B30+B23+B13))+((B12*B13*K23)+(B12*B2
3*K13))+((B12*K12)*(B30+B23+B13))+(M30*K12^2)+(B13*B23*K12))-
(((B13*B12*K23)+(B13*B23*K12))+((B13^2)*(K20+K12+K23))+((B13*K13)*(B20+B1
2+B23))+(B12*B23*K13)+(M20*K13*K13)+((B20+B12+B23)*(B13*K13))));
DS3=(((M10*(K30+K23+K13)*(K20+K23+K12))-
(M10*K23*K23)+((B10+B12+B13)*(K30+K23+K13)*(B20+B12+B23))+((K20+K12+K23)*
(B30+B23+B13)*(B10+B12+B13))-
((2*B23*K23)*(B10+B12+B13))+(M20*(K30+K23+K13)*(K10+K12+K13))+((B20+B12+B
23)*(B30+B23+B13)*(K10+K12+K13))+(M30*(K20+K12+K23)*(K10+K12+K13))-
((K10+K12+K13)*B23*B23))-
(((B12^2)*(K30+K23+K13))+((B12*K12)*(B30+B23+B13))+((B12*B13*K23)+(B12*B2
3*K13))+((B12*K12)*(B30+B23+B13))+(M30*K12^2)+(B13*B23*K12))-
(((B13*B12*K23)+(B13*B23*K12))+((B13^2)*(K20+K12+K23))+((B13*K13)*(B20+B1
2+B23))+(B12*B23*K13)+(M20*K13*K13)+((B20+B12+B23)*(B13*K13))))-
F*(((M10*(B20+B12+B23)*(K30+K23+K13))+(M10*(K20+K12+K23)*(B30+B23+B13))-
(2*M10*B23*K23)+(M20*(K30+K23+K13)*(B10+B12+B13))+((B10+B12+B13)*(B20+B12
+B23)*(B30+B23+B13))+(M30*(K20+K12+K23)*(B10+B12+B13))-
((B23^2)*(B10+B12+B13))+(M20*(B30+B23+B13)*(K10+K12+K13))+(M30*(B20+B12+B
23)*(K10+K12+K13)))-
(((B12^2)*(B30+B23+B13))+((M30*K12*B12)+(B12*B13*B23))+(M30*B12*K12))-
(((B13^2)*(B20+B12+B23))+(M20*K13*B13)+(B12*B13*B23)+(B13*K13*M20)));

DS4=(((M10*(B20+B12+B23)*(K30+K23+K13))+(M10*(K20+K12+K23)*(B30+B23+B13))
-
(2*M10*B23*K23)+(M20*(K30+K23+K13)*(B10+B12+B13))+((B10+B12+B13)*(B20+B12
+B23)*(B30+B23+B13))+(M30*(K20+K12+K23)*(B10+B12+B13))-
((B23^2)*(B10+B12+B13))+(M20*(B30+B23+B13)*(K10+K12+K13))+(M30*(B20+B12+B
23)*(K10+K12+K13)))-

168
(((B12^2)*(B30+B23+B13))+((M30*K12*B12)+(B12*B13*B23))+(M30*B12*K12))-
(((B13^2)*(B20+B12+B23))+(M20*K13*B13)+(B12*B13*B23)+(B13*K13*M20)))-
F*((((M10*M20)*(K30+K23+K13))+((M10)*((B20+B12+B23)*(B30+B23+B13)))+((M10
*M30)*(K20+K12+K23))-
(M10*B23^2)+((M20)*((B30+B23+B13)*(B10+B12+B13)))+((M30)*((B20+B12+B23)*(
B10+B12+B13)))+((M20*M30)*(K10+K12+K13)))-(M30*B12^2)-(M20*B13^2));

DS5=((((M10*M20)*(K30+K23+K13))+((M10)*((B20+B12+B23)*(B30+B23+B13)))+((M
10*M30)*(K20+K12+K23))-
(M10*B23^2)+((M20)*((B30+B23+B13)*(B10+B12+B13)))+((M30)*((B20+B12+B23)*(
B10+B12+B13)))+((M20*M30)*(K10+K12+K13)))-(M30*B12^2)-(M20*B13^2))-
F*(((M10*M20)*(B30+B23+B13))+((M10*M30)*(B20+B12+B23))+((M20*M30)*(B10+B1
2+B13)));

DS6=(((M10*M20)*(B30+B23+B13))+((M10*M30)*(B20+B12+B23))+((M20*M30)*(B10+
B12+B13)))-F*(M10*M20*M30);
DS7=M10*M20*M30;
den=[DS7 DS6 DS5 DS4 DS3 DS2 DS1 DS0];

if O==1
%Salida nodo 1:

NS0=(((K20+K12+K23)*(K30+K23+K13))-(K23*K23));

NS1=(((B20+B12+B23)*(K30+K23+K13))+((K20+K12+K23)*(B30+B23+B13))-
(2*B23*K23));

NS2=((M20*(K30+K23+K13))+((M30*(K20+K12+K23)))+((B20+B12+B23)*(B30+B23+B1
3))-(B23*B23));
NS3=((M20*(B30+B23+B13))+(M30*(B20+B12+B23)));
NS4=M20*M30;
num=[NS4 NS3 NS2 NS1 NS0];
impulse(num,den);
title('Respuesta Entrada exponencial Nodo 1')
ylabel('Espacio (mts)')
grid on

elseif O==2
%Salida nodo 2:

NS0=((K12*(K30+K23+K13))+(K13*K23));

NS1=((B12*(K30+K23+K13))+(K12*(B30+B23+B13))+((B13*K23)+(B23*K13)));
NS2=((B12*(B30+B23+B13))+(M30*K12)+(B13*B23));
NS3=(M30*B12);
num=[NS3 NS2 NS1 NS0];
impulse(num,den);
title('Respuesta Entrada exponencial Nodo 2')
ylabel('Espacio (mts)')
grid on

elseif O==3
%Salida nodo 3:

169
NS0=((K12*K23)+(K13*(K20+K12+K23)));

NS1=((B12*K23)+(K12*B23)+(K13*(B20+B12+B23))+(B13*(K20+K12+K23)));
NS2=((B12*B23)+(M20*K13)+(B13*(B20+B12+B23)));
NS3=(M20*B13);
num=[NS3 NS2 NS1 NS0];
impulse(num,den);
title('Respuesta Entrada exponencial Nodo 3')
ylabel('Espacio (mts)')
grid on
end

otherwise
disp('No hay ningun sistema definido')
end

170
ANEXO K. DIAGRAMA DE FLUJO RESPUESTA EN EL TIEMPO A ENTRADA
EXPONENCIAL

171
172
ANEXO L. PROGRAMA DIAGRAMA DE BODE

function RespBode

%Programa para graficar diagramas de Bode


%con los coeficientes del polinomio
clc
clear all

N=load('Nodos.txt');

switch lower(N)
case {1} %Si el sistema solo contiene un nodo
M10=load('M10.txt');
B10=load('B10.txt');
K10=load('K10.txt');
DS0=K10;
DS1=B10;
DS2=M10;
num=[1];
den=[DS2 DS1 DS0];
bode(num,den);
title('Diagrama De Bode Nodo 1')
grid on

case 2 %Si el sistema contiene dos nodos


M10=load('M10.txt');
B10=load('B10.txt');
K10=load('K10.txt');
M20=load('M20.txt');
B20=load('B20.txt');
K20=load('K20.txt');
B12=load('B12.txt');
K12=load('K12.txt');
O=load('Salida.txt');%salida que desea visualizar 1 o 2

%Determinante del sistema


DS0=(K10*K20+K10*K12+K12*K20);
DS1=(K20*B10+K20*B12+K12*B10+K10*B20+K10*B12+K12*B20);

DS2=(M10*K20+M10*K12+B10*B20+B10*B12+B12*B20+M20*K10+M20*K12);
DS3=(M10*B20+M10*B12+M20*B10+M20*B12);
DS4=(M10*M20);
den=[DS4 DS3 DS2 DS1 DS0];

if O==1
%Diagrama de Bode nodo 1:
NS0=(K12+K20);
NS1=(B20+B12);

173
NS2=(M20);
num=[NS2 NS1 NS0];
bode(num,den);
title('Diagrama De Bode Nodo 1')
grid on;

elseif O==2
%Diagrama de Bode nodo 2:
NS0=(K12);
NS1=(B12);
num=[NS1 NS0];
bode(num,den);
title('Diagrama De Bode Nodo 2')
grid on;

end

case 3 %Si el sistema contiene tres nodos

M10=load('M10.txt');
B10=load('B10.txt');
K10=load('K10.txt');
M20=load('M20.txt');
B20=load('B20.txt');
K20=load('K20.txt');
M30=load('M30.txt');
B30=load('B30.txt');
K30=load('K30.txt');
B12=load('B12.txt');
K12=load('K12.txt');
B13=load('B13.txt');
K13=load('K13.txt');
B23=load('B23.txt');
K23=load('K23.txt');
O=load('Salida.txt');%salida que desea visualizar 1 2 O 3

%Determinante del sistema

DS0=(((K10+K12+K13)*(K30+K23+K13)*(K20+K12+K23))-
((K10+K12+K13)*(K23*K23)))-(((K12*K12)*(K30+K23+K13))+(K12*K23*K13))-
((K12*K23*K13)+((K20+K12+K23)*(K13*K13)));
DS1=(((B10+B12+B13)*(K20+K12+K23)*(K30+K23+K13))-
((B10+B12+B13)*(K23*K23))+((K30+K23+K13)*(K10+K12+K13)*(B20+B12+B23))+((K
20+K12+K23)*(K10+K12+K13)*(B30+B23+B13))-((2*B23*K23)*(K10+K12+K13)))-
(((K12*B12*(K30+K23+K13)))+(B12*K23*K13)+(B12*K12*(K30+K23+K13))+((K12*K1
2)*(B30+B23+B13))+(K13*K12*B23)+(K23*B13*K12))-
((K12*K23*B13)+((K20+K12+K23)*(K13*B13))+(B12*K23*K13)+(K12*B23*K13)+((B2
0+B12+B23)*(K13*K13))+((K20+K12+K23)*(B13*K13)));

174
DS2=((M10*(K30+K23+K13)*(K20+K23+K12))-
(M10*K23*K23)+((B10+B12+B13)*(K30+K23+K13)*(B20+B12+B23))+((K20+K12+K23)*
(B30+B23+B13)*(B10+B12+B13))-
((2*B23*K23)*(B10+B12+B13))+(M20*(K30+K23+K13)*(K10+K12+K13))+((B20+B12+B
23)*(B30+B23+B13)*(K10+K12+K13))+(M30*(K20+K12+K23)*(K10+K12+K13))-
((K10+K12+K13)*B23*B23))-
(((B12^2)*(K30+K23+K13))+((B12*K12)*(B30+B23+B13))+((B12*B13*K23)+(B12*B2
3*K13))+((B12*K12)*(B30+B23+B13))+(M30*K12^2)+(B13*B23*K12))-
(((B13*B12*K23)+(B13*B23*K12))+((B13^2)*(K20+K12+K23))+((B13*K13)*(B20+B1
2+B23))+(B12*B23*K13)+(M20*K13*K13)+((B20+B12+B23)*(B13*K13)));

DS3=((M10*(B20+B12+B23)*(K30+K23+K13))+(M10*(K20+K12+K23)*(B30+B23+B13))-
(2*M10*B23*K23)+(M20*(K30+K23+K13)*(B10+B12+B13))+((B10+B12+B13)*(B20+B12
+B23)*(B30+B23+B13))+(M30*(K20+K12+K23)*(B10+B12+B13))-
((B23^2)*(B10+B12+B13))+(M20*(B30+B23+B13)*(K10+K12+K13))+(M30*(B20+B12+B
23)*(K10+K12+K13)))-
(((B12^2)*(B30+B23+B13))+((M30*K12*B12)+(B12*B13*B23))+(M30*B12*K12))-
(((B13^2)*(B20+B12+B23))+(M20*K13*B13)+(B12*B13*B23)+(B13*K13*M20));

DS4=(((M10*M20)*(K30+K23+K13))+((M10)*((B20+B12+B23)*(B30+B23+B13)))+((M1
0*M30)*(K20+K12+K23))-
(M10*B23^2)+((M20)*((B30+B23+B13)*(B10+B12+B13)))+((M30)*((B20+B12+B23)*(
B10+B12+B13)))+((M20*M30)*(K10+K12+K13)))-(M30*B12^2)-(M20*B13^2);

DS5=((M10*M20)*(B30+B23+B13))+((M10*M30)*(B20+B12+B23))+((M20*M30)*(B10+B
12+B13));
DS6=M10*M20*M30;
den=[DS6 DS5 DS4 DS3 DS2 DS1 DS0];

if O==1
%Diagrama de Bode nodo 1:

NS0=(((K20+K12+K23)*(K30+K23+K13))-(K23*K23));

NS1=(((B20+B12+B23)*(K30+K23+K13))+((K20+K12+K23)*(B30+B23+B13))-
(2*B23*K23));

NS2=((M20*(K30+K23+K13))+((M30*(K20+K12+K23)))+((B20+B12+B23)*(B30+B23+B1
3))-(B23*B23));
NS3=((M20*(B30+B23+B13))+(M30*(B20+B12+B23)));
NS4=M20*M30;
num=[NS4 NS3 NS2 NS1 NS0];
bode(num,den);
title('Diagrama De Bode Nodo 1')
grid on;

elseif O==2
%Diagrama de Bode nodo 2:

NS0=((K12*(K30+K23+K13))+(K13*K23));

NS1=((B12*(K30+K23+K13))+(K12*(B30+B23+B13))+((B13*K23)+(B23*K13)));

175
NS2=((B12*(B30+B23+B13))+(M30*K12)+(B13*B23));
NS3=(M30*B12);
num=[NS3 NS2 NS1 NS0];
bode(num,den);
title('Diagrama De Bode Nodo 2')
grid on

elseif O==3
%Diagrama de Bode nodo 3:

NS0=((K12*K23)+(K13*(K20+K12+K23)));

NS1=((B12*K23)+(K12*B23)+(K13*(B20+B12+B23))+(B13*(K20+K12+K23)));
NS2=((B12*B23)+(M20*K13)+(B13*(B20+B12+B23)));
NS3=(M20*B13);
num=[NS3 NS2 NS1 NS0];
bode(num,den);
title('Diagrama De Bode Nodo 3')
grid on

end

otherwise
disp('No hay ningun sistema definido')
end

176
ANEXO M. DIAGRAMA DE FLUJO PROGRAMA DIAGRAMA DE BODE
INICIO

M10,M20,M30,B10,B20,B30,K1
0,K20,K30,B12,B13,B23,K12,K1
3,K23,O,N,DS0,DS1,DS2,DS3,
DS4,DS5,DS6,den,num

N=Nodos.txt

No No No
N=1 N=2 N=3

Si Si Si No hay ningún
sistema definido

M10=M10.txt M10=M10.txt
B10=B10.txt B10=B10.txt
K10=K10.txt K10=K10.txt
M20=M20.txt
M10=M10.txt
B20=B20.txt
B10=B10.txt
K20=K20.txt
K10=K10.txt
B12=B12.txt
DS0=K10 M20=M20.txt
K12=K12.txt
DS1=B10 B20='B20.txt
O=Salida.txt
DS2=M10 K20=K20.txt
num=[1] M30=M30.txt
den=[DS2 DS1 DS0] B30=B30.txt
K30=K30.txt
DS0=(K10*K20+K10*K12+K12*K20) B12=B12.txt
DS1=(K20*B10+K20*B12+K12*B10+K10*B20+K10*B12+K12*B20) K12=K12.txt
DS2=(M10*K20+M10*K12+B10*B20+B10*B12+B12*B20+M20*K10+M20*K12) B13=B13.txt
DS3=(M10*B20+M10*B12+M20*B10+M20*B12) K13=K13.txt
bode(num,den) DS4=(M10*M20) B23=B23.txt
den=[DS4 DS3 DS2 DS1 DS0] K23=K23.txt
O=Salida.txt

No No
O=1 O=2
DS0=(((K10+K12+K13)*(K30+K23+K13)*(K20+K12+K23))-((K10+K12+K13)*(K23*K23)))-
(((K12*K12)*(K30+K23+K13))+(K12*K23*K13))-((K12*K23*K13)+((K20+K12+K23)*(K13*K13)))
Si Si DS1=(((B10+B12+B13)*(K20+K12+K23)*(K30+K23+K13))-
((B10+B12+B13)*(K23*K23))+((K30+K23+K13)*(K10+K12+K13)*(B20+B12+B23))+((K20+K12+K2
3)*(K10+K12+K13)*(B30+B23+B13))-((2*B23*K23)*(K10+K12+K13)))-
(((K12*B12*(K30+K23+K13)))+(B12*K23*K13)+(B12*K12*(K30+K23+K13))+((K12*K12)*(B30+B23
NS0=(K12+K20) +B13))+(K13*K12*B23)+(K23*B13*K12))-
NS0=(K12) ((K12*K23*B13)+((K20+K12+K23)*(K13*B13))+(B12*K23*K13)+(K12*B23*K13)+((B20+B12+B23)
NS1=(B20+B12) NS1=(B12)
NS2=(M20) *(K13*K13))+((K20+K12+K23)*(B13*K13)))
num=[NS2 NS1 NS0] num=[NS1 NS0] DS2=((M10*(K30+K23+K13)*(K20+K23+K12))-
(M10*K23*K23)+((B10+B12+B13)*(K30+K23+K13)*(B20+B12+B23))+((K20+K12+K23)*(B30+B23
+B13)*(B10+B12+B13))-
((2*B23*K23)*(B10+B12+B13))+(M20*(K30+K23+K13)*(K10+K12+K13))+((B20+B12+B23)*(B30+
B23+B13)*(K10+K12+K13))+(M30*(K20+K12+K23)*(K10+K12+K13))-
bode(num,den) bode(num,den) ((K10+K12+K13)*B23*B23))-
(((B12^2)*(K30+K23+K13))+((B12*K12)*(B30+B23+B13))+((B12*B13*K23)+(B12*B23*K13))+((B1
2*K12)*(B30+B23+B13))+(M30*K12^2)+(B13*B23*K12))-
(((B13*B12*K23)+(B13*B23*K12))+((B13^2)*(K20+K12+K23))+((B13*K13)*(B20+B12+B23))+(B12
*B23*K13)+(M20*K13*K13)+((B20+B12+B23)*(B13*K13)))
DS3=((M10*(B20+B12+B23)*(K30+K23+K13))+(M10*(K20+K12+K23)*(B30+B23+B13))-
(2*M10*B23*K23)+(M20*(K30+K23+K13)*(B10+B12+B13))+((B10+B12+B13)*(B20+B12+B23)*(B
30+B23+B13))+(M30*(K20+K12+K23)*(B10+B12+B13))-
((B23^2)*(B10+B12+B13))+(M20*(B30+B23+B13)*(K10+K12+K13))+(M30*(B20+B12+B23)*(K10+
K12+K13)))-(((B12^2)*(B30+B23+B13))+((M30*K12*B12)+(B12*B13*B23))+(M30*B12*K12))-
(((B13^2)*(B20+B12+B23))+(M20*K13*B13)+(B12*B13*B23)+(B13*K13*M20))
DS4=(((M10*M20)*(K30+K23+K13))+((M10)*((B20+B12+B23)*(B30+B23+B13)))+((M10*M30)*(K2
0+K12+K23))-
(M10*B23^2)+((M20)*((B30+B23+B13)*(B10+B12+B13)))+((M30)*((B20+B12+B23)*(B10+B12+B1
3)))+((M20*M30)*(K10+K12+K13)))-(M30*B12^2)-(M20*B13^2)
DS5=((M10*M20)*(B30+B23+B13))+((M10*M30)*(B20+B12+B23))+((M20*M30)*(B10+B12+B13))
DS6=M10*M20*M30
den=[DS6 DS5 DS4 DS3 DS2 DS1 DS0]

No No No
O=1 O=2 O=3

Si Si Si

NS0=(((K20+K12+K23)*(K30+K23+K13))-(K23*K23))
NS1=(((B20+B12+B23)*(K30+K23+K13))+((K20+K12+K23)*( NS0=((K12*(K30+K23+K13))+(K13*K23)) NS0=((K12*K23)+(K13*(K20+K12+K23)))
B30+B23+B13))-(2*B23*K23)) NS1=((B12*(K30+K23+K13))+(K12*(B30+B23+B13)) NS1=((B12*K23)+(K12*B23)+(K13*(B20+B12+B23))+(
NS2=((M20*(K30+K23+K13))+((M30*(K20+K12+K23)))+((B20 +((B13*K23)+(B23*K13))) B13*(K20+K12+K23)))
+B12+B23)*(B30+B23+B13))-(B23*B23)) NS2=((B12*(B30+B23+B13))+(M30*K12)+(B13*B23)) NS2=((B12*B23)+(M20*K13)+(B13*(B20+B12+B23)))
NS3=((M20*(B30+B23+B13))+(M30*(B20+B12+B23))) NS3=(M30*B12) NS3=(M20*B13)
NS4=M20*M30 num=[NS3 NS2 NS1 NS0] num=[NS3 NS2 NS1 NS0]
num=[NS4 NS3 NS2 NS1 NS0]

bode(num,den) bode(num,den) bode(num,den)

177
ANEXO N. PROGRAMA DIAGRAMA DE NYQUIST

function RespNyquist

%Programa para graficar diagramas de nyquist


%con los coeficientes del polinomio
clc
clear all

N=load('Nodos.txt');

switch lower(N)
case {1} %Si el sistema solo contiene un nodo
M10=load('M10.txt');
B10=load('B10.txt');
K10=load('K10.txt');
DS0=K10;
DS1=B10;
DS2=M10;
num=[1];
den=[DS2 DS1 DS0];
nyquist(num,den);
title('Diagrama De Nyquist Nodo 1')
grid on

case 2 %Si el sistema contiene dos nodos


M10=load('M10.txt');
B10=load('B10.txt');
K10=load('K10.txt');
M20=load('M20.txt');
B20=load('B20.txt');
K20=load('K20.txt');
B12=load('B12.txt');
K12=load('K12.txt');
O=load('Salida.txt');%salida que desea visualizar 1 o 2

%Determinante del sistema


DS0=(K10*K20+K10*K12+K12*K20);
DS1=(K20*B10+K20*B12+K12*B10+K10*B20+K10*B12+K12*B20);

DS2=(M10*K20+M10*K12+B10*B20+B10*B12+B12*B20+M20*K10+M20*K12);
DS3=(M10*B20+M10*B12+M20*B10+M20*B12);
DS4=(M10*M20);
den=[DS4 DS3 DS2 DS1 DS0];

if O==1
%Diagrama de nyquist nodo 1:
NS0=(K12+K20);
NS1=(B20+B12);
NS2=(M20);

178
num=[NS2 NS1 NS0];
nyquist(num,den);
title('Diagrama De Nyquist Nodo 1')
grid on

elseif O==2
%Diagrama de nyquist nodo 2:
NS0=(K12);
NS1=(B12);
num=[NS1 NS0];
nyquist(num,den);
title('Diagrama De Nyquist Nodo 2')
grid on

end

case 3 %Si el sistema contiene tres nodos

M10=load('M10.txt');
B10=load('B10.txt');
K10=load('K10.txt');
M20=load('M20.txt');
B20=load('B20.txt');
K20=load('K20.txt');
M30=load('M30.txt');
B30=load('B30.txt');
K30=load('K30.txt');
B12=load('B12.txt');
K12=load('K12.txt');
B13=load('B13.txt');
K13=load('K13.txt');
B23=load('B23.txt');
K23=load('K23.txt');
O=load('Salida.txt');%salida que desea visualizar 1 2 O 3

%Determinante del sistema


DS0=(((K10+K12+K13)*(K30+K23+K13)*(K20+K12+K23))-
((K10+K12+K13)*(K23*K23)))-(((K12*K12)*(K30+K23+K13))+(K12*K23*K13))-
((K12*K23*K13)+((K20+K12+K23)*(K13*K13)));
DS1=(((B10+B12+B13)*(K20+K12+K23)*(K30+K23+K13))-
((B10+B12+B13)*(K23*K23))+((K30+K23+K13)*(K10+K12+K13)*(B20+B12+B23))+((K
20+K12+K23)*(K10+K12+K13)*(B30+B23+B13))-((2*B23*K23)*(K10+K12+K13)))-
(((K12*B12*(K30+K23+K13)))+(B12*K23*K13)+(B12*K12*(K30+K23+K13))+((K12*K1
2)*(B30+B23+B13))+(K13*K12*B23)+(K23*B13*K12))-
((K12*K23*B13)+((K20+K12+K23)*(K13*B13))+(B12*K23*K13)+(K12*B23*K13)+((B2
0+B12+B23)*(K13*K13))+((K20+K12+K23)*(B13*K13)));
DS2=((M10*(K30+K23+K13)*(K20+K23+K12))-
(M10*K23*K23)+((B10+B12+B13)*(K30+K23+K13)*(B20+B12+B23))+((K20+K12+K23)*
(B30+B23+B13)*(B10+B12+B13))-
((2*B23*K23)*(B10+B12+B13))+(M20*(K30+K23+K13)*(K10+K12+K13))+((B20+B12+B
23)*(B30+B23+B13)*(K10+K12+K13))+(M30*(K20+K12+K23)*(K10+K12+K13))-

179
((K10+K12+K13)*B23*B23))-
(((B12^2)*(K30+K23+K13))+((B12*K12)*(B30+B23+B13))+((B12*B13*K23)+(B12*B2
3*K13))+((B12*K12)*(B30+B23+B13))+(M30*K12^2)+(B13*B23*K12))-
(((B13*B12*K23)+(B13*B23*K12))+((B13^2)*(K20+K12+K23))+((B13*K13)*(B20+B1
2+B23))+(B12*B23*K13)+(M20*K13*K13)+((B20+B12+B23)*(B13*K13)));

DS3=((M10*(B20+B12+B23)*(K30+K23+K13))+(M10*(K20+K12+K23)*(B30+B23+B13))-
(2*M10*B23*K23)+(M20*(K30+K23+K13)*(B10+B12+B13))+((B10+B12+B13)*(B20+B12
+B23)*(B30+B23+B13))+(M30*(K20+K12+K23)*(B10+B12+B13))-
((B23^2)*(B10+B12+B13))+(M20*(B30+B23+B13)*(K10+K12+K13))+(M30*(B20+B12+B
23)*(K10+K12+K13)))-
(((B12^2)*(B30+B23+B13))+((M30*K12*B12)+(B12*B13*B23))+(M30*B12*K12))-
(((B13^2)*(B20+B12+B23))+(M20*K13*B13)+(B12*B13*B23)+(B13*K13*M20));

DS4=(((M10*M20)*(K30+K23+K13))+((M10)*((B20+B12+B23)*(B30+B23+B13)))+((M1
0*M30)*(K20+K12+K23))-
(M10*B23^2)+((M20)*((B30+B23+B13)*(B10+B12+B13)))+((M30)*((B20+B12+B23)*(
B10+B12+B13)))+((M20*M30)*(K10+K12+K13)))-(M30*B12^2)-(M20*B13^2);

DS5=((M10*M20)*(B30+B23+B13))+((M10*M30)*(B20+B12+B23))+((M20*M30)*(B10+B
12+B13));
DS6=M10*M20*M30;
den=[DS6 DS5 DS4 DS3 DS2 DS1 DS0];

if O==1
%Diagrama de nyquist nodo 1:

NS0=(((K20+K12+K23)*(K30+K23+K13))-(K23*K23));

NS1=(((B20+B12+B23)*(K30+K23+K13))+((K20+K12+K23)*(B30+B23+B13))-
(2*B23*K23));

NS2=((M20*(K30+K23+K13))+((M30*(K20+K12+K23)))+((B20+B12+B23)*(B30+B23+B1
3))-(B23*B23));
NS3=((M20*(B30+B23+B13))+(M30*(B20+B12+B23)));
NS4=M20*M30;
num=[NS4 NS3 NS2 NS1 NS0];
nyquist(num,den);
title('Diagrama De Nyquist Nodo 1')
grid on

elseif O==2
%Diagrama de nyquist nodo 2:

NS0=((K12*(K30+K23+K13))+(K13*K23));

NS1=((B12*(K30+K23+K13))+(K12*(B30+B23+B13))+((B13*K23)+(B23*K13)));
NS2=((B12*(B30+B23+B13))+(M30*K12)+(B13*B23));
NS3=(M30*B12);
num=[NS3 NS2 NS1 NS0];
nyquist(num,den);
title('Diagrama De Nyquist Nodo 2')
grid on
elseif O==3

180
%Diagrama de nyquist nodo 3:

NS0=((K12*K23)+(K13*(K20+K12+K23)));

NS1=((B12*K23)+(K12*B23)+(K13*(B20+B12+B23))+(B13*(K20+K12+K23)));
NS2=((B12*B23)+(M20*K13)+(B13*(B20+B12+B23)));
NS3=(M20*B13);
num=[NS3 NS2 NS1 NS0];
nyquist(num,den);
title('Diagrama De Nyquist Nodo 3')
grid on
end

otherwise
disp('No hay ningun sistema definido')
end

181
ANEXO O. DIAGRAMA DE FLUJO PROGRAMA DIAGRAMA DE NYQUIST
INICIO

M10,M20,M30,B10,B20,B30,K1
0,K20,K30,B12,B13,B23,K12,K1
3,K23,O,N,DS0,DS1,DS2,DS3,
DS4,DS5,DS6,den,num

N=Nodos.txt

No No No
N=1 N=2 N=3

Si Si Si No hay ningún
sistema definido

M10=M10.txt M10=M10.txt
B10=B10.txt B10=B10.txt
K10=K10.txt K10=K10.txt
M20=M20.txt
M10=M10.txt
B20=B20.txt
B10=B10.txt
K20=K20.txt
K10=K10.txt
B12=B12.txt
DS0=K10 M20=M20.txt
K12=K12.txt
DS1=B10 B20='B20.txt
O=Salida.txt
DS2=M10 K20=K20.txt
num=[1] M30=M30.txt
den=[DS2 DS1 DS0] B30=B30.txt
K30=K30.txt
DS0=(K10*K20+K10*K12+K12*K20) B12=B12.txt
DS1=(K20*B10+K20*B12+K12*B10+K10*B20+K10*B12+K12*B20) K12=K12.txt
DS2=(M10*K20+M10*K12+B10*B20+B10*B12+B12*B20+M20*K10+M20*K12) B13=B13.txt
DS3=(M10*B20+M10*B12+M20*B10+M20*B12) K13=K13.txt
nyquist(num,den) DS4=(M10*M20) B23=B23.txt
den=[DS4 DS3 DS2 DS1 DS0] K23=K23.txt
O=Salida.txt

No No
O=1 O=2
DS0=(((K10+K12+K13)*(K30+K23+K13)*(K20+K12+K23))-((K10+K12+K13)*(K23*K23)))-
(((K12*K12)*(K30+K23+K13))+(K12*K23*K13))-((K12*K23*K13)+((K20+K12+K23)*(K13*K13)))
Si Si DS1=(((B10+B12+B13)*(K20+K12+K23)*(K30+K23+K13))-
((B10+B12+B13)*(K23*K23))+((K30+K23+K13)*(K10+K12+K13)*(B20+B12+B23))+((K20+K12+K2
3)*(K10+K12+K13)*(B30+B23+B13))-((2*B23*K23)*(K10+K12+K13)))-
(((K12*B12*(K30+K23+K13)))+(B12*K23*K13)+(B12*K12*(K30+K23+K13))+((K12*K12)*(B30+B23
NS0=(K12+K20) +B13))+(K13*K12*B23)+(K23*B13*K12))-
NS0=(K12) ((K12*K23*B13)+((K20+K12+K23)*(K13*B13))+(B12*K23*K13)+(K12*B23*K13)+((B20+B12+B23)
NS1=(B20+B12) NS1=(B12)
NS2=(M20) *(K13*K13))+((K20+K12+K23)*(B13*K13)))
num=[NS2 NS1 NS0] num=[NS1 NS0] DS2=((M10*(K30+K23+K13)*(K20+K23+K12))-
(M10*K23*K23)+((B10+B12+B13)*(K30+K23+K13)*(B20+B12+B23))+((K20+K12+K23)*(B30+B23
+B13)*(B10+B12+B13))-
((2*B23*K23)*(B10+B12+B13))+(M20*(K30+K23+K13)*(K10+K12+K13))+((B20+B12+B23)*(B30+
B23+B13)*(K10+K12+K13))+(M30*(K20+K12+K23)*(K10+K12+K13))-
nyquist(num,den) nyquist(num,den) ((K10+K12+K13)*B23*B23))-
(((B12^2)*(K30+K23+K13))+((B12*K12)*(B30+B23+B13))+((B12*B13*K23)+(B12*B23*K13))+((B1
2*K12)*(B30+B23+B13))+(M30*K12^2)+(B13*B23*K12))-
(((B13*B12*K23)+(B13*B23*K12))+((B13^2)*(K20+K12+K23))+((B13*K13)*(B20+B12+B23))+(B12
*B23*K13)+(M20*K13*K13)+((B20+B12+B23)*(B13*K13)))
DS3=((M10*(B20+B12+B23)*(K30+K23+K13))+(M10*(K20+K12+K23)*(B30+B23+B13))-
(2*M10*B23*K23)+(M20*(K30+K23+K13)*(B10+B12+B13))+((B10+B12+B13)*(B20+B12+B23)*(B
30+B23+B13))+(M30*(K20+K12+K23)*(B10+B12+B13))-
((B23^2)*(B10+B12+B13))+(M20*(B30+B23+B13)*(K10+K12+K13))+(M30*(B20+B12+B23)*(K10+
K12+K13)))-(((B12^2)*(B30+B23+B13))+((M30*K12*B12)+(B12*B13*B23))+(M30*B12*K12))-
(((B13^2)*(B20+B12+B23))+(M20*K13*B13)+(B12*B13*B23)+(B13*K13*M20))
DS4=(((M10*M20)*(K30+K23+K13))+((M10)*((B20+B12+B23)*(B30+B23+B13)))+((M10*M30)*(K2
0+K12+K23))-
(M10*B23^2)+((M20)*((B30+B23+B13)*(B10+B12+B13)))+((M30)*((B20+B12+B23)*(B10+B12+B1
3)))+((M20*M30)*(K10+K12+K13)))-(M30*B12^2)-(M20*B13^2)
DS5=((M10*M20)*(B30+B23+B13))+((M10*M30)*(B20+B12+B23))+((M20*M30)*(B10+B12+B13))
DS6=M10*M20*M30
den=[DS6 DS5 DS4 DS3 DS2 DS1 DS0]

No No No
O=1 O=2 O=3

Si Si Si

NS0=(((K20+K12+K23)*(K30+K23+K13))-(K23*K23))
NS1=(((B20+B12+B23)*(K30+K23+K13))+((K20+K12+K23)*( NS0=((K12*(K30+K23+K13))+(K13*K23)) NS0=((K12*K23)+(K13*(K20+K12+K23)))
B30+B23+B13))-(2*B23*K23)) NS1=((B12*(K30+K23+K13))+(K12*(B30+B23+B13)) NS1=((B12*K23)+(K12*B23)+(K13*(B20+B12+B23))+(
NS2=((M20*(K30+K23+K13))+((M30*(K20+K12+K23)))+((B20 +((B13*K23)+(B23*K13))) B13*(K20+K12+K23)))
+B12+B23)*(B30+B23+B13))-(B23*B23)) NS2=((B12*(B30+B23+B13))+(M30*K12)+(B13*B23)) NS2=((B12*B23)+(M20*K13)+(B13*(B20+B12+B23)))
NS3=((M20*(B30+B23+B13))+(M30*(B20+B12+B23))) NS3=(M30*B12) NS3=(M20*B13)
NS4=M20*M30 num=[NS3 NS2 NS1 NS0] num=[NS3 NS2 NS1 NS0]
num=[NS4 NS3 NS2 NS1 NS0]

nyquist(num,den) nyquist(num,den) nyquist(num,den)

182
ANEXO P. PROGRAMA LUGAR GEOMÉTRICO DE LAS RAÍCES

function RespLGR

%Programa para graficar el lugar geometrico de las raices


%con los coeficientes del polinomio
clc
clear all

N=load('Nodos.txt');

switch lower(N)
case {1} %Si el sistema solo contiene un nodo
M10=load('M10.txt');
B10=load('B10.txt');
K10=load('K10.txt');
DS0=K10;
DS1=B10;
DS2=M10;
num=[1];
den=[DS2 DS1 DS0];
rlocus(num,den);
title('Lugar Gerometrico De Las Raices Nodo 1')
ylabel('Eje Imaginario')
xlabel('Eje Real')

case 2 %Si el sistema contiene dos nodos


M10=load('M10.txt');
B10=load('B10.txt');
K10=load('K10.txt');
M20=load('M20.txt');
B20=load('B20.txt');
K20=load('K20.txt');
B12=load('B12.txt');
K12=load('K12.txt');
O=load('Salida.txt');%salida que desea visualizar 1 o 2

%Determinante del sistema


DS0=(K10*K20+K10*K12+K12*K20);
DS1=(K20*B10+K20*B12+K12*B10+K10*B20+K10*B12+K12*B20);

DS2=(M10*K20+M10*K12+B10*B20+B10*B12+B12*B20+M20*K10+M20*K12);
DS3=(M10*B20+M10*B12+M20*B10+M20*B12);
DS4=(M10*M20);
den=[DS4 DS3 DS2 DS1 DS0];

if O==1
%Grafica Lugar Geometrico De Las Raices nodo 1:
NS0=(K12+K20);
NS1=(B20+B12);

183
NS2=(M20);
num=[NS2 NS1 NS0];
rlocus(num,den);
title('Lugar Gerometrico De Las Raices Nodo 1')
ylabel('Eje Imaginario')
xlabel('Eje Real')

elseif O==2
%Grafica Lugar Geometrico De Las Raices nodo 2:
NS0=(K12);
NS1=(B12);
num=[NS1 NS0];
rlocus(num,den);
title('Lugar Gerometrico De Las Raices Nodo 2')
ylabel('Eje Imaginario')
xlabel('Eje Real')

end

case 3 %Si el sistema contiene tres nodos

M10=load('M10.txt');
B10=load('B10.txt');
K10=load('K10.txt');
M20=load('M20.txt');
B20=load('B20.txt');
K20=load('K20.txt');
M30=load('M30.txt');
B30=load('B30.txt');
K30=load('K30.txt');
B12=load('B12.txt');
K12=load('K12.txt');
B13=load('B13.txt');
K13=load('K13.txt');
B23=load('B23.txt');
K23=load('K23.txt');
O=load('Salida.txt');%salida que desea visualizar 1 2 O 3

%Determinante del sistema


DS0=(((K10+K12+K13)*(K30+K23+K13)*(K20+K12+K23))-
((K10+K12+K13)*(K23*K23)))-(((K12*K12)*(K30+K23+K13))+(K12*K23*K13))-
((K12*K23*K13)+((K20+K12+K23)*(K13*K13)));
DS1=(((B10+B12+B13)*(K20+K12+K23)*(K30+K23+K13))-
((B10+B12+B13)*(K23*K23))+((K30+K23+K13)*(K10+K12+K13)*(B20+B12+B23))+((K
20+K12+K23)*(K10+K12+K13)*(B30+B23+B13))-((2*B23*K23)*(K10+K12+K13)))-
(((K12*B12*(K30+K23+K13)))+(B12*K23*K13)+(B12*K12*(K30+K23+K13))+((K12*K1
2)*(B30+B23+B13))+(K13*K12*B23)+(K23*B13*K12))-
((K12*K23*B13)+((K20+K12+K23)*(K13*B13))+(B12*K23*K13)+(K12*B23*K13)+((B2
0+B12+B23)*(K13*K13))+((K20+K12+K23)*(B13*K13)));
DS2=((M10*(K30+K23+K13)*(K20+K23+K12))-
(M10*K23*K23)+((B10+B12+B13)*(K30+K23+K13)*(B20+B12+B23))+((K20+K12+K23)*

184
(B30+B23+B13)*(B10+B12+B13))-
((2*B23*K23)*(B10+B12+B13))+(M20*(K30+K23+K13)*(K10+K12+K13))+((B20+B12+B
23)*(B30+B23+B13)*(K10+K12+K13))+(M30*(K20+K12+K23)*(K10+K12+K13))-
((K10+K12+K13)*B23*B23))-
(((B12^2)*(K30+K23+K13))+((B12*K12)*(B30+B23+B13))+((B12*B13*K23)+(B12*B2
3*K13))+((B12*K12)*(B30+B23+B13))+(M30*K12^2)+(B13*B23*K12))-
(((B13*B12*K23)+(B13*B23*K12))+((B13^2)*(K20+K12+K23))+((B13*K13)*(B20+B1
2+B23))+(B12*B23*K13)+(M20*K13*K13)+((B20+B12+B23)*(B13*K13)));

DS3=((M10*(B20+B12+B23)*(K30+K23+K13))+(M10*(K20+K12+K23)*(B30+B23+B13))-
(2*M10*B23*K23)+(M20*(K30+K23+K13)*(B10+B12+B13))+((B10+B12+B13)*(B20+B12
+B23)*(B30+B23+B13))+(M30*(K20+K12+K23)*(B10+B12+B13))-
((B23^2)*(B10+B12+B13))+(M20*(B30+B23+B13)*(K10+K12+K13))+(M30*(B20+B12+B
23)*(K10+K12+K13)))-
(((B12^2)*(B30+B23+B13))+((M30*K12*B12)+(B12*B13*B23))+(M30*B12*K12))-
(((B13^2)*(B20+B12+B23))+(M20*K13*B13)+(B12*B13*B23)+(B13*K13*M20));

DS4=(((M10*M20)*(K30+K23+K13))+((M10)*((B20+B12+B23)*(B30+B23+B13)))+((M1
0*M30)*(K20+K12+K23))-
(M10*B23^2)+((M20)*((B30+B23+B13)*(B10+B12+B13)))+((M30)*((B20+B12+B23)*(
B10+B12+B13)))+((M20*M30)*(K10+K12+K13)))-(M30*B12^2)-(M20*B13^2);

DS5=((M10*M20)*(B30+B23+B13))+((M10*M30)*(B20+B12+B23))+((M20*M30)*(B10+B
12+B13));
DS6=M10*M20*M30;
den=[DS6 DS5 DS4 DS3 DS2 DS1 DS0];

if O==1
%Grafica Lugar Geometrico De Las Raices nodo 1:

NS0=(((K20+K12+K23)*(K30+K23+K13))-(K23*K23));

NS1=(((B20+B12+B23)*(K30+K23+K13))+((K20+K12+K23)*(B30+B23+B13))-
(2*B23*K23));

NS2=((M20*(K30+K23+K13))+((M30*(K20+K12+K23)))+((B20+B12+B23)*(B30+B23+B1
3))-(B23*B23));
NS3=((M20*(B30+B23+B13))+(M30*(B20+B12+B23)));
NS4=M20*M30;
num=[NS4 NS3 NS2 NS1 NS0];
rlocus(num,den);
title('Lugar Gerometrico De Las Raices Nodo 1')
ylabel('Eje Imaginario')
xlabel('Eje Real')

elseif O==2
%Grafica Lugar Geometrico De Las Raices nodo 2:

NS0=((K12*(K30+K23+K13))+(K13*K23));

NS1=((B12*(K30+K23+K13))+(K12*(B30+B23+B13))+((B13*K23)+(B23*K13)));
NS2=((B12*(B30+B23+B13))+(M30*K12)+(B13*B23));
NS3=(M30*B12);
num=[NS3 NS2 NS1 NS0];

185
rlocus(num,den);
title('Lugar Gerometrico De Las Raices Nodo 2')
ylabel('Eje Imaginario')
xlabel('Eje Real')

elseif O==3
%Grafica Lugar Geometrico De Las Raices nodo 3:

NS0=((K12*K23)+(K13*(K20+K12+K23)));

NS1=((B12*K23)+(K12*B23)+(K13*(B20+B12+B23))+(B13*(K20+K12+K23)));
NS2=((B12*B23)+(M20*K13)+(B13*(B20+B12+B23)));
NS3=(M20*B13);
num=[NS3 NS2 NS1 NS0];
rlocus(num,den);
title('Lugar Gerometrico De Las Raices Nodo 3')
ylabel('Eje Imaginario')
xlabel('Eje Real')
end

otherwise
disp('No hay ningun sistema definido')
end

186
ANEXO Q. DIAGRAMA DE FLUJO PROGRAMA LUGAR GEOMÉTRICO DE
LAS RAÍCES

187

También podría gustarte