Dinámica de Sistemas y Control masa, resorte amortiguador

21
Dinámica de Sistemas y Control - 2007 Autor: Ing. Gabriel Lorenzo Introducción a MATLAB MATLAB es el nombre abreviado de “MATrix LABoratory”. MATLAB es un programa para realizar cálculos numéricos con vectores y matrices, pudiéndose también trabajar con números escalares (tanto reales como complejos), con cadenas de caracteres y con otras estructuras de información. Además, MATLAB cuenta con un lenguaje de programación propio. Desde el punto de vista de control, MATLAB se puede considerar un entorno matemático de simulación que puede utilizarse para codificar modelos y analizar los sistemas modelados. Permite el estudio de sistemas continuos, discretos, lineales y no lineales en el dominio temporal y de la frecuencia. Otra característica de MATLAB es que cuenta con numerosos paquetes adicionales llamados “toolboxes”. En el caso que nos ocupa se utilizará el Control System Toolbox, pero es importante tener en cuenta que existen diversos toolboxes; cada uno de ellos destinado a una aplicación específica (control, estadística, procesamiento de señales, manejo de lenguaje simbólico, etc.). La presente introducción se plantea como una guía práctica a fin de permitir la familiarización con los comandos de MATLAB que serán frecuentemente utilizados a lo largo esta materia. El entorno de operación de MATLAB Existen numerosas referencias bibliográficas (además del tutorial del programa) en donde se explica en detalle el entorno operativo de MATLAB (algunas de ellas figuran en el listado de referencias de este apunte). El objetivo de esta sección es presentar cada uno de los componentes del entorno MATLAB y proporcionar una breve descripción de los mismos: Command Window: es la ventana principal del programa en donde se ejecutan los comandos e instrucciones lógicas. Workspace: Es el espacio de trabajo en donde se almacenan todas las variables definidas a través del “Command Window”.

Transcript of Dinámica de Sistemas y Control masa, resorte amortiguador

Page 1: Dinámica de Sistemas y Control masa, resorte amortiguador

Dinámica de Sistemas y Control - 2007

Autor: Ing. Gabriel Lorenzo

Introducción a MATLAB

MATLAB es el nombre abreviado de “MATrix LABoratory”. MATLAB es un programa para realizar cálculos numéricos con vectores y matrices, pudiéndose también trabajar con números escalares (tanto reales como complejos), con cadenas de caracteres y con otras estructuras de información. Además, MATLAB cuenta con un lenguaje de programación propio. Desde el punto de vista de control, MATLAB se puede considerar un entorno matemático de simulación que puede utilizarse para codificar modelos y analizar los sistemas modelados. Permite el estudio de sistemas continuos, discretos, lineales y no lineales en el dominio temporal y de la frecuencia.Otra característica de MATLAB es que cuenta con numerosos paquetes adicionales llamados “toolboxes”. En el caso que nos ocupa se utilizará el Control System Toolbox, pero es importante tener en cuenta que existen diversos toolboxes; cada uno de ellos destinado a una aplicación específica (control, estadística, procesamiento de señales, manejo de lenguaje simbólico, etc.). La presente introducción se plantea como una guía práctica a fin de permitir la familiarización con los comandos de MATLAB que serán frecuentemente utilizados a lo largo esta materia.

El entorno de operación de MATLAB

Existen numerosas referencias bibliográficas (además del tutorial del programa) en donde se explica en detalle el entorno operativo de MATLAB (algunas de ellas figuran en el listado de referencias de este apunte). El objetivo de esta sección es presentar cada uno de los componentes del entorno MATLAB y proporcionar una breve descripción de los mismos:

Command Window: es la ventana principal del programa en donde se ejecutan los comandos e instrucciones lógicas.

Workspace: Es el espacio de trabajo en donde se almacenan todas las variables definidas a través del “Command Window”. Éste puede ser guardado en un archivo binario (*.mat) y cargado nuevamente, en otra ejecución del programa.

Command History: Almacena el listado de comandos ejecutados desde el “Command Window” de MATLAB. El historial se guarda automáticamente, quedando registradas cada una de las sesiones con fecha y hora. Una opción interesante, es seleccionar los comandos relevantes del “Command History” y generar con ellos un archivo *.m (secuencias de comandos, también denominadas scripts).

Current Directory: especifica el directorio de trabajo de MATLAB

Listado de comandos útiles

Todos los comandos que figuran a continuación se ejecutan desde el “Command Window” de MATLAB:

Page 2: Dinámica de Sistemas y Control masa, resorte amortiguador

help: proporciona ayuda sobre un determinado ítem (toolbox, comando, etc.).

Ejemplo:

>> help symbolic %proporciona información sobre el Symbolic toolbox de MATLAB.>> help plot %proporciona información sobre el comando PLOT

clc: borra la pantalla del “Command Window”

clear: limpia las variables del “Workspace”. También se pueden borrar individualmente escribiendo:

>> clear nombre_de_la_variable

whos: proporciona un listado de las variables definidas en el “Workspace”. Podemos preguntar también por variables individuales:

>> whos nombre_de_la_variable

open: permite abrir los archivos que se encuentran en el “Current Directory” de MATLAB especificado, por ejemplo:

>> open nombre_del_archivo.m

Manejo de vectores

Vector fila:

>> A=[2,4,5]

ó

>> A=[2 4 5]

Nota: se puede ocultar el resultado de la operación agregando un punto y coma (;) al final de la sentencia

Nota: los elementos del vector pueden separarse mediante una coma, o bien mediante un espacio.

Vector columna:

>> B=[2;4;5]

o bien,>> B=A'

Nota: El símbolo ('), transpone el vector A para generar el vector columna B. Este comando también puede ser utilizado para generar la transpuesta de una matriz dada.

Vectores con espaciamiento uniforme:

>> A=[1:10] %los valores aumentan sucesivamente una unidad>> A=[1:2:10] %los valores aumentan sucesivamente en dos unidades)>> A=[0.1:0.1:1] %los valores se incrementan en 0,1

Page 3: Dinámica de Sistemas y Control masa, resorte amortiguador

>> A=logspace(1,2,10) %genera 10 puntos entre las décadas 10^1 y 10^2, uniformemente espaciados en forma logarítmica: [10 10^1.1 10^1.2 10^1.3 10^1.4 10^1.5 10^1.6 10^1.7 10^1.8 10^1.9 10^2]

Vectores de unos y ceros:

>> A=zeros(1,10) %genera un vector fila con ceros>> B=ones(1,10) %genera un vector fila con unos

Nota: zeros(m,n) genera una matriz de orden m×n con todos sus elementos iguales a cero, lo mismo se aplica a la sentencia: ones (m,n)

Manejo de matrices

Matriz estándar

>> A=[1,2,3;4,5,6]

Matrices especiales

Sintaxis Tipo de matriz

>> A=diag(v) matriz diagonal con el vector v como diagonal

>> A=ones(n) matriz de n × n con todos los valores iguales a uno

>> A=eye(n) matriz identidad de n × n

>> A=rand(n) matriz de n × n con elementos de valor aleatorio entre 0 y 1 (distribución uniforme)

>> A=randn(n) matriz de n × n cuyos elementos siguen una distribución normal (media 0 y varianza 1)

Operaciones con matrices

Sintaxis Operación>> C=A*B matriz resultante del producto AB (si dicha operación es posible)

>> C=A.*B producto elemento por elemento (si size(A) = size(B), es decir, si tienen el mismo tamaño)

>> inv(A) A^-1, si A es cuadrada e invertible>> pinv(A) pseudoinversa de A.

>> C=A\B inv(A) * B, si existe inv(A): la barra inversa es la división por la izquierda

>> x= A\bsolución de: Ax = b si existe inv(A). ¡Véase help slash cuando A sea una matriz rectangular!

>> det(A) determinante (si A es una matriz cuadrada)

Page 4: Dinámica de Sistemas y Control masa, resorte amortiguador

>> rank(A) rango (número de pivotes = dimensión del espacio de filas y del espacio de columnas)

>> size(A) es el par de números [m n]

>> E=eig(X)E es un vector que contiene los autovalores de la matriz cuadrada X ¡Ver help eig!

Creación de gráficos bidimensionales

Existen diversos comandos para realizar gráficos bidimensionales en MATLAB (plot, stem, bar, stair).En particular nos interesa el comando PLOT ya que nos va a permitir graficar las respuestas y excitaciones de sistemas continuos.Dado que MATLAB no es un lenguaje simbólico, las variables independientes y dependientes a graficar deben ser definidas como vectores. El comando PLOT presenta numerosas opciones para la presentación y edición de los gráficos (tipo de línea, color, título de ejes, título de gráfico, etc.). A continuación se darán algunos ejemplos prácticos de utilización de este comando. Se sugiere ampliar el contenido de este apunte con la información proporcionada por la ayuda del programa.

>> x=[0:0.01:4*pi] %se define el vector x(var. independiente) >> plot (x,sin(x)) %gráfico de la función sen (x)

Otra opción hubiese sido:

>> x=[0:0.01:4*pi] %se define el vector x>> y= sin(x) %se define el vector y (variable dependiente)>> plot (x,y)

Podemos hacer una nueva gráfica:

>> z=[0:0.1:5]>> plot(z,exp(-z))

Como vemos, el gráfico en la ventana abierta se actualiza…si queremos conservar el gráfico original y abrir una nueva ventana usamos el comando FIGURE:

>> figure>> plot (x,cos(x)) %gráfico de la función sen (x), recordar la variable x ya había sido definida en el Workspace del programa.

La presentación de los gráficos puede ser mejorada de dos maneras:

1- Mediante las opciones de los menús “Edit” e “Insert”, situados en la barra de herramientas de la ventana del gráfico.

2- Introduciendo los comandos de edición, títulos de ejes, título de gráficos, etc. mediante el Workspace desde el programa.

Page 5: Dinámica de Sistemas y Control masa, resorte amortiguador

>> figure>> plot(z,exp(-z),'ro:')>> xlabel ('x')>> ylabel ('exp (-x)')>> title ('Función exponencial')

En este caso graficamos la función exponencial en color rojo (r), con línea punteada (:) y con un circulo (o) en cada uno de los puntos de la gráfica (ver el help del comando plot para otras opciones de formato para graficar las curvas).

Para realizar gráficos múltiples es una única ventana se utiliza el comando SUBPLOT. La sintaxis del comando es la siguiente:

>> subplot (m,n,p), plot (x,y)

m×n es el orden del arreglo que se va a utilizar para posicionar los gráficos y p denota la posición del gráfico (el orden es contando fila por fila). La figura muestra un ejemplo para un arreglo de m×n=2×2:

Por lo tanto, si elegimos un arreglo de 2×1 (2 filas y 1 columna) y queremos graficar la función exponencial en la parte superior y la función seno en la parte inferior, utilizamos:

>> figure>> subplot (2,1,1), plot(z,exp(-z))>> subplot (2,1,2), plot(x,sin(x))

Función transferencia

La función transferencia de un sistema se define como la relación entre las transformadas de Laplace de la variable de salida y la variable de entrada, cuando las condiciones iniciales

Page 6: Dinámica de Sistemas y Control masa, resorte amortiguador

del sistema son nulas. El concepto de función transferencia es válido para el análisis sistemas lineales e invariantes en el tiempo.

El comando de MATLAB empleado para la creación de funciones transferencia se denomina TF y su sintaxis es la siguiente:

sys= tf(num,den)

donde:

“sys” es el identificador que elegimos para nuestro sistema.

“num” es el vector de coeficientes que define al numerador de nuestra función transferencia.

“den” es el vector de coeficientes que define al denominador de nuestra función transferencia.

Tomando como ejemplo el caso de un amortiguador masa y resorte, mostrado en la figura:

m

k

b

f(t)

x

kx

dt

dxbtf

dt

xdm

2

2

tfkxdt

dxb

dt

xdm

2

2

Transformando:

)()()()(2 sFskXsbsXsXms

kbsmssF

sXsT

2

1

)(

)()(

Consideremos que

m=1 [kg]b= 4 [N.s/m]k=68 [N/m]

Para crear esta función transferencia, escribimos en el Workspace de MATLAB:

>> num=[1]>> den=[1 4 68]>> sys= tf (num,den)Se podría haber declarado primero las variables del problema y luego construido la función transferencia:

>> m=1;>> b=4;>> k=68;>> num=[1]>> den= [m b k]>> sys= tf(num,den)

Page 7: Dinámica de Sistemas y Control masa, resorte amortiguador

Respuesta del sistema a excitaciones predefinidas

Respuesta al impulso

La excitación impulsiva nos permite conocer la respuesta natural del sistema, tal como vemos a continuación:

1

*

sHsY

tthty

Luego,

thty

El conocimiento de la respuesta natural del sistema, brinda una posibilidad para inferir la localización de los polos (raíces del denominador) en el plano complejo.

El comando para obtener la respuesta impulsiva de un sistema se denomina IMPULSE y su sintaxis es:

impulse (sys)

Si queremos examinar los polos de una función transferencia, una forma de calcularlos es mediante el comando ROOTS. Este comando proporciona las raíces de un polinomio definido a través de su vector de coeficientes (tal como lo hemos trabajado hasta el momento).

>> m=1;>> b=4;>> k=68;>> num=[1]>> den= [m b k]>> sys= tf(num,den) % no es necesario repetir estos comandos si la información correspondiente quedó cargada en el Workspace de MATLAB.>> roots (den)>> impulse (sys)

Como vemos, el sistema tiene 2 polos complejos conjugados (-2+8i ; -2-8i) ubicados en el semiplano derecho del plano complejo. En este caso la respuesta al impulso del sistema es una señal sub-amortiguada.Se pueden explorar variantes, fijando los valores de m, b y k a fin de obtener polos reales en el semiplano izquierdo, polos imaginarios y polos reales en el semiplano derecho (en este caso con abstracción del sistema físico que representa la función transferencia). El procedimiento se puede agilizar con el uso de un archivo *.m, tal como veremos más adelante.

Respuesta al escalón unitario

Page 8: Dinámica de Sistemas y Control masa, resorte amortiguador

La señal mayormente utilizada para la caracterización del sistema es el escalón unitario. Esta excitación también introduce en el sistema una perturbación abrupta con la ventaja de que, desde el punto de vista práctico, es más fácil de generar que la señal impulso.

Esto hace que las características de desempeño en el dominio del tiempo de un sistema de control (de cualquier orden) sean especificadas, generalmente, en términos de su respuesta transitoria a un escalón unitario.

El comando para obtener la respuesta impulsiva de un sistema se denomina STEP y su sintaxis es:

step (sys)

Considerando el sistema masa-resorte-amortiguador, calculamos ahora su respuesta al escalón:

>> m=1;>> b=4;>> k=68;>> num=[1]>> den= [m b k]>> sys= tf(num,den) %no es necesario repetir estos comandos si la información correspondiente quedó cargada en el Workspace de MATLAB.>> step (sys)

Respuesta del sistema a excitaciones definidas por el usuario

Para obtener la respuesta temporal del sistema ante excitaciones definidas por el usuario, se utiliza el comando LSIM.

lsim(sys,u,t)

Este comando grafica la respuesta del sistema a la señal de entrada descripta por u y t. El vector “t” consiste en muestras temporales regularmente espaciadas y “u” es una matriz, con tantas columnas como señales de entrada tenga el sistema y cuya i-ésima fila especifica el valor de la entrada en el tiempo t(i).Por ejemplo:

>> t = [0:0.01:10];>> u = sin(t); >> lsim(sys,u,t)

Archivos *.m

Los archivos *.m se utilizan para crear secuencias de comandos (scripts) y segmentos de programa que pueden ser ejecutados al invocarlos desde la ventana de comando.

Page 9: Dinámica de Sistemas y Control masa, resorte amortiguador

Nota: Esto es así, siempre y cuando el “path” especificado en MATLAB (“Current Directory”) indique el directorio en el cual se ha guardado el archivo *.m; por defecto se trabaja en: C:\MATLAB6p1\work

Los archivos *.m también pueden ser utilizados para definir funciones.

La principal diferencia entre estas dos aplicaciones radica en que, en el primer caso, las variables empleadas son globales (se definen en el Workspace); en tanto que para las funciones, las variables son de tipo local, debiendo declararse una lista de argumentos de entrada a la función y sus valores de retorno.

La creación de un archivo *.m puede realizarse mediante cualquier editor dado que se trata simplemente de un archivo de texto sin formato. MATLAB brinda la opción de utilizar su propio editor de texto, el cual se puede encontrar en:

FileàNewà Mfile

Se aconseja utilizar este editor para la creación de los archivos *.m debido a que optimiza la corrección de las secuencias de comando, brindando además diversas opciones para depuración de programas (debug).

El comando “run”, permite correr las secuencias de comandos y los programas generados, desde el mismo editor.

SCRIPTS

Tomando como ejemplo el sistema visto anteriormente, podemos realizar la siguiente secuencia de comandos para evaluar distintos valores de los parámetros m, b y k.

%PARAMETROS DE ENTRADA% m (masa)% b (friccion viscosa)% k (constante del resorte)%% OPCIONES DE GRAFICACION% (1) respuesta al impulso% (2) respuesta al escalon% (3) se muestran ambos transitorios

clcm= input ('m: ');b= input ('b: ');k= input ('k: ');

num=[1];den= [m b k];sys= tf(num,den) roots (den)v= input ('seleccione opcion: ');

if v==1

Page 10: Dinámica de Sistemas y Control masa, resorte amortiguador

impulse (sys)elseif v==2 step (sys)elseif v==3 subplot (2,1,1), impulse (sys) subplot (2,1,2), step (sys)end

Nota: Si escribimos: help “nombre del archivo *.m” en el “Command Window” de MATLAB, aparecerán las líneas de comentario que figuran antes de la primera instrucción. Esto proporciona una referencia rápida del script o función generada.

FUNCIONES

Ahora veamos un ejemplo de como se define una función en MATLAB mediante ficheros *.m. Para ello se propone la función triángulo, definida tal como se muestra a continuación:

t

Lt

1

0.5 1

x

xx

xx

y

de resto el para 0

10,5 22

0,50 2

function [y]=triangle (x)%Funcion Triangulo%% Definicion:% y= 2x 0 <= x <0.5% y= 2-2x 0.5 <= x <=1

for i= 1:length(x) if 0<=x(i) & x(i)<0.5 y(i)=2*x(i); elseif 0.5<=x(i) & x(i)<=1 y(i)=2-2*x(i); else y(i)=0;

endend

Page 11: Dinámica de Sistemas y Control masa, resorte amortiguador

La función puede ser guardada con un nombre arbitrario (nombre_de_la_función.m) en el directorio de trabajo que hayamos elegido. Con este nombre, se invoca a la función desde el Command Window de MATLAB (en este caso se eligió el nombre “triangle”, coincidente con el empleado en la definición de la función).

Por supuesto, esta función puede ser utilizada como excitación para nuestro sistema, como vemos en el siguiente ejemplo:

>> t = [0:0.01:10];>> u = triangle(t); >> lsim(sys,u,t)

SIMULINK

Simulink es un paquete de software integrado a MATLAB que permite modelar, simular y analizar sistemas dinámicos.

La simulación de un sistema dinámico se realiza, primero, creando un modelo gráfico del sistema a ser simulado mediante el editor de Simulik y luego simulando su comportamiento un rango de tiempo especificado.

Como ejemplo de aplicación, veremos como modelar y simular el sistema masa-resorte-amortiguador.

Para abrir el editor de Simulink tenemos dos opciones.

1- Desde MATLAB: FileàNewàModel

2- Desde el “Simulink library browser”. El “Simulink library browser” se abre desde la barra de herramientas de MATLAB haciendo clic en el símbolo:

Finalmente, podemos abrir el editor de Simulink mediante FileàNewàModel, o bien haciendo clic en el símbolo:

En la librería “Simulink” del library browser, se encuentran los bloques que utilizaremos para construir y analizar nuestro modelo. En particular estos bloques se hallan en los menús: “Continuous”, “Sinks” y “Sources”.

El primer modelo que haremos nos permitirá evaluar la respuesta de nuestro sistema ante una excitación del tipo escalón unitario, para ello arrastramos y soltamos los componentes de la librería que se muestran en la tabla y los vinculamos entre sí mediante conectores.

Bloque MenúTransfer

FcnContinuous

Step SourcesScope Sinks

Page 12: Dinámica de Sistemas y Control masa, resorte amortiguador

Haciendo doble-clic sobre los bloques podemos editar los parámetros de cada uno de ellos. En el caso de la excitación, la definición por defecto es apropiada, en tanto que para el caso de la función transferencia; Simulink pide que se introduzcan los vectores de coeficientes del numerador y denominador (análogamente a lo visto para la definición de una función transferencia desde el Command Window).

La representación gráfica del modelo es la siguiente:

El modelo se simula ejecutando el comando “Start” del menú “Simulation”:

SimulationàStart

O bien, haciendo clic sobre el símbolo:

La respuesta del sistema dinámico se observa haciendo doble clic en el bloque Scope.

Los parámetros de simulación pueden ser configurados mediante la opción “Simulation parameters…” del menú “Simulation”:

Simulationà Simulation parameters…

Page 13: Dinámica de Sistemas y Control masa, resorte amortiguador

Como puede observarse, en esta ventana se especifican el tiempo de simulación, método numérico empleado y opciones de salida.

Interacción con el Workspace

Una de las capacidades más interesantes de Simulink es la posibilidad de interactuar con el Workspace de MATLAB. Esto permite utilizar variables definidas en el Workspace como excitaciones y escribir en el mismo los resultados de las simulaciones.

Una forma de realizar esto es configurando el tab “Workspace I/O” de la opción “Simulation parameters…”:

En esta ventana se especifican las variables que se cargan desde el Workspace y las variables que serán guardadas en el Workspace como resultado de la simulación.

Page 14: Dinámica de Sistemas y Control masa, resorte amortiguador

Supongamos que deseamos evaluar la respuesta de nuestro sistema ante la excitación “triangle” definida previamente. Para esto es necesario ejecutar en el “Command Window” de MATLAB.

>> tin=[0:0.01:10]'>> uin=[triangle(t)]'

Esto genera dos vectores columna; uno con las muestras temporales y el otro con los valores correspondientes de la excitación.

Nota: Las variables que pasamos a Simulink desde el Workspace de MATLAB, deben estar definidas como vectores columna.

Simulink guardará en el Workspace los vectores “tout” y “yout” correspondientes a la respuesta dinámica del sistema. La salida será guardada en este caso como un arreglo (vector); existen otras opciones de formato de los valores de salida: structure y structure with time.

Para que nuestro modelo tome valores desde el Workspace y los guarde allí, una vez que la ventana “Workspace I/O” fue configurada, debemos agregarle al mismo los puertos de entrada (In1) y salida (Out1). Estos se hallan en los menús “Sources” y “Sinks”, respectivamente:

Al simular el modelo, aparecen automáticamente en el listado de variables del Workspace “tout” y “yout”.

Otra manera de lograr la interacción entre Simulink y las variables definidas en MATLAB es mediante los bloques “From Workspace” y “To Workspace”. La utilización de estos bloques permite prescindir de la configuración del tab “Workspace I/O”.

Un ejemplo de aplicación de estos bloques se muestra a continuación:

Page 15: Dinámica de Sistemas y Control masa, resorte amortiguador

Haciendo doble clic sobre el bloque “From Workspace” entramos a su ventana de configuración:

En este caso, “entrada” se define como un vector de n´2; la primera columna corresponde al vector tiempo (n es la cantidad de muestras temporales que tomamos) y la segunda columna corresponde a la excitación (u(t)).La definición de “entrada” fue efectuada en el Command Window de MATLAB de la siguiente forma:

>> tin=[0:0.01:10]';>> uin=[triangle(t)]';>> entrada= [tin uin];

Para el bloque “To Workspace”, la ventana de configuración es:

Page 16: Dinámica de Sistemas y Control masa, resorte amortiguador

En ella, especificamos el nombre y tipo de variable que deseamos que sea escrita en el Workspace de MATLAB conteniendo los resultados de la simulación.

Comentario sobre el Symbolic toolbox

El “Simbolic toolbox” de MATLAB, permite realizar operaciones en lenguaje simbólico.

Escribiendo: “help symbolic” en el “command window” de MATLAB, la ayuda nos mostrará todas las posibilidades de cálculo que pueden ser realizadas mediante este paquete.

En esta introducción se mostrará simplemente como se calculan transformadas de Laplace y sus inversas. Se utiliza, a modo de ejemplo, ejercicios de la guía práctica número 1.

Cálculo de la transformada de Laplace de una función:

>> syms ('t')>> f=2*exp(-t)*cos(10*t)-t^4+6*exp(10-t);>> F=laplace(f)

Cálculo de la transformada inversa de Laplace:

>> syms ('s')>> F=(2*exp(-0.5*s))/(s^2+-6*s+13)-(s-1)/(s^2+-2*s+2)>> f=ilaplace(F)

Page 17: Dinámica de Sistemas y Control masa, resorte amortiguador

Referencias

[1] Tutorial de MATLAB (MATLAB Help)

[2] “Aprenda MATLAB 6.1 como si estuviera en primero”. Javier García de Jalón José Ignacio Rodríguez, Alfonso Brazales. Escuela Técnica Superior de Ingenieros Industriales. Universidad Politécnica de Madrid

[3] Modelado, simulación y control de sistemas dinámicos. Parte I: Tutorial básico de MATLAB. P.F. Puleston, F. Valenciaga. Departamento de electrotecnia. Facultad de Ingeniería Universidad Nacional de La Plata.