Kitabı oku: «Modelamiento y simulación de sistemas con Simulink»
Modelamiento y simulación de sistemas con Simulink. Aplicaciones en ingeniería estructural
Primera edición digital: agosto, 2020
© Miguel Raúl Guzmán Prado, Raul Franco Guzmán López
© De esta edición:
Universidad de Lima
Fondo Editorial
Av. Javier Prado Este 4600
Urb. Fundo Monterrico Chico, Lima 33
Apartado postal 852, Lima 100, Perú
Teléfono: 437-6767, anexo 30131
fondoeditorial@ulima.edu.pe www.ulima.edu.pe
Diseño, edición y carátula: Fondo Editorial de la Universidad de Lima
Versión e-book 2020
Digitalizado y distribuido por Saxo.com Perú S. A. C.
Teléfono: 51-1-221-9998
Avenida Dos de Mayo 534, Of. 404, Miraflores
Lima - Perú
Se prohíbe la reproducción total o parcial de este libro, por cualquier medio, sin permiso expreso del Fondo Editorial.
ISBN 978-9972-45-533-9
Índice
Prólogo
Presentación
Capítulo 1. Introducción al software Matlab
1.1 Antecedentes del Matlab
1.2 Características del Matlab
1.3 El ambiente del Matlab
1.4 Fundamentos del Matlab
1.4.1 Formato de impresión de resultados
1.4.2 Supresión de resultados
1.4.3 Precedencia de cálculo
1.4.4 Excepciones en la asignación de variables
1.4.5 Evaluación de expresiones sin asignación de variables
1.4.6 Cálculos involucrando números reales y complejos
1.4.7 Funciones matemáticas
1.4.8 Ejemplo. Expresión con funciones matemáticas
1.4.9 Creación de figuras
1.4.10 Funciones de limpieza
1.4.11 Uso del editor de Matlab
1.5 Vectores y matrices
1.5.1 Representación de un vector
1.5.2 Operador
1.5.3 Vector columna
1.5.4 Función linspace
1.5.5 Manipulación de vectores
1.5.6 Función sort
1.5.7 Mínimos y máximos de un vector
1.5.8 Representación de una matriz
1.5.9 Ejemplo. Construcción de una matriz con base en submatrices
1.5.10 Función ones y zeros
1.5.11 Ejemplo. Extracción de elementos de una matriz
1.5.12 Ejemplo. Reordenamiento de submatrices de una matriz
1.5.13 Función diag
1.5.14 Función eye
1.5.15 Función repmat
1.5.16 Función meshgrid
1.5.17 Funciones fliplr y flipud
1.5.18 Suma, resta y concatenación de matrices
1.5.19 Operador punto
1.5.20 Determinante de una matriz
1.5.21 Inversa de una matriz
1.5.22 Arreglos multidimensionales
1.6 Entradas y salidas controladas por el usuario
1.6.1 Entradas definidas por el usuario
1.6.2 Opciones de salida
1.7 Gráficos
1.7.1 Función plot
1.7.2 Título, etiquetas y cuadrícula
1.7.3 Función hold on
1.7.4 Trazos con base en vectores y matrices
1.7.5 Funcion peaks
1.7.6 Elección de colores
1.7.7 Funciones axis, legend y text
1.7.8 Función subplot
1.7.9 Funciones semilog y loglog
1.7.10 Función yyaxis
1.7.11 Función fill y fill3
1.7.12 Funciones stem y stem3
1.7.13 Función plot3
1.7.14 Funciones comet y comet3
1.8 Programación en Matlab
1.8.1 Operadores relacionales
1.8.2 Operadores lógicos
1.8.3 Orden de precedencia
1.8.4 Ejemplo. Análisis de datos
1.8.5 Estructuras de programación y sentencias de control
1.9 Polinomios
1.9.1 Operadores relacionales
1.9.2 Ejemplo. Cálculo de un polinomio
1.9.3 Suma y resta de polinomios
1.9.4 Raíces de un polinomio
1.9.5 Función poly
1.9.6 Multiplicación de polinomios
1.9.7 División de polinomios
1.10 Cálculo simbólico
1.10.1 Función sym
1.10.2 Función syms
1.10.3 Función collect
1.10.4 Función expand
1.10.5 Función factor
1.10.6 Función simplify
1.10.7 Función pretty
1.11 Interpolación
1.11.1 Función interp1 para interpolación
1.12 Extrapolación
1.12.1 Función interp1 para extrapolación
1.13 Creación de funciones
1.13.1 Archivo de funciones
1.13.2 Funciones anónimas
Capítulo 2. Entorno de desarrollo de interfaz gráfica de usuario Guide
2.1 Introducción
2.2 Diseño de interfaces gráficas de usuario mediante el empleo de Guide
2.2.1 Plantillas
2.2.2 Ventana Inspector de Guide
2.2.3 Componente Axes (ejes)
2.2.4 Componentes Push Button y Panel
2.2.5 Componente Listbox
2.2.6 Componente Table
2.2.7 Componente Slider
2.2.8 Componente Check Box
2.2.9 Componentes Radio Button y Button Group
2.2.10 Editor de barra de herramientas
2.2.11 Editor de barra de menús desplegables de Guide
Capítulo 3. Simulink
3.1 Introducción
3.2 Simulink
3.2.1 Diagramas de bloques de Simulink
3.2.2 Ventanas de trabajo de Simulink
3.2.3 Bibliotecas de bloques
3.2.4 Creacion de un modelo simple
3.3 Ejemplos de introducción a Simulink
3.3.1 Ejemplo 1
3.3.2 Ejemplo 2
3.3.3 Ejemplo 3
3.3.4 Ejemplo 4
3.3.5 Ejemplo 5
3.3.6 Ejemplo 6
3.3.7 Ejemplo 7
3.3.8 Ejemplo 8
3.3.9 Ejemplo 9
3.3.10 Ejemplo 10
3.3.11 Ejemplo 11
3.3.12 Ejemplo 12
3.3.13 Ejemplo 13
3.3.14 Ejemplo 14
3.3.15 Ejemplo 15
3.3.16 Ejemplo 16
3.3.17 Ejemplo 17
3.3.18 Ejemplo 18
3.3.19 Ejemplo 19
3.3.20 Ejemplo 20
3.3.21 Ejemplo 21
3.3.22 Ejemplo 22
3.3.23 Ejemplo 23
3.3.24 Ejemplo 24
3.3.25 Ejemplo 25
3.3.26 Ejemplo 26
3.3.27 Ejemplo 27
3.3.28 Ejemplo 28
3.3.29 Ejemplo 29
3.3.30 Ejemplo 30
Capítulo 4. Sistemas de un grado de libertad
4.1 Introducción
4.2 Sistema lineal-elástico
4.3 Amortiguamiento del sistema
4.4 Ecuación de equilibrio dinamico del sistema
4.5 Sistema con excitación sísmica
4.6 Métodos de solución de la ecuación diferencial de equilibrio del sistema
Capítulo 5. Vibración libre y respuesta a las excitaciones
5.1 Introducción
5.2 Sistema no amortiguado en vibración libre
5.3 Sistema amortiguado en vibración libre
5.4 Respuesta a excitaciones armónicas
5.5 Respuesta a excitaciones periódicas
5.6 Respuesta a excitaciones arbitrarias
5.7 Respuesta sísmica de sistemas lineales
5.8 Espectros de respuesta
5.8.1 Espectro de respuesta de desplazamiento
5.8.2 Espectro de respuesta de pseudo-velocidad
5.8.3 Espectro de respuesta de pseudo-aceleración
Capítulo 6. Vibración libre de sistemas de un grado de libertad mediante el uso de Matlab y Simulink
6.1 Introducción
6.2 Fuerzas comprendidas en un pórtico bidimensional de 1 piso
6.3 Función de transferencia
6.4 Función de espacios de estados
6.5 Vibración libre sin amortiguamiento
6.5.1 Ejemplo 1. Vibración libre sin amortiguamiento
6.6 Vibración libre con amortiguamiento
6.6.1 Ejemplo 2. Vibración libre con amortiguamiento
Capítulo 7. Sistemas de un grado de libertad bajo excitaciones arbitrarias mediante el uso de Matlab y Simulink
7.1 Introducción
7.2 Ejemplo 1. Excitación sinusoidal
7.3 Ejemplo 2. Excitación cosenoidal
7.4 Ejemplo 3. Excitación triangular
7.5 Ejemplo 4. Excitación trapezoidal
7.6 Ejemplo 5. Excitación escalonada 1
7.7 Ejemplo 6. Excitación escalonada 2
7.8 Ejemplo 7. Excitación de pulso 1
7.9 Ejemplo 8. Excitación de pulso 2
7.10 Ejemplo 9. Excitación arbitraria 1
7.11 Ejemplo 10. Excitación arbitraria 2
7.12 Ejemplo 11. Excitación arbitraria 3
7.13 Ejemplo 12. Excitación sísmica
Capítulo 8. Análisis lineal-elástico de modelos planos
8.1 Introducción
8.2 Planteamiento del problema
8.2.1 Fuerzas elásticas
8.2.2 Fuerzas amortiguadoras
8.2.3 Fuerzas de inercia
8.3 Modelos matemáticos para pórticos planos
8.3.1 Modelo simplificado de corte
8.3.2 Modelo de viga en voladizo
8.4 Modelos matemáticos para pórticos planos
Capítulo 9. Matriz de masa, amortiguamiento y rigidez para pórticos bidimensionales mediante el uso de Matlab
9.1 Introducción
9.2 Pórtico bidimensional de un piso
9.2.1 Masa
9.2.2 Matriz de rigidez y rigidez lateral
9.2.3 Amortiguamiento
9.3 Pórtico bidimensional de tres pisos
9.3.1 Matriz de masa
9.3.2 Matriz de rigidez y matriz de rigidez lateral
9.3.3 Matriz de amortiguamiento de Rayleigh
9.3.4 Matriz de amortiguamiento de Caughey
9.4 Pórtico bidimensional de diez pisos
9.4.1 Matriz de masa
9.4.2 Matriz de rigidez y matriz de rigidez lateral
9.4.3 Matriz de amortiguamiento de Rayleigh
9.4.4 Matriz de amortiguamiento de Caughey
Capítulo 10. Modelamiento y simulación de pórticos bidimensionales mediante el uso de Matlab y Simulink
10.1 Introducción
10.2 Pórtico bidimensional de un piso
10.2.1 Ejemplo 1. Pórtico de un piso mediante el uso de Matlab
10.2.2 Ejemplo 2. Pórtico de un piso mediante el uso de Simulink
10.3 Pórtico bidimensional de tres pisos
10.3.1 Ejemplo 3. Pórtico de 3 pisos mediante el uso de Matlab
10.3.2 Ejemplo 4. Pórtico de tres pisos mediante el uso de Simulink
10.4 Pórtico bidimensional de diez pisos
10.4.1 Ejemplo 5. Pórtico de 10 pisos mediante el uso de Matlab
10.4.2 Ejemplo 6. Pórtico de tres pisos mediante el uso de Simulink
Bibliografía
Anexos
Prólogo
El avance de la ciencia y de la tecnología parece no tener límites. En general, situaciones que hasta hace algunos años parecían de ciencia ficción, hoy en día son posibles y normales. El siglo xxi debe ser considerado como el siglo de la tecnología, la comunicación y la innovación.
Las formas de vida han cambiado considerablemente y por ende también la forma de enseñar y estudiar. Las personas tienen un entorno tecnológico con acceso a información prácticamente ilimitada, herramientas muy poderosas con las que no contábamos en nuestra etapa universitaria.
Hoy en día, las carreras profesionales que ofrecen las universidades han cambiado no solo en su plan de estudios sino también en su metodología de enseñanza. Las diversas ramas de la ingeniería no son la excepción.
Estas profesiones, en general, requieren de muchas herramientas matemáticas del pensamiento computacional como soporte que permitan modelar y simplificar todos los cálculos numéricos inherentes a ellos. Especialmente, en la ingeniería estructural es fundamental su uso. Actualmente, una de las herramientas más poderosas es el Matlab, un sistema de cómputo numérico que ofrece un entorno de desarrollo integrado con un lenguaje de programación propio. Es un programa que cuenta con usuarios en los ámbitos empresarial y educativo en más de 180 países. En lo que se refiere a las universidades, es muy usado con fines académicos y de investigación.
El libro Modelamiento y simulación de sistemas con Simulink. Aplicaciones en ingeniería estructural es un texto desarrollado específicamente para sistemas de modelos de uno y más grados de libertad, donde se desarrollan los siguientes tópicos:
– Uso del lenguaje de programación Matlab.
– Uso del editor de Matlab para realizar cálculos y programas usando variables, vectores, matrices y las funciones predefinidas del lenguaje.
– Se realizan scripts donde se utilizan las funciones de entrada y salida, mostrando gráficos con sus parámetros configurados.
– Se muestran scripts con las estructuras de control de selección e iteración, así como la creación de funciones definidas por el usuario.
– Se realizan programas con Interfaz gráfica en Matlab, usando los controles Panel, Push Button, ListBox, Table, Slider, Check Box, Radio Button y Button Group. Se configura el Tool Bar y el Menu Bar.
– Se utiliza el simulador Simulink, que trabaja sobre el entorno de MatLab con un guide visual que permite modelar y simular sistemas dinámicos.
Todos los aspectos mencionados son expuestos de manera muy clara y precisa, acompañados de sus fundamentos teóricos correspondientes.
Considero que este texto es un aporte muy valioso tanto para los estudiantes como para los profesionales de la ingeniería. Los autores, Miguel Raúl Guzmán Prado y Raúl Franco Guzmán López, son dos jóvenes y talentosos ingenieros civiles, quienes con sus conocimientos y experiencia nos brindan con este texto una valiosa y poderosa herramienta de desarrollo ilimitado.
Édgar Valcárcel Pollard Magíster en Ingeniería y docente en la Universidad de Lima
Presentación
Este libro nació como producto de las clases del curso “Modelamiento y Simulación de Sistemas en Ingeniería Estructural con Simulink”, dictado en la Facultad de Ingeniería y Arquitectura de la Universidad de Lima y en el Instituto de Investigación de la Facultad de Ingeniería Civil de la Universidad Nacional de Ingeniería, con la participación de estudiantes e ingenieros de varias universidades, en su mayoría de la Carrera de Ingeniería Civil. Durante su desarrollo, los participantes interactuaron con Matlab y concluyeron que dicho software es una poderosa herramienta para el aprendizaje; como resultado de habérseles mostrado la enorme capacidad de Matlab y Simulink en la implementación de modelos matemáticos, asociados a temas de ingeniería, mediante diagramas de bloques. De nuestra etapa universitaria recordamos las dificultades y limitaciones en el aprendizaje de muchos cursos debido al desconocimiento, tanto de los alumnos como de los docentes, de softwares de cálculo numérico y visualización gráfica como Matlab. Es así como surge la idea de realizar una publicación que sea de alcance global, permitiendo a los lectores enfrentar problemas de ingeniería en un rango amplio de disciplinas.
El presente texto integra dos temas fundamentales: el uso de funciones inter-nas de Matlab como soporte fundamental del cálculo numérico y visualización gráfica, y el modelado de sistemas dinámicos mediante diagrama de bloques de Simulink. Un soporte fundamental previo al inicio del trabajo con Simulink es presentado en los dos primeros capítulos, donde el lector encontrará una gran variedad de ejemplos por replicar (ya sea en la ventana de comandos de Matlab o en el editor de Matlab), lo cual permitirá familiarizarse satisfactoriamente con el entorno de este. El tercer capítulo posibilitará al lector centrarse en la forma de trabajo de Simulink a través de una introducción y una gran variedad de ejemplos por replicar en el editor de Simulink. A partir del cuarto capítulo se presenta una breve descripción del fundamento teórico de sistemas de uno y varios grados de libertad junto a desarrollos numéricos en Matlab, con la finalidad de establecer los datos de ingreso de los modelos en Simulink y a la vez complementándose con el desarrollo del código fuente de dichos modelos.
Los objetivos principales del libro son:
• Permitir el uso de la amplia variedad de funciones elementales y funciones matemáticas especializadas con las que cuenta Matlab.
• Familiarizar al usuario con las estructuras y sentencias de programación que Matlab posee.
• Introducir al lector en la implementación de modelos matemáticos ingenieriles mediante el diagrama de bloques de Simulink.
Adicionalmente, en el siguiente enlace: http://contenidos.ulima.edu.pe/fdoedit/simulink/Modelamiento.rar se encontrarán los scripts de todos los ejemplos del libro desarrollados en Matlab y Simulink, como también algunos archivos *.html con las secuencias de los desarrollos de algunos ejemplos.
Los autores
Capítulo1 | Introducción al software Matlab |
1.1 ANTECEDENTES DEL MATLAB
En 1970 se creó el lenguaje de programación M con el propósito de acceder al software de matrices Linpack y Eispack sin tener que usar Fortran. Años más tarde, en 1984, Cleve Moler creó la primera versión del software Matlab —abreviatura de Matrix Laboratory que traducido al español quiere decir laboratorio de matrices— con la intención de emplear paquetes de subrutinas escritas en Fortran, sin necesidad de escribir programas en dicho lenguaje, en los cursos de álgebra lineal y análisis numérico. El 2004 más de un millón de personas ya usaban el Matlab en los ámbitos empresariales y académicos.
Figura 1.1. Logo de Matlab Fuente: www.mathworks.com
1.2 CARACTERÍSTICAS DEL MATLAB
Las aplicaciones del Matlab se desarrollan en un lenguaje de programación propio, mediante una sucesión de instrucciones dadas por el programador sin necesidad de leer y traducir exhaustivamente todo el código. Este lenguaje se ejecuta en un entorno de desarrollo integrado (IDE) y puede interactuar a través de ventanas e instrucciones, sobre un conjunto de comandos, generalmente almacenados en un archivo de texto que deben ser interpretados línea a línea en tiempo real (scripts con extensión *.m).
Las condiciones expuestas permitirán, en resumen, el diseño y operación de funciones programables sobre vectores y matrices, así como el cálculo lambda y la programación orientada a objetos para un determinado proyecto.
El Matlab es una de las herramientas computacionales más versátiles disponibles actualmente. Como todos los programas de cálculo científico posee virtudes y debilidades. Entre sus virtudes más resaltantes se pueden mencionar las siguientes:
• Lenguaje amigable para científicos. El entorno del Matlab es utilizado en el desarrollo y análisis de muchos sistemas y aplicaciones realizados por profesionales del ámbito científico. Las aplicaciones del Matlab comprenden desde un simple cálculo numérico hasta el uso de inteligencia artificial. Una gran virtud de este software de programación es la facilidad que brinda para su uso y la potencia de procesamiento de datos.
• Cálculo matemático y representación gráfica. Como su propio nombre lo expresa, Matlab es un laboratorio de matrices dentro del medio computacional. Asimismo, admite la visualización de los cálculos numéricos mediante funciones gráficas, proporcionando un mejor alcance en la comprensión e interpretación en ciertos campos de la matemática. Matlab cuenta con una amplia cantidad de librerías (toolboxes) que permiten al usuario emplear desde los algoritmos más sencillos hasta los más complejos.
• Enlaza flujos de trabajo. Matlab enlaza flujos de trabajo acoplando ideas de implementación con más de 1000 dispositivos de hardware; mediante el uso de clusters, GPU y la nube para ejecutar algoritmos con gran cantidad de datos; al trabajar con Simulink y Stateflow para recrear diseños basados en modelos.