Modelamiento y simulación de sistemas con Simulink - Miguel Raúl Guzmán Prado - kostenlos E-Book

Modelamiento y simulación de sistemas con Simulink E-Book

Miguel Raúl Guzmán Prado

0,0

Beschreibung

El presente libro se propone mostrar a los lectores una nueva perspectiva como método de aprendizaje, basado en la comprensión y desarrollo de algunos sistemas continuos de uno y múltiples grados de libertad, mediante el uso de la programación computacional a través del software Matlab. Los ejemplos teórico-prácticos presentados en esta obra permitirán familiarizarse mucho más con el lenguaje de programación de Matlab y con su entorno de programación visual Simulink, con lo cual se espera impulsar el interés en la implementación del mencionado programa entre una de sus principales herramientas de aprendizaje y de trabajo. Este texto va dirigido a los alumnos de pregrado y posgrado, así como a la comunidad académica en general; si bien los temas están relacionados directamente con la ingeniería civil, las funciones del Matlab descritas y empleadas en este texto serán de gran ayuda en el desempeño profesional de los diversos campos de la ingeniería.

Sie lesen das E-Book in den Legimi-Apps auf:

Android
iOS
von Legimi
zertifizierten E-Readern
Kindle™-E-Readern
(für ausgewählte Pakete)

Seitenzahl: 310

Das E-Book (TTS) können Sie hören im Abo „Legimi Premium” in Legimi-Apps auf:

Android
iOS
Bewertungen
0,0
0
0
0
0
0
Mehr Informationen
Mehr Informationen
Legimi prüft nicht, ob Rezensionen von Nutzern stammen, die den betreffenden Titel tatsächlich gekauft oder gelesen/gehört haben. Wir entfernen aber gefälschte Rezensionen.



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 [email protected]

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.

https://yopublico.saxo.com/

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 PollardMagí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 MatlabFuente: 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.

1.3 EL AMBIENTE DEL MATLAB

La figura 1.2 es la presentación por defecto que el usuario encontrará en su primera interacción con Matlab, en la que emergen cuatro ventanas y algunas pestañas con opciones básicas y avanzadas. En esta ocasión solo se nombrarán las ventanas, ya que es básico tener conocimiento de estas. La ventana lateral derecha es la ventana Workspace, la cual permite al usuario visualizar las variables y sus respectivas propiedades, definidas en pasos anteriores. La ventana central es la ventana Command Window, en la cual se ejecutan los cálculos directamente, pudiéndose visualizar los resultados o ser almacenados interiormente. La ventana superior izquierda es la ventana Current Folder, que muestra la ruta de la carpeta actual en la que el usuario está trabajando. La ventana inferior izquierda es la ventana Details; la cual muestra un conjunto de detalles de cualquier archivo en particular, previa selección del archivo en la ventana Current Folder.

Figura 1.2. Ventanas por defecto de Matlab

En la figura 1.3 se muestra el editor de Matlab, utilizado frecuentemente para la creación y ejecución de código fuente.

Figura 1.3. Editor de Matlab

1.4 FUNDAMENTOS DEL MATLAB

El Matlab presenta aspectos fundamentales y el uso de algunas funciones sencillas, que son de gran utilidad para los usuarios en el transcurso de su manejo y aprendizaje.

1.4.1 Formato de impresión de resultados

Con el fin de que los números que aparecen en la ventana de comandos sean más legibles, es conveniente usar los argumentos short y long que acompañan a la función format; ejemplo demostrativo:

1.4.2 Supresión de resultados

Para suprimir la respuesta de cualquier cálculo se debe colocar un punto y coma (;) en el último carácter de la expresión que va a ser evaluada; por ejemplo:

1.4.3 Precedencia de cálculo

Un aspecto importante para tener en cuenta es el orden de precedencia a la hora de la ejecución de los cálculos (tabla 1.1); dicho orden es el mismo que se utiliza en la mayoría de las calculadoras.

Tabla 1.1Orden de precedencia en Matlab

Precedencia

Operación matemática

Primero

Paréntesis

Segundo

Exponenciación

Tercero

Multiplicación, división

Cuarto

Suma y resta

A continuación se presenta una secuencia de instrucciones para evaluar expresiones matemáticas, previa asignación de valores a las variables en uso:

1.4.4 Excepciones en la asignación de variables

Cabe mencionar que existen variables preestablecidas para un uso en particular, que Matlab reserva internamente y no es conveniente designarlas para representar otro valor en una secuencia de instrucciones. Entre algunas de las excepciones están: Ejemplo:

1.4.5 Evaluación de expresiones sin asignación de variables

Se pueden realizar cálculos numéricos y simbólicos mediante funciones matemáticas, a las que no es necesario asignarles variables; por ejemplo:

1clc% <enter > Limpieza de la ventana de comandos

2clear all% <enter > Limpieza del espacio de trabajo

3log (2.5) % <enter > Realiza la operación ln (2.5) (logaritmo neperiano)

4cos (pi /3) % <enter > Realiza la operación en radianes por defecto

1.4.6 Cálculos involucrando números reales y complejos

Matlab permite trabajar cómodamente con números reales y complejos, sin ninguna operación especial por parte del usuario; ejemplo:

1.4.7 Funciones matemáticas

Se encuentra un gran conjunto de funciones de cálculo elemental, así como también funciones matemáticas avanzadas implementadas dentro del software; las cuales son de uso común en diversos campos de la ciencia. Algunos ejemplos:

1.4.8 Ejemplo. Expresión con funciones matemáticas

Solución. La secuencia de la declaración de los valores de las variables, en la ventana de comandos, para hallar el valor de p es:

1.4.9 Creación de figuras

En visualización gráfica la función figure es utilizada para crear ventanas de figuras. Para identificar una figura es conveniente ingresar un valor entero positivo entre paréntesis; por ejemplo:

1clc% <enter > Limpieza de la ventana de comandos

2clear all% <enter > Limpieza del espacio de trabajo

3figure (1) % <enter > Abre una figura con la rotulación 1

4figure (5) % <enter > Abre una figura con la rotulación 5

1.4.10 Funciones de limpieza

El uso de las funciones clc, clear all y close all son de gran ayuda para realizar procedimientos de limpieza del área de trabajo. Es recomendable utilizar estas funciones al iniciar una nueva serie de instrucciones. Ejemplo:

1clc% <enter > Limpieza de la ventana de comandos

2clear all% <enter > Limpieza del espacio de trabajo

3close all% <enter > Limpieza de figuras abiertas

1.4.11 Uso del editor de Matlab

Otra opción para escribir código fuente es utilizar el editor de Matlab (New Script), donde se pueden crear scripts y archivos de funciones. Ejemplo:

Una característica de mucha utilidad del editor es la capacidad para definir bloques de código (celdas); por lo tanto, hay la posibilidad de ejecutar independientemente cada celda, como también la de ejecutar todas las celdas en conjunto. Ejemplo:

1.4.11.1 Ejemplo. Reacciones en una viga empotrada con carga puntual

Se requiere calcular las fuerzas de reacción en una viga empotrada (figura 1.4), de acuerdo a las ecuaciones 1.2a, 1.2b, 1.2c y 1.2d.

Figura 1.4. Viga empotrada con carga puntual aplicada

1.5 VECTORES Y MATRICES

El contenido de esta sección presenta las funciones que aparecen normalmente en el código fuente de los programas desarrollados pertenecientes a los capítulos que involucran el análisis de sistemas de un grado y varios grados de libertad.

1.5.1 Representación de un vector

Un vector se representa como un arreglo unidimensional, cuyas componentes se escriben dejando un espacio, como se muestra en la expresión 1.3:

1.5.2 Operador

El operador colon permite generar las componentes de un vector a partir de un valor referencial; dichas componentes resultantes son producto de una progresión aritmética que tiene por diferencia común sucesiva al valor referencial asignado. Se puede considerar el valor referencial para originar incrementos o decrementos. Las opciones para representar un vector en función del operador colon se muestran en las expresiones 1.4a, 1.4b y 1.4c:

donde

El siguiente ejemplo presenta la creación de un vector fila que va de 0.2 a 1.0, con una razón de incremento de 0.1:

y en el caso de considerar la razón de 0.1 como decremento:

Si el objetivo es crear un vector fila que va de 0.2 a 1.0 con una razón de incremento de 0.12, entonces:

Con el operador colon también se puede generar un vector fila que va de 1 a 15 con una razón de incremento de 1, de la siguiente manera:

1.5.3 Vector columna

Se hace posible crear un vector columna, de forma conveniente, al tomar la transpuesta de un vector fila:

1.5.4 Función linspace

Al utilizar la función linspace se declara la cantidad de componentes n que tendrá un vector; y sin ser necesario especificar la diferencia común sucesiva entre estos, habrá un mismo intervalo de separación entre los componentes de dicho vector. En la expresión 1.5, la cual también muestra la sintaxis de la función lins-pace, se identifica a a1 como el valor inicial, a2 como el valor final y n como la cantidad de componentes del vector.

A continuación, se presentan ejemplos de la función linspace:

1.5.5 Manipulación de vectores

Hay varias formas de manipular las componentes de un vector cualquiera, como el de la expresión 1.6.

En el siguiente ejemplo, se muestra como obtener una serie de posibles vectores con respecto a un vector base; dicho vector base es el vector b.

Para modificar un vector se utilizan escalares, los cuales realizan las modificaciones elemento por elemento. Ejemplo:

Si por algún motivo se desea modificar algún componente de un vector solo se debe hacer referencia a la posición numérica de dicha componente entre paréntesis (), en la variable que representa al vector y, seguidamente, declarar el tipo de operación; por ejemplo:

1.5.6 Función sort

Si se requiere ordenar las componentes de un vector de forma ascendente o descendente con la finalidad de establecer un orden se utiliza la función sort. La cual, por defecto, ordena las componentes en forma ascendente; y para obtener un orden descendente solo habrá que colocar el argumento descend entre apóstrofes como argumento de ingreso de la función sort; por ejemplo:

1.5.7 Mínimos y máximos de un vector

Hay la posibilidad de encontrar dentro de un vector x su máximo y mínimo valor, además de la ubicación de dichos valores. Para obtener la componente más pequeña del vector y su ubicación se utiliza la función min; cuya sintaxis se muestra en la expresión 1.7:

De manera similar, para obtener la componente más grande y su ubicación se utiliza la función max; cuya sintaxis se indica en la expresión 1.8:

A continuación, se muestra cómo obtener para los vectores x y y sus valores extremos y sus respectivas ubicaciones:

1.5.8 Representación de una matriz

La forma usual de representar una matriz, en este caso una matriz de orden 4 × 4, se muestra en la expresión 1.9:

siendo la convención básica para crear la matriz X de orden 4 x 4 en Matlab, como se indica en la expresión 1.10:

Como se aprecia en la expresión 1.10, la notación punto y coma (;) se utiliza para indicar el final de cada fila de la matriz (a excepción de la última fila); y se debe tener en cuenta que cada fila debe tener el mismo número de columnas. También hay la opción de crear la matriz fila por fila, como se muestra en la expresión 1.11:

Otra forma de construir la matriz de la expresión 1.9 constaría en crear cuatro vectores fila separados, conteniendo cada uno la misma cantidad de columnas, para luego concatenarlos entre sí verticalmente, como se indica en las expresiones 1.12a, 1.12b, 1.12c, 1,12d y 1.12e.

A continuación se presenta una serie de ejemplos demostrativos de cómo construir una matriz designada por la letra A y de orden 4 x 5:

1.5.9 Ejemplo. Construcción de una matriz con base en submatrices

Se requiere construir la matriz X (9 x 12), en la cual se aprecia que las disposiciones de sus elementos poseen cierta particularidad repetitiva, haciendo posible el uso de submatrices para su construcción sin la necesidad de que el ingreso de datos sea elemento por elemento.

Solución. De la siguiente manera se construye la matriz X:

1.5.10 Función ones y zeros

Se utiliza la función ones para crear una matriz en la cual todos los elementos tengan el valor unitario; ejemplo:

De manera similar, se utiliza la función zeros para crear una matriz en la cual todos los elementos sean iguales a cero; ejemplo:

1.5.11 Ejemplo. Extracción de elementos de una matriz

A continuación, se muestra la construcción de una matriz A (3 x 6) con las funciones vistas anteriormente linspace y ones, y como extraer algunos de sus elementos:

Solución. De la siguiente manera se construye la matriz X:

1.5.12 Ejemplo. Reordenamiento de submatrices de una matriz

Se precisa, mediante un ejemplo, la forma de reordenar submatrices pertenecientes a una misma matriz. La matriz designada en X1 (9 x 9) contiene cuatro submatrices con valores diferentes a cero;

dichas submatrices se reordenarán con la finalidad de obtener la matriz X2.