You are on page 1of 33

Laboratorio 1

Análisis de Sistemas
Andrés Núñez Zumbado, B44968
Alejandro Rojas Cordero, B36049
Ronny Quirós Alvarado, B25316

Escuela de Ingenierı́a Eléctrica


Universidad de Costa Rica
San José, Costa Rica
II-2017

1
Índice
1. Ejercicio 1. Modelica 2
1.1. Modelo Lotka Volterra: Dinámica Depredador - Presa . . . . . . . . . . . . . 2
1.1.1. Código de OpenModelica Connection Editor . . . . . . . . . . . . . . 5
1.2. Circuito Eléctrico RLC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.2.1. Código de OpenModelica Connection Editor . . . . . . . . . . . . . . 9

2. Ejercicio 2. Simulink 10
2.1. Análisis de Modelo de Reactor Quı́mico . . . . . . . . . . . . . . . . . . . . 10
2.2. Código de Matlab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

3. Ejercicio 3. Matlab 18
3.1. Código de Matlab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.2. Diagrama de Polos y Ceros . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.3. Respuesta del sistema ante distintas entradas . . . . . . . . . . . . . . . . . 20

4. Ejercicio 4. Matlab 23
4.1. Modelo numérico Newton-Raphson . . . . . . . . . . . . . . . . . . . . . . . 23
4.2. Código de Matlab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

5. Ejercicio 5. Scripting y graficación 28


5.1. Código de Matlab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
5.2. Resultado final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

6. Conclusiones 31

abstract
El objetivo del laboratorio 1 consiste en realizar una primera aproximación a
herramientas computacionales que serán de gran ayuda para el análisis y
modelado de sistemas.

1
1. Ejercicio 1. Modelica
1.1. Modelo Lotka Volterra: Dinámica Depredador - Presa
Los sistemas biológicos pueden ser modelados matemáticamente por medio de sistemas
de ecuaciones diferenciales que incorporan variables de estado y constantes que describen
la dinámica entre las especies en estudio. La relación entre dos especies, en la cual una de
ellas corresponde al depredador y la otra a la presa; puede ser analizada mediante el modelo
conocido comúnmente como Lotka Volterra. A continuación se presentan las ecuaciones que
ilustran el fenómeno ecológico.
(
ṗ(t) = p(t) · [α − βd(t)]
˙ = d(t) · [δp(t) − γ] (1)
d(t)
En dicho modelo se intenta describir el comportamiento de las poblaciones de las presas
(p) y depredadores (d), en el tiempo. Se consideran factores como la tasa de reproducción de
las presas (α), la tasa de reproducción del depredador por presa (δ), la tasa de mortalidad del
depredador (γ), la tasa de mortalidad del depredador por presa (β) y las condiciones iniciales
de la cantidad de individuos en cada especie. Además, las derivadas de las poblaciones de
presas y depredadores equivalen a su tasa de crecimiento.

Cuadro 1: Constantes del modelo.


Parámetro Magnitud
α 0.1
δ 0.02
γ 0.4
β 0.02

Se realizó el análisis para tres casos con distintas condiciones iniciales. Para el primer
caso se tuvo que inicialmente existı́an más depredadores que presas; 14 y 7, respectivamente.
En el segundo caso, la cantidad inicial de presas y depresadores fue la misma, 4 cada uno.
Y finalmente, el caso en el que se tuvieron más presas que depredadores; 14 y 6, de forma
respectiva.
De forma general en los tres casos, se observó el siguiente comportamiento:

En los primeros 10 segundos aproximadamente, la problación de depredadores tiende


a decrecer; en contraste con la población de presas, que tiende al aumento.

En el punto máximo de cantidad de individuos presa, inicia el crecimiento de la pobla-


ción de depredadores, que limita el crecimiento de las presas.

El comportamiento de ambas poblaciones es periódico.

2
En el punto máximo y mı́nimo de cantidad de individuos de una población (donde
la primera derivada es cero) se da el cambio de concavidad del comportamiento de la
población opuesta (donde la segunda derivada es igual a cero).

Para el primer y segundo caso en especı́fico, se observó que el punto máximo de cantidad
de individuos depredadores, ocurre en la segunda intersección de poblaciones, cuando ambas
tienen la misma cantidad de individuos aproximadamente, como se puede observar en la
Figura 1 y en la Figura 2. Estos dos comportamientos se considera meramente matemáticos,
debido a que el punto mı́nimo de individuos depredadores en ambos casos decae a un valor
menor a un individuo a los 20 segundos; que en la realidad equivale a que la población de
depredadores se extingue y por lo tanto, es incapaz de reproducirse y aumentar su población
para el segundo ciclo del perı́odo del comportamiento matemático, y, que la población de
presas aumenta sin lı́mite dado a que no hay individuos depredadores que controlen su tasa
de crecimiento.

Figura 1: Modelo Lotka Volterra para condiciones iniciales: 7 presas y 14 depredadores.

3
Figura 2: Modelo Lotka Volterra para condiciones iniciales: 4 presas y 4 depredadores.

En el tercer caso, que se ilustra en la Figura 3, la cantidad de presas es mucho mayor


a la cantidad de depredadores; superior al doble. Se puede observar que el mı́nimo de indi-
viduos depredadores en todo el ciclo es superior a dos individuos, por lo que se considera un
acontecimiento ecológico posible en la realidad, debido a que incluso en el punto más bajo de
población de depredadores son capaces de reproducirse. De esta forma, ambas poblaciones
pueden coexistir en el mismo hábitat sin que ninguna represente una amenaza de extinción
para la otra.
Además, es posible afirmar que en el punto mı́nimo de presas; que ocurre como con-
secuencia de un crecimiento en la población de depredadores; la cantidad de individuos
depredadores tiende a disminuir nuevamente. Este ciclo se repite como parte de la dinámica
de control de poblaciones y permite establecer un equilibrio ecológico.

4
Figura 3: Modelo Lotka Volterra para condiciones iniciales: 14 presas y 6 depredadores.

1.1.1. Código de OpenModelica Connection Editor


A continuación se presenta el código implementado para la resolución del fénomeno
Lokta Volterra.

model LotkaVolterra

%Se definen las constantes del sistema.


parameter Real a=0.1;
parameter Real b=0.02;
parameter Real y=0.4;
parameter Real d=0.02;

%Se definen las condiciones iniciales del sistema.


parameter Real PresaInicial=7;
parameter Real DepredadorInicial=14;

%Se definen las variables del sistema.


Real Presa(start = PresaInicial);
Real Depredador(start = DepredadorInicial);

%Se asignan valores iniciales.


initial equation
Presa = PresaInicial;

5
Depredador = DepredadorInicial;

%Se define el sistema de ecuaciones diferenciales.


equation
der(Presa) = Presa*(a-b*Depredador);
der(Depredador) = Depredador*(d*Presa-y);

end LotkaVolterra;

1.2. Circuito Eléctrico RLC


Seguidamente se presenta el análisis fı́sico del circuito de la Figura 4, que representa
un conjunto de elementos eléctricos, entre los que se tienen: dos resistores R1 y R2 , un
inductor L, un capacitor C, una fuente generadora de tensión Vin (t) y finalmente, una fuente
generadora de corriente iin (t).
Se realizó el análisis para dos casos en especial que se describen a continuación:

Caso 1. Vin es una entrada escalón de magnitud 12V aplicada en t1 = 2s de la forma:


Vin (t) = 12µ(t − 2). Y además, iin (t) = 0.

Caso 2. Vin es una entrada escalón de magnitud 12V aplicada en t1 = 2s de la forma:


Vin (t) = 12µ(t − 2). Además, iin (t) es una entrada escalón de magnitud 3A aplicada
en t2 = 17s de la forma:iin (t) = 3µ(t − 17).

El resultado del primer caso se ilustra en la Figura 5, donde se observa que a partir
de 3 segundos; donde ocurre el escalón de tensión, el capacitor empieza a cargarse, es decir;
su tensión aumenta hasta ser aproximadamente la tensión de la fuente de voltaje directa. A
los 10 segundos, el capacitor tiene una tensión entre sus terminales de casi 12V, igual que
la fuente de tensión. Dado que la fuente de corriente tiene un valor de 0A en todo tiempo,
se comporta como un circuito abierto entre sus terminales, y toda la corriente de circuito
circula a través del lazo externo.

dy(t)
ic = C (2)
dt
Según el modelo matemático del capacitor, la corriente a través del mismo (que equivale
a la corriente en todo el circuito) sólo existe cuando la tensión entre las terminales del
capacitor (y(t)) es variable, esto debido al término derivador. Entre los 3 y 10 segundos,
el capacitor experimenta un aumento de tensión y durante este perı́odo existe corriente en
el circuito. Después de los 10 segundos, la tensión y(t) se estabiliza y adquiere un valor
constante de 12V hasta tiempo infinito; rango en el cual la corriente en el circuito es muy
cercana al cero absoluto. Debido a que en este rango no existe corriente, entonces tampoco
se generan caı́das de tensión en los resistores ni en el inductor. El modelo matemático del
inductor define que la tensión entre sus terminales depende de la variación de la corriente

6
a través de él, en este caso, su tensión en cero debido a que la corriente es constante en el
circuito.
dIc
VL = L (3)
dt

Figura 4: Modelo gráfico del circuito.

Figura 5: Tensión y(t) (rojo), Vin (azul) y iin (verde), para las condiciones del Caso 1.

7
En el segundo caso, el cual se ilustra en la Figuras 6 y 7, se tiene un cambio respecto
al caso anterior; la fuente de corriente se comporta como un circuito abierto entre los 0 y los
17 segundos, punto en el cual se enciende como un escalón de magnitud 3A.
En los primeros 17 segundos, la tensión en el capacitor y(t) se comporta de la misma
forma que en el primer caso; su valor es constante e igual a 12V. En la Figura 7 se observan
los tiempos de encendido de ambas fuentes.
A los 17 segundos, la fuente de corriente fuerza a pasar corriente a través del capacitor,
y como consecuencia, genera una variación en la tensión del mismo. La corriente de 3A se
debe distribuir inicialmente de forma proporcional a la magnitud de las resistencias, 5kω y
10kΩ; debido a que en ese instante no hay caı́da de tensión en ninguna de las dos. La fuente
de corriente es un generador constante, por que lo finalmente el inductor se carga totalmente,
haciendo pasar la totalidad de la corriente a través de él y entonces, una corriente de 0A pasa
por el capacitor, generando que la variación en la tensión del mismo sea de cero; es decir, el
capacitor llega a una tensión constante e igual a 15kV, como se observa en la Figura 6.

Figura 6: Tensión y(t) para las condiciones del Caso 2.

8
Figura 7: Vin (azul) y iin (verde), para las condiciones del Caso 2.

1.2.1. Código de OpenModelica Connection Editor


A continuación se presenta el código implementado para la resolución del circuito.

model Circuito

%Se definen unidades del SI.


import Modelica.SIunits.*;

%Se define los valores de los componentes eléctricos.


parameter Resistance R1 = 5000.0;
parameter Resistance R2 = 10000.0;
parameter Capacitance C = 0.0001 ;
parameter Inductance L = 0.003;

%Se definen las variables de entrada, fuente de tensión y fuente de corriente.


Voltage Vf "Fuente Tension";
Current If "Fuente Corriente";

%Se definen las condiciones iniciales del capacitor e inductor.s


Voltage Vc( start = 0);
Current Il( start = 0);

9
%Se definen las ecuaciones del sistema.
equation
If = if time >= 17.0 then 0.0 else 0.0;
Vf = if time >= 2.0 then 12 else 0.0;
C * der(Vc) = Il+If;
L * der(Il) = Vf - R1 * Il - R2 *(If + Il) - Vc;

%Se define la toletancia y el intervalo de tiempo a graficar.


annotation ( experiment ( StartTime = 0, StopTime = 25 ,
Tolerance = 1e-06, Interval = 0.0004 ));

end Circuito;

2. Ejercicio 2. Simulink
2.1. Análisis de Modelo de Reactor Quı́mico
La simulación de un reactor quı́mico viene dado por el siguiente sistema de variables
de estado:

dCa F0 (Ca0 − Ca )
= − k1 Ca Cb (4)
dt V
dCb F0 (Cb0 − Cb )
= − k1 Ca Cb − k2 Cb Cx − k3 Cb Cy (5)
dt V
dCx F0 (Cx0 − Cx )
= + k1 Ca Cb − k2 Cb Cx (6)
dt V
dCy F0 (Cy0 − Cy )
= + k2 Cb Cx − k3 Cb Cy (7)
dt V
dCz F0 (Cz0 − Cz )
= + k3 Cb Cy (8)
dt V
Donde Ca , Cb , Cx , Cy y Cz son las variables de estado del sistema. Y además, Ca0 , Cb0 ,
Cx0 , Cy0 y Cz0 son las entradas del sistema.
La Figura 8 muestra el diagrama implementado en Simulink para la obtención de
las gráficas de las variables de estado. Primeramente, se definieron todas las entradas del
sistemas y se colocaron a la izquierda, utilizando un bloque señales cuadradas. Seguidamente,
se colocaron todas las variables de estado a la derecha, que corresponden a las variables que
se desean graficar, utilizando un bloque de scope.
Para la variable Ca se utilizó la Ecuación 4 y por medio de la utilizaron de bloques de
ganancia, suma e integradores, se establecieron las conexiones entre bloques, tal que:

10
1. Se empezó por la parte derecha de la Ecuación 4, en donde no existen términos diferen-
ciales.

2. Se realizaron las operaciones por orden de prioridad, empezando por la variable de estado
Ca .

3. Primero se restó Ca0 − Ca , debido a que eran las variables ya establecidas.

4. Obtenida la resta, se multiplicó por un bloque de ganancia F0 /V .

5. Luego, utilizando un bloque de multiplicación de variables, se realizó la operación Ca · Cb .

6. Posteriormente, el resultado se hizo pasar por un bloque de ganancia k1 .

7. Obtenido ambos puntos luego de la operación con sus respectivos bloques de ganancia se
realizó la resta entre dichos resultados (4 y 6).

8. Una vez la resta realizada, se tiene en este punto la operación completa del lado derecho
de la Ecuación 4; que es equivalente al lado derecho, es decir; se tiene en este instante
dCa /dt.

9. Como lo que realmente se desea es el valor de Ca , se hace pasar el resultado del punto 9
por medio de un bloque integrador, al cual se le puede indicar la condición inicial de la
variable de estado en el tiempo igual a cero segundos.

10. Finalmente, obtenido Ca se conecta al bloque scope para su graficación.

El procedimiento descrito anteriormente se utilizó para las ecuaciones restantes de la


matriz de variables de estado. Una vez obtenido el diagrama de bloques de la Figura 8, se
establecieron los requerimientos de las entradas del sistema establecidas en el enunciado en
los bloques de señales escalón (a la izquierda del diagrama). Las condiciones iniciales de las
variables de estado se establecieron en el panel de propiedades de los bloques de integración
de cada variable, ubicados previamente antes de su graficación.
Entre las indicaciones de simulación se encuentran que: Ca0 debe ser un escalón de
magnitud 0.4 aplicado en el tiempo t1 = 5s, Cb0 un escalón de magnitud 0.6 aplicado en
el tiempo t2 = 30s, Cx0 = Cy0 = Cz0 = 0. adempas, todas las condiciones iniciales de las
variables de estado son cero, excepto Ca (0) = 1.

11
Figura 8: Diagrama de bloques en Simulink para la simulación de un reactor quı́mico.

La Figura 9 muestra el comportamiento de la variable Ca bajo las condiciones estable-


cidas en el enunciado, donde se observa que inicia en 1 y decrece hasta un valor constante
de 0,3889 a los 550seg.

12
Comportamiento de la Variable de Estado Ca
1

0.9

0.8
Variable de Estado Ca

0.7

0.6

0.5
X: 830
Y: 0.3889
0.4

0.3
0 100 200 300 400 500 600 700 800 900 1000
Tiempo [s]

Figura 9: Variable de estado Ca en función del tiempo.

La Figura 10 muestra el comportamiento la variable Cb bajo las condiciones establecidas


en el enunciado, donde se observa que inicia en 0 y aumenta hasta un valor constante de
0,5756 a los 600seg.

13
Comportamiento de la Variable de Estado Cb
0.6

X: 750
Y: 0.5756
0.5
Variable de Estado Cb

0.4

0.3

0.2

0.1

0
0 100 200 300 400 500 600 700 800 900 1000
Tiempo [s]

Figura 10: Variable de estado Cb en función del tiempo.

La Figura 11 muestra el comportamiento la variable Cx bajo las condiciones establecidas


en el enunciado, donde se observa que inicia en 0 y aumenta hasta un valor pico de 3.44x10− 3;
y luego decrece a un valor constante de 0,002893 a los 600seg.

14
10-3 Comportamiento de la Variable de Estado Cx
3.5
X: 650
Y: 0.002893
3

2.5
Variable de Estado Cx

1.5

0.5

0
0 100 200 300 400 500 600 700 800 900 1000
Tiempo [s]

Figura 11: Variable de estado Cx en función del tiempo.

La Figura 12 muestra el comportamiento la variable Cy bajo las condiciones establecidas


en el enunciado, donde se observa que inicia en 0 y aumenta hasta un valor pico de 4x10− 3;
y luego decrece a un valor constante de 0,003866 a los 650seg.

15
10-3 Comportamiento de la Variable de Estado Cy
4

X: 750
3.5 Y: 0.003866

3
Variable de Estado Cy

2.5

1.5

0.5

0
0 100 200 300 400 500 600 700 800 900 1000
Tiempo [s]

Figura 12: Variable de estado Cy en función del tiempo.

La Figura 13 muestra el comportamiento la variable Cz bajo las condiciones establecidas


en el enunciado, donde se observa que inicia en 0 y aumenta hasta un valor constante de
0,004446 a los 800seg.

16
10-3 Comportamiento de la Variable de Estado Cz
4.5
X: 850
4 Y: 0.004446

3.5
Variable de Estado Cz

2.5

1.5

0.5

0
0 100 200 300 400 500 600 700 800 900 1000
Tiempo [s]

Figura 13: Variable de estado Cz en función del tiempo.

2.2. Código de Matlab


A continuación se presenta el código de matlab creado para generar las gráficas de las
variables de estado, datos que fueron exportados al workspace provenientes de Simulink.

figure
plot(Ca(:,1),Ca(:,2),’r’,’linewidth’,2)
title(’Comportamiento de la Variable de Estado Ca’)
xlabel(’Tiempo [s]’)
ylabel(’Variable de Estado Ca’)
grid on

figure
plot(Cb(:,1),Cb(:,2),’r’,’linewidth’,2)

17
title(’Comportamiento de la Variable de Estado Cb’)
xlabel(’Tiempo [s]’)
ylabel(’Variable de Estado Cb’)
grid on

figure
plot(Cx(:,1),Cx(:,2),’r’,’linewidth’,2)
title(’Comportamiento de la Variable de Estado Cx’)
xlabel(’Tiempo [s]’)
ylabel(’Variable de Estado Cx’)
grid on

figure
plot(Cy(:,1),Cy(:,2),’r’,’linewidth’,2)
title(’Comportamiento de la Variable de Estado Cy’)
xlabel(’Tiempo [s]’)
ylabel(’Variable de Estado Cy’)
grid on

figure
plot(Cz(:,1),Cz(:,2),’r’,’linewidth’,2)
title(’Comportamiento de la Variable de Estado Cz’)
xlabel(’Tiempo [s]’)
ylabel(’Variable de Estado Cz’)
grid on

3. Ejercicio 3. Matlab
La pregunta 3 consistió en trabajar el modelo de un sistema dadas las matrices A, B,
C y D que lo definen. Utilizando comandos de matlab (el código completo se muestra en
el apartado siguiente), se crea primero el espacio de variables de estados del sistema, para
posteriormente analizar su salida ante distintas entradas. Por último se obtiene la función de
transferencia, que permite además comprobar que el diagrama de polos y ceros del sistema,
coincida con la función de transferencia obtenida.

3.1. Código de Matlab


%definimos las matrices
A = [-4 -1 0 3 -2 0; -1 -2 1 0 4 3; 3 0 -3 2 -1 2; -3 0 -4 -2 1 -1; 1 -5 0 -2 -1 -2;
-1 -3 -3 0 1 -1];
B = [-2;-1;-3;0;8;3];

18
C = [-1 -1 1 -1 0 1];
D = [-1];

%Definimos espacio de estados del sistema


G = ss(A,B,C,D);

%Diagrama de polos y ceros del sistema


pole(G)
zero(G)
figure(1);pzmap(G)
title(’Diagrama de polos y ceros’)
xlabel(’Real’) % x-axis label
ylabel(’Imaginario’) % y-axis label

%Respuesta a entrada cero con condiciones iniciales dadas


x0 = [1; 3; 0; -4; -1; -2];
figure(2);initial(G,x0)
title(’Respuesta a entrada cero con condiciones iniciales’)
xlabel(’Tiempo’)
ylabel(’Amplitud’)

%Respuesta a entrada de impulso unitario


figure(3);impulse(G)
title(’Respuesta a entrada de impulso’)
xlabel(’Tiempo’)
ylabel(’Amplitud’)

%Respuesta a entrada escalón unitario


figure(4);step(G)
title(’Respuesta a entrada escalon unitario’)
xlabel(’Tiempo’)
ylabel(’Amplitud’)

%Respuesta a entrada de onda cuadrada, condiciones iniciales nulas


[u,t] = gensig(’square’,25, 75, 0.01)
x00 = [0; 0; 0; 0; 0; 0];
figure(5);lsim(G,u,t, x00)
title(’Respuesta a entrada de onda cuadrada’)
xlabel(’Tiempo’)
ylabel(’Amplitud’)

%función de transferencia del sistema

19
[num,den]=ss2tf(A,B,C,D)
H=tf(num,den)

3.2. Diagrama de Polos y Ceros


Por medio de la función ’pzmap’, fue posible graficar el diagrama de polos y ceros que
se muestra en la figura 14. Como se puede observar, el sistema cuenta con seis polos y de
igual manera seis ceros, por lo que ya de antemano se conoce que la función de transferencia
será de orden seis

Diagrama de polos y ceros


10
10
0.52
0.38 0.28 0.2 0.12 0.06

8
8

0.68 6
6

4
4
0.88
)
-1

2
2
Imaginario (seconds

-2
2
0.88
-4
4

-6
0.68 6

-8
8

0.38 0.28 0.2 0.12 0.06


0.52
-10
-6 -5 -4 -3 -2 -1 100 1
-1
Real (seconds )

Figura 14: Diagrama de polos y ceros

3.3. Respuesta del sistema ante distintas entradas


A continuación se muestra el comportamiento de la salida del sistema en el tiempo,
dependiendo de qué entradas se le aplican. En la figura 15 se aplicó una entrada cero, con
condiciones iniciales dadas, y como se puede observar el sistema inicia su comportamiento
en un valor negativo, debido a las condiciones iniciales. Luego la curva de salida crece hasta
poco mas de 0.5 para seguidamente estabilizarse rápidamente y decaer en 0.

En la figura 16 se aplicó una entrada de impulso unitario al sistema. Encontramos


un comportamiento distinto al caso anterior, ya que la curva inicia en un valor de 3 y
seguidamente baja su amplitud, para oscilar de una manera más extensa en el tiempo, y
finalmente llegar a un valor de 0.

20
Un comportamiento similar se observa en la figura 17, donde se aplicó una entrada
de escalón unitario al sistema. Sin embargo, difiere de los casos anteriores ya que todo el
comportamiento se da en el eje negativo de la amplitud. En este caso vemos también como
el sistema oscila de manera pronunciada en el primer segundo, después de este tiempo dis-
minuye la amplitud de las oscilaciones y se estabiliza en un valor negativo.

Por último, en la figura 18 se muestra la salida al aplicar una entrada de onda cuadrada.
Como podemos observar, el sistema presenta un comportamiento inverso al de la entrada,
donde la onda cuadrada es positiva, la salida es negativa. Además, en cada transición de la
entrada, la salida oscila hasta volver a un valor aproximado de -1.

Respuesta a entrada cero con condiciones iniciales


1

0.5

0
Amplitud

-0.5

-1

-1.5

-2
0 1 2 3 4 5 6
Tiempo (seconds)

Figura 15: Respuesta a entrada cero con condiciones iniciales dadas

21
Respuesta a entrada de impulso
4

0
Amplitud

-1

-2

-3

-4

-5
0 1 2 3 4 5 6
Tiempo (seconds)

Figura 16: Respuesta a entrada impulso unitario

Respuesta a entrada escalón unitario


-0.8

-1

-1.2

-1.4
Amplitud

-1.6

-1.8

-2

-2.2

-2.4
0 1 2 3 4 5 6
Tiempo (seconds)

Figura 17: Respuesta a entrada escalón unitario

22
Respuesta a entrada de onda cuadrada
1.5

0.5

0
Amplitud

-0.5

-1

-1.5

-2

-2.5
0 10 20 30 40 50 60 70 80
Tiempo (seconds)

Figura 18: Respuesta a entrada de onda cuadrada

4. Ejercicio 4. Matlab
4.1. Modelo numérico Newton-Raphson
El método númerico de Newton Raphson se basa en el conocimiento de la derivada de
la función y(x) en el punto xi para encontrar una aproximación de la raı́z de la ecuación y(x)
= 0. Matemáticamente se aproxima la función y(x) a una serie de Taylor truncada al primer
orden de manera que se pueda encontrar, mediante algunas iteraciones, el valor de la raı́z.
La aproximación de primer orden sigue la forma:
y(xi+1 ) ≈ y(xi ) + y 0 (xi ) · (xi+1 − xi ) (9)
Debido a que se quiere conocer el valor de x en el cual la función y(x) interseca con el
eje x; se define y(xi+1 = 0. Por lo tanto, de la Ecuación 9 se tiene que:

y(xi )
xi+1 = xi − (10)
y 0 (xi )
Para este problema se requiere encontrar las soluciones de la ecuación:

5 3
20x4 + x2 + tan(3x2 ) − 8x3 = − x · sec(x) + e7x (11)
15 5
Por lo tanto, siguiendo el método de solución numérico de Newton-Raphson se debe
obtener la función y(x) de la forma:

23

5 3
y(x) = 20x4 + x2 + tan(3x2 ) − 8x3 + x · sec(x) − e7x (12)
15 5
Y aplicando el método numérico iterativo de Newton-Raphson mediante la implemen-
tación de código de matlab se encontraron algunas soluciones en las que y(x) interseca al eje
equis. En dichos puntos, la Ecuación 11 posee soluciones.
En la Figura 19 se muestra la ventana de comando para la primera solución de la
Ecuación 11; la cual fue en x = −0,2344. La Figura 20 muestra cómo la curva de la ecuación
y(x) interseca en el mismo punto x = −0,2344 determinado anteriormente mediante el código
de matlab.

Figura 19: Primera solución encontrada en x = −0,2344

24
0.1

0.05

X: -0.2344
Variable dependiente y

Y: -0.0003267
0

-0.05

-0.1

-0.15
-0.25 -0.245 -0.24 -0.235 -0.23 -0.225 -0.22 -0.215 -0.21 -0.205 -0.2
Variable dependiente x

Figura 20: Curva y(x), primera solución encontrada en x = −0,2344

En la Figura 21 se muestra la ventana de comando para la segunda solución de la


Ecuación 11; la cual fue en x = −0,7484. La Figura 22 muestra cómo la curva de la ecuación
y(x) interseca en el mismo punto x = −0,7484 determinado anteriormente mediante el código
de matlab.

25
Figura 21: Segunda solución encontrada en x = −0,7484

0.5

X: -0.7484
Y: -0.0003637
0
Variable dependiente y

-0.5

-1

-1.5

-2
-0.749 -0.7485 -0.748 -0.7475 -0.747 -0.7465 -0.746 -0.7455 -0.745 -0.7445
Variable independiente x

Figura 22: Curva y(x), segunda solución encontrada en x = −0,7484

26
4.2. Código de Matlab
A continuación se presenta el código de matlab implementado para la resolución del
método númerico de Newton-Raphson:

%Se define un valor aproximado de la solución


x0=input(’Introduzca el valor inicial: ’);

%Se ingresa el error al que se desea aproximar


tol=input(’Introduzca el porcentaje de error: ’);

%Syms permite generar una variable simbolica


syms x;

%Se ingresa la función


f=input(’Introduzca la función: ’);

%Se definen los limites de graficación


in = input(’Introduzca el limite inferior en x:’);
sup = input(’Introduza el limite superior en x:’);

%Se genera la gráfica entre los puntos de graficacion


t = linspace(in,sup,1000);
plot(t,subs(f,t))
grid on
i=1;
fx(i)=x0;

%Se evalua la función en el valor inicial


f1=subs(f,x,fx(i));

%Se genera la derivada de la función requerida y se evalua en el valor


%inicial
z=diff(f);
d=subs(z,x,fx(i));

%Se define el error de 100 para el valor inicial


ea(1)=100;

while abs(ea(i))>=tol && i<=100;

%Iteracion de Newton Raphson


fx(i+1)=fx(i)-f1/d;

27
f1=subs(f,x,fx(i+1));
d=subs(z,x,fx(i+1));

%Determinación del error


ea(i+1)=((abs(fx(i+1))-abs(fx(i)))/(abs(fx(i+1))))*100;
i=i+1;
end
%Impresión de encabezado de table
fprintf(’i fx(i) Error aprox (i) \n’);
%impresión de valores de tabla
for j=1:i;
fprintf(’%2d \t %11.7f \t %7.3f \n’,j-1,fx(j),abs(ea(j)));
end

5. Ejercicio 5. Scripting y graficación


En esta sección se nos pide gráficar ciertas funciones en Matlab, esto para aprender a
utilizar distintos comandos como plot, abs, sqrt, hold. Los cuáles los vamos a utilizar muy
seguido para poder ver los resultados de las simulaciones de nuestros sistemas.
A continuación veremos algunas partes del código utilizado para gráficar las funciones,
además del resultado final.

5.1. Código de Matlab


%%%%% PARTE 5 %%%%%%
%%%%%% Para las funciones de la 1 a 4 se plotea en amarillo, de la 5 en
%%%%%% adelante de plotea en rojo.
%Función 1
x= -7: (1*10^-5):-3;
y1=3*sqrt(1-(x/7).^2);
plot (x,y1,’Color’,[1,1,0])
hold on
%Función 2
x= -7: (1*10^-5):-4;
y2=-3*sqrt(1-(x/7).^2);
plot (x,y2,’Color’,[1,1,0])
hold on
%Función 3
x= 3:(1*10^-5):7;
y3=3*sqrt(1-(x/7).^2);
plot (x,y3,’Color’,[1,1,0])
hold on

28
%Función 4
x= 4: (1*10^-5):7;
y4=-3*sqrt(1-(x/7).^2);
plot (x,y4,’Color’,[1,1,0])
hold on
%Función 5
x= -4:(1*10^-5):4;
y5=abs(x/2)-((3*sqrt(33)-7)/(112))*x.^2+sqrt(1-(abs(abs(x)-2)-1).^2)-3;
plot (x,y5,’Color’,[1,0,0])
hold on
%Función 6
x= -1:(1*10^-5):-0.75;
y6=9-8*abs(x);
plot (x,y6,’Color’,[1,0,0])
hold on
%Función 7
x= 0.75:(1*10^-5):1;
y7=9-8*abs(x);
plot (x,y7,’Color’,[1,0,0])
hold on
%Función 8
x= -0.75:(1*10^-5):-0.5;
y8=3*abs(x)+0.75;
plot (x,y8,’Color’,[1,0,0])
hold on
%Función 9
x= 0.5:(1*10^-5):0.75;
y9=3*abs(x)+0.75;
plot (x,y9,’Color’,[1,0,0])
hold on
%Función 10
x1= -0.5;
x2= 0.5;
y10=2.25;
plot ([x1,x2],[y10,y10],’Color’,[1,0,0]);
hold on
%Función 11
x= -3:(1*10^-5):-1;
y11=(6*sqrt(10))/(7) + (1.5-0.5*abs(x)) - ((6*sqrt(10))/(14))*sqrt(4-(abs(x)-1).^2);
plot (x,y11,’Color’,[1,0,0])
hold on
%Función 12

29
x= 1:(1*10^-5):3;
y12=(6*sqrt(10)/7)+(1.5-0.5*abs(x))-(6*sqrt(10)/14)*sqrt(4-(abs(x)-1).^2);
plot (x,y12,’Color’,[1,0,0])
hold on

5.2. Resultado final

-1

-2

-3
-8 -6 -4 -2 0 2 4 6 8

Figura 23: Resultado final de la parte 5

30
6. Conclusiones
En este laboratorio se aprendió sobre el uso de las herramientas computacionales que
utilizaremos durante el semestre para la simulación de nuestros sistemas, y como estas nos
pueden ayudar a ver en que está fallando y qué parte debemos corregir para tener un funcio-
namiento óptimo. También se utilizó Matlab como una herramienta de ayuda matemática,
para resolver ecuaciones de difı́cil cálculo, y también para graficar funciones.
Además, es posible analizar el comportamiento en el tiempo de un sistema por medio
de su modelo en variables de estado. Para este laboratorio, conociendo las matrices que
conforman el MVE, se obtuvo el espacio de variables de estado y con este fue posible analizar
la salida del sistema según la entrada que se le aplica. Se puede concluir que la respuesta de
un sistema depende completamente de la entrada, ası́ como de las condiciones con que inicia
el sistema.
El programa OpenModelica permite la solución de sistemas de ecuaciones diferenciales
mediante métodos numéricos, siendo de mucha utilidad debido a que no es necesario realizar
el cálculo de forma manual y analı́tica para conocer el comportamiento de variables de estado;
donde el procedimiento regular requiere de la transformación de Laplace y Laplace inversa.
En cuanto a Simulink, permite igualmente la solución de sistemas de ecuaciones dife-
renciales mediante la asociación de bloques, representando variables y procesos matemáticos
de forma sencilla. De esta manera, no se requiere resolver las ecuaciones de analı́ticamente.

31
Referencias
[1] Michael M. Tiller. Lotka-Volterra Systems. Extraı́do el 14 de setiembre del 2017 de:
http://book.xogeny.com/behavior/equations/population/

[2] Wolfram MathWorld. Lotka-Volterra Equations. Extraı́do el 14 de setiembre del 2017


de: http://mathworld.wolfram.com/Lotka-VolterraEquations.html

[3] César, J. (Junio, 2016). Método de Newton-Raphson. Extraı́do el 14 de setiembre del 2017
de: https://blogdelingeniero1.wordpress.com/2013/12/31/-metodo-de-newton-raphson-
newton-fourier-en-matlab/

32

You might also like