Está en la página 1de 211

Análisis de Sistemas

2023-1
Dr.-Ing. Miguel Parada Contzen

MPC 2023-1 Análisis de Sistemas


MPC 2023-1 Análisis de Sistemas
Prólogo
Análisis de Sistemas
Este documento es una guía para la asignatura Análisis de Sistemas de Ingeniería Civil
Eléctrica de la Universidad del Bío-Bío. Su objetivo es entregar, de manera ordenada
y clara, todos los ejercicios y desarrollos que se discuten durante la cátedra de la asig-
natura.
Siendo una asignatura transversal a las distintas áreas de la ingeniería, es rele-
vante preguntarse qué define a esta disciplina. Una hipótesis simple puede ser que la
ingeniería consiste en usar el conocimiento para resolver problemas de índole (nor-
malmente) tecnológico. Desde aquí surge la pregunta qué es conocimiento y cómo
caracterizarlo, de tal forma que sea instrumental a la resolución de problemas. Esto
es, transitar hacia una solución, una verdad. Las formas del conocimiento definen los
posibles caminos que podemos seguir para llegar a la verdad que constituye nuestra
solución: Viam veritatis inveni, "buscad (¿o inventad?) el camino de la verdad".
Al conocimiento declarativo, al saber, de la tradición epistemología clásica, es
natural adosarle, en el ámbito de la ingeniería, el conocimiento procedimental, el saber
hacer (knowhow). "Sé teoría de circuitos, puedo montar circuitos". O desde un punto
de vista estudiantil: "Me sé la materia" versus "sé resolver los ejercicios". El saber y el
saber hacer constituyen dos niveles de conocimiento distintos, que se complementan en
la práctica de la disciplina, que se nutren el uno del otro, sin perder su independencia.
A estos niveles podemos agregar un tercero, el conocimiento actitudinal, el saber
ser. Si bien en muchas lenguas la diferencia entre ser y estar no existe formalmente
(Hamlet, To be or not to be?: ¿estar o no estar? ¿ser o no ser?), en español podemos
caracterizarla quizás, aunque no en todos los casos, por la dependencia temporal. El
estar es pasajero pero el ser es eterno o fundamental. El estar es un camino que puede
cambiar, pero el ser es el fin, el objetivo, la unidad que permite al conocimiento expre-
sarse en su contexto, en el procedimiento y en la declaración, de manera íntegra como
un todo coherente en sus partes.
Aprender es entonces un viaje transformador, desde el vacío de la ignorancia, hacia
la densa complejidad del saber. Una solución de ingeniería, es una armonización del
decir, el hacer, y la realidad amplia en la que se desenvuelve.

Los Pitufos y el árbol de oro, 2011.

MPC 2023-1 i Análisis de Sistemas


El curso de Análisis de Sistemas se organiza en cuatro capítulos. El primero de
ellos corresponde a una introducción general donde se ven temas relativos a cálculo,
programación, y definiciones sobre sistemas. El siguiente capítulo se centra en mod-
elos lineales, tanto en tiempo continuo como discreto, expresados en el espacio de
estados. El tercer capítulo ahonda en herramientas matemáticas, particularmente en
distintos tipos de transformadas como Laplace, Zeta, y Fourier, que se utilizarán pos-
teriormente en el último capítulo, donde se analizan sistemas desde la idea de función
de transferencia. El siguiente esquema es un mapa de las relaciones entre los distintos
contenidos del curso.

Modelos de Sistemas (Sec. 1.3)


Modelos Lineales

Tiempo continuo Tiempo discreto


Espacio de estados (Sec. 2.1) Espacio de estados (Sec. 2.2)
Discretización
ẋ(t) = Ax(t) + Bu(t) Sec. 2.1.6 x(k + 1) = Ax(k) + Bu(k)
y(t) = Cx(t) + Du(t) y(kT ) = Cx(kT ) + Du(kT )

Transformada Transformada
de Laplace Sec. 3.4 Zeta
Sec. 3.5

Modelos Linealización Función de transferencia Función de transferencia


No Lineales
Sec. 2.3.3 Section 4.1.1 Section 4.1.2
Sección 2.3
H(s) = num(s)
den(s) H(z) = num(z)
den(z)

Transformada Transformada
Sec. 3.7.1 Sec. 3.7.3
de Fourier de Fourier

Análisis en frecuencia Análisis en frecuencia


Section 4.2.1 Section 4.2.5
ȷ̂ω) ȷ̂ΩT )
H(ȷ̂ω) = num(
den(ȷ̂ω) H(eȷ̂ΩT ) = num(e
den(eȷ̂ΩT )

MPC 2023-1 ii Análisis de Sistemas


Ejercicios - Motivación
E 0.1: Aventuras. Lea los siguientes fragmentos y conteste las preguntas.

Arturo

-¡Ay, que me he quedado sin espada! -se lamentó Arturo mientras iban por el
bosque.
-No tengáis cuidado -respondió Merlín-. La espada que habéis perdido carecía
de mayor mérito y ya sirvió para su propósito. Mas no lejos de aquí os espera
vuestro propio acero: los duendes de Avalón la han forjado sólo para vos, y a
vos os está destinada hasta que la devolváis poco antes de ir allá vos mismo. Su
nombre es Excalibur y nadie puede resistir sus golpes; con ella traeréis paz y
libertad a la tierra de Logres. Ha llegado la hora señalada para que Excalibur
llegue a vuestras manos, pues ahora sostendréis su pomo con total humildad, y en
adelante la desenvainaréis únicamente para defender la causa de la justicia.1

Alonso

Hechas, pues, estas prevenciones, no quiso aguardar más tiempo a poner en efeto
su pensamiento, apretándole a ello la falta que él pensaba que hacía en el mundo
su tardanza, según eran los agravios que pensaba deshacer, tuertos que enderezar,
sinrazones que enmendar, y abusos que mejorar, y deudas que satisfacer. Y así, sin
dar parte a persona alguna de su intención, y sin que nadie le viese, una mañana,
antes del día, que era uno de los calurosos del mes de julio, se armó de todas
sus armas, subió sobre Rocinante, puesta su mal compuesta celada, embrazó su
adarga, tomó su lanza, y, por la puerta falsa de un corral, salió al campo con
grandísimo contento y alborozo de ver con cuánta facilidad había dado principio a
su buen deseo. Mas, apenas se vio en el campo, cuando le asaltó un pensamiento
terrible, y tal, que por poco le hiciera dejar la comenzada empresa; y fue que
le vino a la memoria que no era armado caballero, y que, conforme a ley de
caballería, ni podía ni debía tomar armas con ningún caballero; y, puesto que
lo fuera, había de llevar armas blancas, como novel caballero, sin empresa en
el escudo, hasta que por su esfuerzo la ganase. Estos pensamientos le hicieron
titubear en su propósito; mas, pudiendo más su locura que otra razón alguna,
propuso de hacerse armar caballero del primero que topase, a imitación de otros
muchos que así lo hicieron, según él había leído en los libros que tal le tenían. En
lo de las armas blancas, pensaba limpiarlas de manera, en teniendo lugar, que lo
fuesen más que un armiño; y con esto se quietó y prosiguió su camino, sin llevar
otro que aquél que su caballo quería, creyendo que en aquello consistía la fuerza
de las aventuras.2

1 Roger Lancelyn Green. El Rey Arturo y sus Caballeros de la Tabla Redonda. Capítulo 1: Las dos
espadas. 1987. Basado en relatos de la baja y alta Edad Media.
2 Miguel de Cervantes y Saavedra. El ingenioso hidalgo don Quijote de la Mancha. Capítulo II: Que

trata de la primera salida que de su tierra hizo el ingenioso don Quijote. 1605.

MPC 2023-1 iii Análisis de Sistemas


Bilbo

—Esto te da diez minutos. Tendrás que correr —dijo Gandalf.


—Pero... —dijo Bilbo.
—No hay tiempo para eso —dijo el mago.
—Pero... —dijo otra vez Bilbo.
—Y tampoco para eso otro ¡Vamos, adelante!
Hasta el final de sus días Bilbo no alcanzó a recordar cómo se encontró fuera,
sin sombrero, bastón, o dinero, o cualquiera de las cosas que acostumbraba llevar
cuando salía, dejando el segundo desayuno a medio terminar, casi sin lavarse la
cara, y poniendo las llaves en manos de Gandalf, corriendo callejón abajo tanto
como se lo permitían los pies peludos, dejando atrás el Gran Molino, cruzando el
río, y continuando así durante una milla o más.
Resoplando llegó a Delagua cuando empezaban a sonar las once, ¡y descubrió que
se había venido sin pañuelo!
—¡Bravo! —dijo Balin, que estaba de pie a la puerta de la posada, esperándolo.3

Frodo

Pippin esperaba sentado sobre su fardo en el vestíbulo. Frodo atravesó la puerta


oscura y llamó: -¡Sam! ¡Sam! ¡Ya es hora!
-¡Voy, señor! -se oyó la respuesta desde adentro, seguida por el mismo Sam que
salió secándose la boca.
Había estado despidiéndose del barril de cerveza, en la bodega. -¿Todo listo,
Sam? -preguntó Frodo.
-Sí, señor, tardaré poco ya.
Frodo cerró la puerta con llave y se la dio a Sam.
-¡Corre con ella a tu casa, Sam! - le dijo -. Luego corta a través de Tirada y
encuéntranos tan pronto como puedas en la entrada del sendero, más allá de la
pradera. No cruzaremos la villa esta noche; hay demasiados oídos y ojos atisbán-
donos.
Sam partió a toda prisa.
-Bueno, al fin nos vamos -dijo Frodo.
Cargaron los bultos sobre los hombros, tomaron los bastones y doblaron hacia el
oeste de Bolsón Cerrado.
-¡Adiós! -dijo Frodo mirando el hueco oscuro y vacío de las ventanas. Agitó la
mano y luego se volvió; y (como siguiendo a Bilbo) corrió detrás de Peregrin,
sendero abajo. Saltaron por la parte menos elevada del cerco y y fueron hacia los
campos, entrando en la oscuridad como un susurro en la hierba.4

3 J.R. R. Tolkien. El Hobbit. Una Tertulia Inesperada. 1937.


4 J.R. R. Tolkien. El Señor de los Anillos. La Comunidad del Anillo, Libro primero, 3.- Tres es com-
pañía. 1954.

MPC 2023-1 iv Análisis de Sistemas


• ¿Qué tienen en común y en qué se diferencian los personajes principales de los
distintos fragmentos?

• ¿Cuál es la motivación principal de cada uno de los personajes?


• ¿Cómo se puede relacionar lo anterior con el quehacer universitario?

E 0.2: Guasón. Vea el video https://youtu.be/DgzssDOTMXs y conteste lo


siguiente:

• ¿Cuál es el plan del Guasón? ¿Cuál es su táctica y estrategia?


• ¿Quiénes son schemers y quiénes no? ¿Por qué?
• ¿Cómo se puede relacionar esto con el transitar por los niveles del conocimiento? Guasón

E 0.3: Condoricosas. Detalle las similitudes y diferencias entre sus circunstancias y


las descritas en la tira cómica de la página siguiente.

MPC 2023-1 v Análisis de Sistemas


Condorito. Lo mejor de Condorito - Década de 2010.

MPC 2023-1 vi Análisis de Sistemas


Contenido
1 Introducción 1
1.1 Conceptos del Cálculo . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Conceptos de Programación . . . . . . . . . . . . . . . . . . . . . . 8
1.3 Definiciones en sistemas . . . . . . . . . . . . . . . . . . . . . . . . 10
1.4 Modelación de fenómenos físicos . . . . . . . . . . . . . . . . . . . 12
1.4.1 Principios generales . . . . . . . . . . . . . . . . . . . . . . 12
1.4.2 Sistemas mecánicos . . . . . . . . . . . . . . . . . . . . . . 13
1.4.3 Sistemas electromecánicos . . . . . . . . . . . . . . . . . . . 14
1.4.4 Sistemas hidráulicos . . . . . . . . . . . . . . . . . . . . . . 14
1.5 Ejercicios resueltos . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.6 Ejercicios propuestos . . . . . . . . . . . . . . . . . . . . . . . . . . 28
1.6.1 Integración . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
1.6.2 Matlab/Octave . . . . . . . . . . . . . . . . . . . . . . . . . 29
1.6.3 Sistemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

2 Modelos en el espacio de estados 32


2.1 Sistemas en tiempo continuo . . . . . . . . . . . . . . . . . . . . . . 32
2.1.1 Ecuaciones diferenciales . . . . . . . . . . . . . . . . . . . . 32
2.1.2 Ecuaciones de estado continuas . . . . . . . . . . . . . . . . 36
2.1.3 Solución de ecuaciones de estado continuas . . . . . . . . . . 41
2.1.4 Solución numérica de ecuaciones de estado continuas . . . . . 42
2.1.5 Convergencia de solución . . . . . . . . . . . . . . . . . . . 45
2.1.6 Discretización . . . . . . . . . . . . . . . . . . . . . . . . . 51
2.2 Sistemas en tiempo discreto . . . . . . . . . . . . . . . . . . . . . . . 58
2.2.1 Ecuaciones de diferencias . . . . . . . . . . . . . . . . . . . 58
2.2.2 Ecuaciones de estado discretas . . . . . . . . . . . . . . . . . 60
2.2.3 Solución de ecuaciones de estado discretas . . . . . . . . . . 61
2.2.4 Convergencia de solución . . . . . . . . . . . . . . . . . . . 62
2.3 Sistemas no lineales . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
2.3.1 Modelos no lineales . . . . . . . . . . . . . . . . . . . . . . 65
2.3.2 Series de Taylor . . . . . . . . . . . . . . . . . . . . . . . . . 66
2.3.3 Linealización por serie de Taylor . . . . . . . . . . . . . . . . 68
2.4 Ejercicios resueltos . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
2.5 Ejercicios propuestos . . . . . . . . . . . . . . . . . . . . . . . . . . 84
2.5.1 Ecuaciones diferenciales . . . . . . . . . . . . . . . . . . . . 84
2.5.2 Matrices y valores propios . . . . . . . . . . . . . . . . . . . 84
2.5.3 Discretización . . . . . . . . . . . . . . . . . . . . . . . . . 86
2.5.4 Ecuaciones de diferencias . . . . . . . . . . . . . . . . . . . 87
2.5.5 Sistemas no lineales . . . . . . . . . . . . . . . . . . . . . . 87

MPC 2023-1 vii Análisis de Sistemas


3 Señales 92
3.1 Señales como funciones . . . . . . . . . . . . . . . . . . . . . . . . . 92
3.2 Señales importantes . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
3.2.1 Tiempo continuo . . . . . . . . . . . . . . . . . . . . . . . . 93
3.2.2 Tiempo discreto . . . . . . . . . . . . . . . . . . . . . . . . . 97
3.3 Transformaciones en el dominio del tiempo . . . . . . . . . . . . . . 100
3.3.1 Transformaciones simples . . . . . . . . . . . . . . . . . . . 100
3.3.2 Convolución . . . . . . . . . . . . . . . . . . . . . . . . . . 101
3.4 Transformada de Laplace . . . . . . . . . . . . . . . . . . . . . . . . 103
3.5 Transformada Z . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
3.6 Equivalencias usuales . . . . . . . . . . . . . . . . . . . . . . . . . . 118
3.7 Transformada de Fourier . . . . . . . . . . . . . . . . . . . . . . . . 119
3.7.1 Tiempo continuo . . . . . . . . . . . . . . . . . . . . . . . . 119
3.7.2 Relación con series de Fourier . . . . . . . . . . . . . . . . . 128
3.7.3 Tiempo discreto . . . . . . . . . . . . . . . . . . . . . . . . . 130
3.8 Ejercicios resueltos . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
3.9 Ejercicios propuestos . . . . . . . . . . . . . . . . . . . . . . . . . . 135
3.9.1 Señales de prueba . . . . . . . . . . . . . . . . . . . . . . . . 135
3.9.2 Laplace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
3.9.3 Zeta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
3.9.4 Fourier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138

4 Funciones de Transferencia 139


4.1 Definiciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
4.1.1 Sistemas lineales en tiempo continuo . . . . . . . . . . . . . 139
4.1.2 Sistemas lineales en tiempo discreto . . . . . . . . . . . . . . 145
4.1.3 Retentor de orden cero . . . . . . . . . . . . . . . . . . . . . 148
4.2 Análisis en frecuencia . . . . . . . . . . . . . . . . . . . . . . . . . . 149
4.2.1 Entradas periódicas . . . . . . . . . . . . . . . . . . . . . . . 149
4.2.2 Diagramas de Bode . . . . . . . . . . . . . . . . . . . . . . . 154
4.2.3 Reglas de construcción de diagramas de Bode asintóticos . . . 160
4.2.4 Retardos continuos . . . . . . . . . . . . . . . . . . . . . . . 163
4.2.5 Diagramas de Bode en tiempo discreto . . . . . . . . . . . . 164
4.3 Ejercicios resueltos . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
4.4 Ejercicios propuestos . . . . . . . . . . . . . . . . . . . . . . . . . . 172
4.4.1 Funciones de Transferencia . . . . . . . . . . . . . . . . . . 172
4.4.2 Diagrama de Bode . . . . . . . . . . . . . . . . . . . . . . . 175

A Software de cómputo numérico 176


A.1 Guía de programación en Matlab© . . . . . . . . . . . . . . . . . . . 176
A.1.1 Generalidades . . . . . . . . . . . . . . . . . . . . . . . . . . 176
A.1.2 Integración numérica . . . . . . . . . . . . . . . . . . . . . . 176
A.1.3 Ecuaciones diferenciales a través de métodos RK nativos . . . 177
A.1.4 Ecuaciones diferenciales a través de discretización exacta . . 180
A.1.5 Ploteo de figuras . . . . . . . . . . . . . . . . . . . . . . . . 181
A.1.6 Funciones de transferencia . . . . . . . . . . . . . . . . . . . 182

MPC 2023-1 viii Análisis de Sistemas


A.1.7 Diagramas de Bode . . . . . . . . . . . . . . . . . . . . . . . 183
A.2 Guía de programación en GNU Octave . . . . . . . . . . . . . . . . . 185
A.2.1 Instalación . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
A.2.2 Similitudes con Matlab . . . . . . . . . . . . . . . . . . . . . 185
A.2.3 Manejo de figuras . . . . . . . . . . . . . . . . . . . . . . . . 187
A.2.4 Funciones de transferencia . . . . . . . . . . . . . . . . . . . 188
A.3 Guía de programación en SciLab . . . . . . . . . . . . . . . . . . . . 192
A.3.1 Preliminar . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
A.3.2 Integración numérica . . . . . . . . . . . . . . . . . . . . . . 192
A.3.3 Ecuaciones diferenciales . . . . . . . . . . . . . . . . . . . . 194
A.3.4 Funciones de transferencia . . . . . . . . . . . . . . . . . . . 196

B Métodos numéricos de resolución de EDOs 198


B.1 Aproximación por Taylor . . . . . . . . . . . . . . . . . . . . . . . . 198
B.2 Familia de métodos Runge-Kutta . . . . . . . . . . . . . . . . . . . . 198

MPC 2023-1 ix Análisis de Sistemas


1 Introducción
1.1 Conceptos del Cálculo

Ejemplo 1.1 (Paradoja de la dicotomía).

[Zenón de Elea (ca. 460 a.C.)] Si se recorre la mitad de la distancia


entre dos puntos, queda aún la mitad del camino. Si se recorre la
mitad de la distancia restante, queda nuevamente la mitad del camino.
Así, repitiendo este proceso, siempre queda una distancia restante y
por lo tanto nunca se logra llegar al punto de destino.
" #
∞ N
d d d 1 1
+ + + . . . = ∑ n d = d lim ∑ n
2 4 8 n=1 2
N→∞
n=1 2
1 1 − (1/2)N
 
= d lim
N→∞ 2 1 − 1/2

1 1 − limN→∞ (1/2)N
 
=d 1/2
2
1 1
=d 1 =d
2 /2
El cálculo diferencial fue, simultánea e independientemente, "inventado" por
Newton y "descubierto" por Leibniz cerca de la década de 1670 d.C. Es decir,
desde el planteamiento del problema por Zenón de Elea, hasta que fue posible dar
una solución formal y rigurosa a la paradoja, transcurrieron aproximadamente

1 6 7 0
+ 4 6 0
2 1 3 0

¡2130 años!

Ejemplo 1.2 (Suma de una progresión).


n n
(1 − r) ∑ a · rk−1 = ∑ a(1 − r) · rk−1
k=1 k=1
n
= a ∑ rk−1 − rk
k=1
= a (1 − r) + (r − r2 ) + (r2 − r3 ) . . . (rn−1 − rn )


= a (1 − rn )

MPC 2023-1 1 Análisis de Sistemas


Por lo tanto,
n
1 − rn
∑ a · rk−1 = a 1 − r
k=1

Si a = 1 y |r| < 1, tenemos que,


+∞ n
∑ rk−1 = lim n→+∞
∑ rk−1
k=1 k=1
1 − rn
= lim
n→+∞ 1 − r
1
=
1−r
¿Qué es convergencia?

Ejemplo 1.3 (Euler).


Z
L= e−a·t e−ȷ̂ωt dt
Z
= e−(a+ȷ̂ω)t dt
−1 −(a+ȷ̂ω)t
= e +c
a + ȷ̂ω

e−(a+ȷ̂ω)t = e−at e−ȷ̂ωt = e−at (cos(ωt) − ȷ̂ sin(ωt))


Z +∞
L|+∞
0 = e−a·t e−ȷ̂ωt dt
0
−1 −(a+ȷ̂ω)t +∞

= e
a + ȷ̂ω
0
−1
= (0 − 1) , a > 0
a + ȷ̂ω
1
=
a + ȷ̂ω

MPC 2023-1 2 Análisis de Sistemas


Ejemplo 1.4 (Función exponencial).

d at d ∞ 1 kk
e = ∑ k! a t
dt dt k=0

1 d
= ∑ k! ak dt t k
k=1

1
= ∑ (k − 1)!k a · ak−1 kt k−1
k=1

1
=a∑ ak−1t k−1
k=1 (k − 1)!

1 l l
=a∑ at
l=0 l!
= aeat
Z ∞
1
Z
eat dt = ∑ akt k dt
k=0 k!

1
Z
= ∑ k! ak t k dt
k=0
∞  
1 k 1 k+1
=∑ a · t + c0
k=0 k! 1+k

1 1 
=∑ ak+1 t k+1 + c1
k=0 (k + 1)! a

1 1  
= ∑ ak+1 t k+1 + c1
a k=0 (k + 1)!
1 ∞ 1 l l
= ∑ l! a t + c2
a l=1
1 ∞ 1 l l 1
= ∑ l! a t − a · 1 + c2
a l=0
1
= eat + c3
a

MPC 2023-1 3 Análisis de Sistemas


Ejemplo 1.5 (Integral). Interesa encontrar la siguiente integral:
Z
I= e−λt sin(ωt)dt

Considerando el siguiente cambio de variables

u = sin(ωt) =⇒ du = ω cos(ωt)dt
1
dv = e−λt dt =⇒ v = − e−λt
λ
se tiene:
1 1
Z
I = − e−λt sin(ωt) − − e−λt ω cos(ωt)dt
λ λ
1 −λt
Z
ω
= − e sin(ωt) + e−λt cos(ωt)dt
λ λ
Otro cambio de variables para resolver la integral:

u = cos(ωt) =⇒ du = −ω sin(ωt)dt
1
dv = e−λt dt =⇒ v = − e−λt
λ
Entonces,
 
1 −λt 1 −λt 1 −λt
Z
ω
I = − e sin(ωt) + − e cos(ωt) − − e · −ω sin(ωt)dt
λ λ λ λ
 
1 −λt
Z
ω −λt −λt
= − e sin(ωt) − 2 e cos(ωt) + ω e sin(ωt)dt
λ λ
1 −λt ω  
= − e sin(ωt) − 2 e−λt cos(ωt) + ωI
λ λ
1 ω ω2
= − e−λt sin(ωt) − 2 e−λt cos(ωt) − 2 I
λ λ λ
Despejando el valor de la integral,
 
1 1 −λt ω −λt
I=− 2 e sin(ωt) + e cos(ωt)
1 + ω2 λ λ2
λ

MPC 2023-1 4 Análisis de Sistemas


Ejemplo 1.6 (Integral definida).
Para la siguiente integral Z +∞
dx
I=
−∞ x2 + a2
conviene utilizar el siguiente cambio de variables:

x = a · tan(u)
 
dx d sin(u)
=⇒ =a
du du cos(u)
a
=
cos2 (u)

Del triángulo respectivo (ver diagrama) se desprende que

a a2
cos(u) = √ =⇒ x2 + a2 =
x2 + a2 cos2 (u)

p
x2 + a2
x

Con esto se tiene que,


a
Z
dx
Z
cos2 (u)
du
=
x + a2
2 a2
cos2 (u)
du
Z
=
a
1
= u+c
a
1
= arctan (x/a) + c
a

MPC 2023-1 5 Análisis de Sistemas


Así, evaluando en los límites de integración:
Z +∞
dx
I=
−∞ x2 + a2
+∞
1
= arctan ( /a) + c
x
a −∞
 
1
= lim arctan ( /a) − lim arctan ( /a)
x x
a x→+∞ x→−∞
 
1 π −π
= −
a 2 2
π
=
a
f (x) = tan(x)

−π/2 π/2 x

MPC 2023-1 6 Análisis de Sistemas


Definición 1.1 (Suma de Riemann).

Con N = (t f − t0 )/∆t :

• Definición 1.1.1 (Por izquierda).


Z tf N

t0
f (t)dt = lim
∆t→0
∑ f (t0 + k · ∆t)∆t
k=0

• Definición 1.1.2 (Por derecha).


Z tf N

t0
f (t)dt = lim
∆t→0
∑ f (t0 + (k + 1) · ∆t)∆t
k=0

• Definición 1.1.3 (Por trapecios).


Z tf N
1
t0
f (t)dt = lim
∆t→0
∑ 2 ( f (t0 + k · ∆t) + f (t0 + (k + 1) · ∆t)) ∆t
k=0

MPC 2023-1 7 Análisis de Sistemas


1.2 Conceptos de Programación
Los software de cómputo numérico son una herramienta fundamental para en análisis
y diseños de sistemas de ingeniería. En particular Matlab©, o su símil de código libre
GNU Octave, serán ampliamente utilizados en este documento. Ver anexo A para may-
ores detalles. El siguiente código introductorio es parte del material complementario
del curso.

Código 1.1: Intro a Matlab (intro_ML.m)


1 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2 %definir un escalar
3 T = 1;
4 %definir matrices
5 A = [−3 1;
6 −1 −3];
7 B = [2;
8 1];
9 I = eye(2,2); %matriz identidad
10 unos = ones(2,2); %matriz de unos
11 %funciones de una matriz cuadrada
12 [fil,col] = size(A);
13 lambda = eig(A); %valores propios
14 realLambda = real(lambda); %parte real de los valores ppios
15 imagLambda = imag(lambda); %parte imaginaria de los valores ...
ppios
16 absLambda = abs(lambda); %mOdulo de valores ppios
17 [V,D] = eig(A); %valores y vectores propios
18 deter = det(A); %determinante
19 [Vj,J] = jordan(A); %descomposiciOn de Jordan
20 eA = expm(A*T); %exponencial de A*T / no confundir ...
con exp(A*T)
21 norma = norm(A); %norma Euclideana de A

La función exponencial tradicional puede extenderse al espacio de las matrices


cuadradas a través de su serie de Taylor. Esto es,

1 1 1
eAt := I + At + A2t 2 + ... + Ak t k + ... = ∑ Ak t k
2! k! k=0 k!

en Matlab/Octave existen las funciones exp y expm que realizan operaciones similares
pero no idénticas sobre matrices. El Código 1.2 estudia ambos casos y los compara con
una aproximación de la función exponencial calculada a través de un ciclo for.

Código 1.2: Función exponencial (A1C2_expm.m)


1 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2 n = 2;
3 A = rand(n,n);
4
5 E1 = exp(A);
6
7 tic

MPC 2023-1 8 Análisis de Sistemas


8 E2 = expm(A);
9 toc
10 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
11 N = 10;
12 Eacum = 0*A;%zeros(size(A));
13 tic
14 for kk = 0:N,
15 Ekk = (A^kk)/factorial(kk);
16 Eacum = Eacum + Ekk;
17 end
18 toc
19 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
20 Error = E2 − Eacum;
21 nError = norm(Error);

Pero un código numérico también permite realizar otro tipo de operaciones. Por
ejemplo, el Código 1.3 aproxima el resultado de la integral
Z 10
2 1 − e−0,4t dt

I=
0

a través del método de los trapecios.

Código 1.3: Integración por Trapecios (A1C3_trapecios.m)


1 %%%%%%%%%%%%%%%%%%%%%%%%%
2 t0 = 0;
3 tf = 10;
4 T = 0.5;
5 t = t0:T:tf;
6 tt = t0:T/10:tf;
7 %%%%%%%%%%%%%%%%%%%%%%%%%
8 f = @(t) 2*(1−exp(−0.4*t));
9 %%%%%%%%%%%%%%%%%%%%%%%%%
10 fant = f(t(1));
11 Acum = 0;
12 for kk = 2:length(t),
13 fact = f(t(kk));
14 Acum = Acum + T*(fact+fant)/2;
15 fant = fact;
16 end
17 disp(Acum)
18 %%%%%%%%%%%%%%%%%%%%%%%%%
19 figure
20 hold
21 plot(tt,f(tt));
22 plot(t,f(t),'xr:');
23 stem(t,f(t),'.r:');
24 grid
25 box
26 %%%%%%%%%%%%%%%%%%%%%%%%%

MPC 2023-1 9 Análisis de Sistemas


1.3 Definiciones en sistemas
Problema 1 (Análisis de sistemas). ¿Por qué queremos analizar sistemas?

u: entradas y: salidas
Proceso

Definición 1.2 (Proceso). Un proceso es una realidad física (o virtual) que exhibe
un comportamiento temporal.

Definición 1.3 (Sistema). Un sistema es una abstracción de un proceso (o de una


interconexión de procesos) considerando objetivos de estudio.

Definición 1.4 (Señales). Una señal es una cantidad que varía en el tiempo y que
representa cierta información sobre el estado del sistema.
• Definición 1.4.1 (Entradas). Una variable de entrada es una señal externa al
sistema, que puede ser modificada arbitrariamente, pero que incide en el compor-
tamiento del sistema. u(t) ∈ R, u(t) ∈ R p ,u(k) ∈ R, u(k) ∈ R p .
• Definición 1.4.2 (Salidas). Una variable de salida es una señal que permite
evaluar u observar el comportamiento de un sistema en función de su objetivo.
y(t) ∈ R, y(t) ∈ Rq , y(k) ∈ R, y(k) ∈ Rq .

• Definición 1.4.3 (Perturbaciones). Una perturbación es una señal externa al


sistema, que NO puede ser modificada arbitrariamente, y que incide en el com-
portamiento del sistema. p(t) ∈ R, p(t) ∈ Rr , p(k) ∈ R, p(k) ∈ Rr .
• Definición 1.4.4 (Variables de estado). El conjunto de variables de estado
son todas aquellas señales que definen totalmente la condición de un sistema.
x(t) ∈ R, x(t) ∈ Rn , x(k) ∈ R, x(k) ∈ Rn .
• Definición 1.4.5 (Parámetros). Los parámetros son cantidades que fijan cier-
tas características de un sistema sin representar información sobre el estado del
proceso.

Definición 1.5 (Modelo). Un modelo es una representación funcional de un sis-


tema.

MPC 2023-1 10 Análisis de Sistemas


Ejemplo 1.7 (Máquina sincrónica).

https://electricalfundablog.com/synchronous- motor/

Definición 1.6 (Clasificación de modelos).

• Definición 1.6.1 (Lineal). Un modelo es lineal si cumple con los principios


de superposición y homogeneidad. i.e. Un modelo y = H(u), con entradas u1 y
u2 distintas, con respuestas respectivamente dadas por y1 = H(u1 ) e y2 = H(u2 ),
es lineal sii:
H(u1 + u2 ) = y1 + y2 (superposición)
H(α · u1 ) = α · y1 (homogeneidad)
con α ∈ R.
• Definición 1.6.2 (En tiempo continuo). Un modelo en tiempo continuo es
tal que las señales asociadas dependen de una variable t ∈ R continua que se
denomina "tiempo".

• Definición 1.6.3 (En tiempo discreto). Un modelo en tiempo discreto es tal


que las señales asociadas dependen de una variable k ∈ Z discreta que se denom-
ina "tiempo".
• Definición 1.6.4 (En estados continuos). Un modelo en estados continuos es
tal que las variables de estado pertenecen a un espacio continuo. E.g. x ∈ Rn ,
x ∈ [0, 20].
• Definición 1.6.5 (En estados discretos). Un modelo en estados discretos es
tal que las variables de estado pertenecen a un espacio discreto. E.g. x ∈ Zn ,
x ∈ [’ON’, ’OFF’].

MPC 2023-1 11 Análisis de Sistemas


• Definición 1.6.6 (Estático). Un modelo es estático, si el valor de cada señal
depende sólo del instante presente.

• Definición 1.6.7 (Dinámico). Un modelo es dinámico, si alguna cantidad de-


pende de instantes distintos al presente.
• Definición 1.6.8 (Causal). Un modelo es causal, si el valor presente de todas
las señales no depende de sus valores futuros.

• Definición 1.6.9 (Tiempo invariante). Un modelo es tiempo invariante si sus


pa-rámetros no dependen del tiempo.
• Definición 1.6.10 (Tiempo variante). Un modelo es tiempo variante si sus
pa-rámetros dependen del tiempo.

• Definición 1.6.11 (Parámetros concentrados). Un modelo es de parámetros


concentrados, si sus parámetros no dependen de la distribución espacial.
• Definición 1.6.12 (Parámetros distribuidos). Un modelo es de parámetros dis-
tribuidos, si sus parámetros dependen de la distribución espacial, habitualmente
en términos diferenciales.

1.4 Modelación de fenómenos físicos


1.4.1 Principios generales

Definición 1.7 (Modelos Fenomenológicos). Un modelo fenomenológico se ob-


tiene haciendo un análisis de las leyes fundamentales que rigen el comportamiento
de los componentes de un sistema.

Definición 1.8 (Ecuaciones de balance).

∆P(t) dP(t)
→ = Fe (t) − Fs (t) +Cg (t) −Cc (t)
∆t dt

Definición 1.9 (Principio de mínima acción).


Z t2
J= L (x(t)) dt
t1

L(·): Lagrangiano en sistemas mecánicos = dif entre energía cinética y poten-


cial.

MPC 2023-1 12 Análisis de Sistemas


Definición 1.10 (Modelos empíricos). Un modelo empírico se obtiene de obser-
var directamente el comportamiento de un sistema al excitarlo externamente.

Ejemplo 1.8 (Ziegler-Nichols).


df
τ + f = b · u(t)
dt

1.4.2 Sistemas mecánicos

Ejemplo 1.9 (Péndulo).


• Sumatoria de torques:

J θ̈ = Tg + Tr + T
ml 2 θ̈ = −mgl sin(θ ) − dl 2 θ̇ + T

MPC 2023-1 13 Análisis de Sistemas


1.4.3 Sistemas electromecánicos

Ejemplo 1.10 (Motor DC).


• Circuito de armadura:
d
va (t) = Ra ia + La ia + ea .
dt

• Conexión electromagnética:

ea = kφ ωm
Te = kφ ia

• Ecuaciones mecánicas:
J = JL + Jm
JαL = Te − TL − bωm
d
αL = ωm
dt

1.4.4 Sistemas hidráulicos

Ejemplo 1.11 (Estanque).

• Flujo hidrostático: s
∆p(t)
q(t) = kv .
ρ

• Diferencial de presión:
∆p(t) = ρgh(t)

• Balance de volumen:
dV (h) ∂V (h) dh
= = qin (t) − qout (t)
dt ∂ h dt

MPC 2023-1 14 Análisis de Sistemas


1.5 Ejercicios resueltos

Ejemplo 1.12 (Progresiones).

Una pelota se deja caer desde una altura de nueve metros. Si cada vez
rebota un tercio de la altura desde la cual ha caído, ¿cuánto rebota la
sexta vez? ¿Cuál es la distancia total recorrida al tocar el suelo por
octava vez?
Lo anterior describe una progresión geométrica con razón r = 1/3 y condición
inicial a0 = 9, donde:

a0 = 9
1
a1 = · 9 = 3
3
1
a2 = · 3 = 1
3
..
.
 n−1
1
an = a1 (r)n−1 = 3
3

La sexta vez que la pelota rebota (n = 6), tenemos que alcanza una altura de:
 5
1 1 1
a6 = 3 = 4 = [m]
3 3 81

La suma de los n ≥ 1 elementos de una progresión geométrica corresponden a


n n
rn − 1
Sn = ∑ ai = ∑ a1 (r)i−1 = a1
i=1 i=1 r−1

La octava vez que la pelota toca el suelo, corresponde al séptimo rebote. Y cada
vez que la pelota rebota, ésta sube y luego baja la misma distancia. Luego, la
distancia total recorrida corresponde a

dn |n=7=8−1 = a0 + 2 Sn |n=7=8−1
(1/3)7 − 1
= 9+2·3 1/3 − 1

(1/3)7 − 1
= 9+6
−2/3
≈ 17, 99588477[m]
≈ 18[m]

MPC 2023-1 15 Análisis de Sistemas


Notar que la distancia recorrida tras un número sumamente grande de rebotes
corresponde a:

d∞ = lim dn
n→+∞
 
1
= 9 − 9 lim −1
n→+∞ 3n
= 18[m]

f (x) = ex
x

1
f (x) = ln(x)

Ejemplo 1.13 (Logaritmo natural). Se requiere despejar x ∈ R desde

3x = 42x−1

Aplicando logaritmo se obtiene,

3x = 42x−1 ⇐⇒ ln(3x ) = ln(42x−1 )


⇐⇒ x ln(3) = (2x − 1) ln(4)
⇐⇒ x ln(3) = x ln(42 ) − ln(4)
− ln 4
⇐⇒ x =
ln 3 − ln 42
ln(1/4)
⇐⇒ x = ≈ 0, 82814...
ln(3/16)

Ejemplo 1.14 (Gradiente de temperatura). Considere la siguiente expresión que


describe la temperatura de un cuerpo como función del tiempo:

T (t) = (T0 − Ta )e−kt + Ta

donde t ≥ 0 en minutos, T0 = 200°C y Ta = 20°C. Se sabe que transcurridos r


minutos, la temperatura es de T (r) = 100°C. Diez minutos después, la temper-
atura deciende 25°C. Es decir, T (r + 10) = 75°C. Se requiere la constante k ∈ R
que caracteriza el gradiente, así como el tiempo transcurrido para que el cuerpo

MPC 2023-1 16 Análisis de Sistemas


se encuentre a 100°C.
Sol. Reemplazando los valores conocidos, se tiene que,

T (t) = 180e−kt + 20[°C]

Luego,
T (r) = 180e−kr + 20 = 100 =⇒ e−kr = 80/180 = 4/9
Además,
55
T (r + 10) = 180e−k(r+10) + 20 = 75 =⇒ e−kr e−10k =
180
4 −10k 55
=⇒ e =
9 180
=⇒ e−10k = 11/16
=⇒ −10k = ln (11/16)
−1
=⇒ k = ln (11/16) ≈ 0, 037469344...
10

Ejemplo 1.15 (Exponencial compleja). Interesa resolver x ∈ R en

ex − e−x = −2

Utilizando una variable auxiliar u = ex tenemos,


1
u− = −2
u
u2 + 2u − 1 = 0

Desde donde,

p
−2 ± 4 − 4 · (−1)
u= = −1 ± 2
2
Luego,

ex = −1 ± 2
 √ 
=⇒ x = ln −1 ± 2

Lo cual sólo tiene solución real en el caso de que el argumento de la función


logarítmica sea positivo, es decir:
 √ 
x = ln −1 + 2 ≈ −0, 8813 ∈ R
 √ 
x = ln −1 − 2 ∈ /R

MPC 2023-1 17 Análisis de Sistemas



Si aceptamos que x = σ + ȷ̂ω ∈ C, donde σ ∈ R, ω ∈ R, y ȷ̂ = −1, podemos
usar la relación de Euler para determinar el valor de la incógnita:

ex = eσ +ȷ̂ω = eσ eȷ̂ω = eσ (cos(ω) + ȷ̂ sin(ω)) = −1 ± 2

Igualando la parte real y la parte imaginaria, se obtiene el siguiente sistema de


ecuaciones:

eσ cos(ω) = −1 ± 2
eσ sin(ω) = 0

Desde la segunda expresión se desprende que ω = kπ, con k ∈ Z. En el caso de


que k sea par, tenemos que cos(ω) = 1 y en el caso impar, cos(ω) = −1. Como
σ ∈ R, conviene analizar los casos de la raíz positiva o negativa por separado y
asociados a la paridad de k.
Esto es, para k = 2n, con n ∈ Z, tenemos que

eσ · 1 = −1 + 2

El caso de la raíz negativa debe ser descartado pues con σ ∈ R, eσ > 0. Luego,

x = ln(−1 + 2) + ȷ̂ · 2nπ.

En el caso impar, k = (2n + 1), con n ∈ Z,



eσ · −1 = −1 − 2

Y el caso de la raíz positiva debe ser descartado por las mismas razones que
anteriormente. De aquí tenemos que,

x = ln(1 + 2) + ȷ̂ · (2n + 1)π.

Notar que
√ 
 
 1
− ln 1 + 2 = ln √
1+ 2
√ !
1 −1 + 2
= ln √ √
1 + 2 −1 + 2
√ !
−1 + 2
= ln
−1 + 2
 √ 
= ln −1 + 2

MPC 2023-1 18 Análisis de Sistemas


Con esto, los dos casos analizados anteriormente se pueden unificar en una única
expresión para obtener
 √ 
x = (−1)k ln −1 + 2 + ȷ̂ · kπ

con k ∈ Z.

f (x) = sin(x) f (x) = cos(x)


1 1

−π −π/2 π/2 x π −π −π/2 π/2 x π

−1 −1

Ejemplo 1.16 (Sistema de ecuaciones).


Encuentre x ∈ R e y ∈ R:

sin x − sin y = 1/2


x − y = π/3

Sol. Utilizando la identidad


   
a+b a−b
sin a + sin b ≡ 2 sin cos ,
2 2

podemos escribir:

sin x − sin y = sin(x) + sin(−y)


   
x−y x+y
= 2 sin cos
2 2
 
π  x+y
= 2 sin cos
6 2
 
1 x+y
= 2 cos
2 2
1
=
2
Desde aquí tenemos,
 
x+y 1 π
= arccos = ± + 2kπ, k ∈ Z
2 2 3

MPC 2023-1 19 Análisis de Sistemas


Luego, el sistema queda como:

x+y = ± 2π/3 + 4kπ

x − y = π/3

Sumando ambas ecuaciones obtenemos:


π π
2x = (±2 + 1) + 4kπ =⇒ x = (±2 + 1) + 2kπ
3 6
Finalmente, se despeja la otra variable para obtener:
π π
y = x− = (±2 − 1) + 2kπ
3 6

Ejemplo 1.17 (Ecuaciones complejas). Interesa determinar todos los valores


z ∈ C tales que, √
3 + ȷ̂
z8 − √ =0
3 − ȷ̂
Esto es un polinomio de grado ocho, y por lo tanto debe tener ocho raíces. Desar-
rollando los términos podemos escribir

8 3 + ȷ̂
z =√
3 − ȷ̂
√ √
3 + ȷ̂ 3 + ȷ̂
=√ √
3 − ȷ̂ 3 + ȷ̂
√ 2 √
3 + 2ȷ̂ 3 + ȷ̂2
= √ 2
3 − ȷ̂2

3 + 2ȷ̂ 3 − 1
=
3+1
1 √ 
= 1 + ȷ̂ 3
2
1
= reȷ̂θ
2

Para determinar la forma polar del número reȷ̂θ = 1 + ȷ̂ 3, conviene referirse al
triángulo más abajo.

MPC 2023-1 20 Análisis de Sistemas


ȷ̂R 2z8 = reȷ̂θ

3

√ 2
q
r r= 3 + 12 = 2
√ √
tan(θ ) = 3/1 = 3

1 R

Luego, tenemos que


1 √ π
z8 = 2eȷ̂·arctan( 3) = eȷ̂·( 3 +2kπ)
2
con k ∈ Z. Desde aquí, se puede obtener,

z = (z8 )1/8
 π 1/8
= eȷ̂·( 3 +2kπ)
ȷ̂ · ( π3 + 2kπ)/8
=e
π π
= eȷ̂·( 24

+k 4 )
π π π
= cos +k + ȷ̂ sin +k
24 4 24 4
Como k ∈ Z, y las funciones trigonométricas son perpiodicas, basta con elegir
ocho valores consecutivos de k para obtener todas las raíces del polinomio. Esto
es, π π π π
z = cos +k + ȷ̂ sin +k , k ∈ {0, 1, 2, 3, 4, 5, 6, 7} .
24 4 24 4

Ejemplo 1.18 (Corriente alterna). Considere el siguiente circuito eléctrico:

I(t)

I1 (t) I2 (t)

MPC 2023-1 21 Análisis de Sistemas


Donde,

I(t) = I1 (t) + I2 (t)



I1 (t) = 3 sin(α(t))
I2 (t) = − cos(α(t))

con α(t) = 2π ·60·t. Usando la relación de Euler, podemos expresar las corrientes
como una sumatoria de exponenciales complejas:
√ n o √  −1   
I1 (t) = 3 · imag eȷ̂α(t) = 3 ȷ̂ eȷ̂α(t) − e−ȷ̂α(t)
2
 
n o 1 
I2 (t) = −real eȷ̂α(t) = − eȷ̂α(t) + e−ȷ̂α(t)
2

Con esto, la suma de ambas corrientes corresponde a

I(t) = I1 (t) + I2 (t)


√ −1  ȷ̂α(t)
   
 1 
= 3 ȷ̂ e − e−ȷ̂α(t) + − eȷ̂α(t) + e−ȷ̂α(t)
2 2
1 √ ȷ̂α 1 √ −ȷ̂α
= − (1 + ȷ̂ 3)e − (1 − ȷ̂ 3)e
2 2
1 √ ȷ̂α 1 √
= − (1 + ȷ̂ 3)e + (−1 + ȷ̂ 3)e−ȷ̂α
2 2
Donde se abandonó la dependencia temporal explícita en α(t) por simplicidad.
Notar que, ver diagrama más abajo,
1 √ 1 √
(1 + ȷ̂ 3) = eȷ̂π/3 y (−1 + ȷ̂ 3) = eȷ̂2π/3
2 2

ȷ̂R 3
√ √
−1 + ȷ̂ 3 1 + ȷ̂ 3

2 2
π/3

π/3 π/3

−1 1 R

MPC 2023-1 22 Análisis de Sistemas


Luego,

I(t) = −eȷ̂π/3 eȷ̂α − eȷ̂π eȷ̂2π/3 e−ȷ̂α


 
= − eȷ̂(π/3+α) + eȷ̂(π+2π/3−α)
 
= − eȷ̂(π/3+α) + eȷ̂(π+2π/3−α−2π)
 
= − eȷ̂(π/3+α) + e−ȷ̂(π/3+α)
= − (cos(π/3 + α) + ȷ̂ sin(π/3 + α) + cos(−π/3 − α) + ȷ̂ sin(−π/3 − α))
= −2 cos(π/3 + α)
= 2 cos(π/3 + α + π)
= 2 sin(π/3 + α + π + π/2)
= 2 sin(α + 11π/6)
= 2 sin(α − π/6)

El máximo de esta corriente se da cuando


I = 2 = 2 sin(α − π/6) ⇐⇒ 1 = sin(2π f t − π/6)
π π
⇐⇒ + 2kπ = 2π f t −
2 6

⇐⇒ 2π f t = + 2kπ
 3 
1 1
⇐⇒ t = + k , k ∈ Z.
f 3

Ejemplo 1.19 (Determinantes). Considere la matriz


 
1 1 0
A = 2 4 0 .
3 −1 −2

Su determinante se puede calcular



1 1 0 1 1

det {A} = |A| = 2 4 0 2 4
3 −1 −2 3 −1
(1 · 4 · −2) + (1 · 0 · 3) + (0 · 2 · −1) − (3 · 4 · 0) − (−1 · 0 · 1) − (−2 · 2 · 1)
− 8 + 4 = −4

Como |A| ̸= 0, la matriz es invertible. Además,


• |A−1 | = |A|−1 = −1/4.

MPC 2023-1 23 Análisis de Sistemas


• |A5 | = |A|5 = (−4)5 = −1024, pues |AB| = |A||B|.

• | − A| = |A|(−1)3 = −4 · −1 = 4, pues |cA| = cn |A|.


• |2A−1 | = |2I · A−1 | = |2I||A−1 | = 23 · − 1/4 = −2.

Ejemplo 1.20 (Matriz de rotación). Considere la matriz


 
cos θ − sin θ
A(θ ) =
sin θ cos θ

Ésta corresponde a una matriz de rotación. Por ejemplo, si el vector x = [1, 0]′ se
pre-multiplica por A(θ ), se obtiene un vector rotado en un ángulo θ con respecto
a la horizontal. Ver diagrama más abajo.

x1

A(θ )x
sin θ

cos θ x x2

La transformación A(θ ) es ortogonal, esto es A−1 (θ ) = A′ (θ ). En efecto, la


transformación transpuesta corresponde a
 
′ cos θ sin θ
A (θ ) =
− sin θ cos θ

y el producto entre la transforación y esta transpuesta corresponde a la identidad:


  
cos θ sin θ cos θ − sin θ
A′ (θ )A(θ ) =
− sin θ cos θ sin θ cos θ
2
 2 
cos θ + sin θ 0
=
0 cos2 θ + sin2 θ
= I.

MPC 2023-1 24 Análisis de Sistemas


Notar que el determinante de la matriz es

cos θ − sin θ
|A(θ )| = det{A(θ )} = = cos2 θ − − sin2 θ = 1.
sin θ cos θ

Considere que se aplica una rotación con un ángulo θ en n oportunidades. Esto


debe coincidir con aplicar una única rotación con un ángulo n · θ . Es decir,
(A(θ ))n = A(θ · n).
Para demostrar lo anterior podemos recordar que,
1  ȷ̂θ 
sin θ = e − e−ȷ̂θ
2ȷ̂
1  ȷ̂θ 
cos θ = e + e−ȷ̂θ
2
De tal forma que la transformación de rotación puede descomponerse como
" #
1 −ȷ̂θ 1 −ȷ̂θ
ȷ̂θ
 ȷ̂θ
e + e − e − e
A(θ ) = 21 ȷ̂θ −ȷ̂θ
 1
2ȷ̂
ȷ̂θ −ȷ̂θ

2ȷ̂ e − e 2 e +e
   
1 1 ȷ̂ ȷ̂θ 1 1 −ȷ̂ −ȷ̂θ
= e + e
2 −ȷ̂ 1 2 ȷ̂ 1
= Jeȷ̂θ + J̄e−ȷ̂θ

Notar que la matriz J y su conjugada J̄, definidas implícitamente, cumplen con,


   
1 1 ȷ̂ 1 1 −ȷ̂
JJ̄ = · =0
2 −ȷ̂ 1 2 ȷ̂ 1
J̄J = 0
JJ = J
J̄J̄ = J̄

MPC 2023-1 25 Análisis de Sistemas


n
Por lo tanto Jn = J y J̄ = J̄. Con esto, tenemos que
 n
An (θ ) = Jeȷ̂θ + J̄e−ȷ̂θ
n
n!
= ∑ k!(n − k)! (J)n−k (J̄)k (eȷ̂θ )n−k (e−ȷ̂θ )k
k=0
n
=J e n ȷ̂nθ
+ 0 + · · · + 0 + J̄ e−ȷ̂nθ
= Jeȷ̂nθ + J̄e−ȷ̂nθ
" #
1 ȷ̂nθ
+ e−ȷ̂nθ − 21ȷ̂ eȷ̂nθ − e−ȷ̂nθ

2 e
= 1 ȷ̂nθ
− e−ȷ̂nθ 1 ȷ̂nθ
+ e−ȷ̂nθ
 
2ȷ̂ e 2 e
 
cos(nθ ) sin(nθ )
=
− sin(nθ ) cos(nθ )
= A(nθ ).

Donde se utilizó el teorema del binomio de Newton generalizado a matrices:


n
n!
(A + B)n = ∑ k!(n − k)! An−k Bk
k=0

con A, B ∈ Cn×n y AB = BA.

Ejemplo 1.21 (Inducción matemática). El enunciado del ejemplo anterior puede


demostrarse por inducción matemática. Esto es, se verifica que n = 1 cumple con
el enunciado:
A1 (θ ) = A(θ ) = A(1 · θ )
Además, si se acepta que An (θ ) = A(nθ ), entonces se tiene:

An+1 (θ ) = An (θ )A(θ )
= A(nθ )A(θ )
   
= Jeȷ̂nθ + J̄e−ȷ̂nθ · Jeȷ̂θ + J̄e−ȷ̂θ
= Jeȷ̂nθ · Jeȷ̂θ + Jeȷ̂nθ · J̄e−ȷ̂θ + J̄e−ȷ̂nθ · Jeȷ̂θ + J̄e−ȷ̂nθ · J̄e−ȷ̂θ
= Jeȷ̂(n+1)θ + 0 + 0 + J̄e−ȷ̂(n+1)θ
= A((n + 1)θ )

Luego, n ∈ S = N.

MPC 2023-1 26 Análisis de Sistemas


Ejemplo 1.22 (Valores y vectores propios). Considere la matriz
 
1 0 2
A =  0 1 3
−2 2 0

Su polinomio característico viene dado po

p(λ ) = |λ I − A|

λ − 1 0 −2

= 0 λ −1 −3
2 −2 λ
= (λ − 1)2 λ + 0 + 0 − −4(λ − 1) − 6(λ − 1) − 0
= (λ − 1)(λ 2 − λ − 2)
= (λ − 1)(λ + 1)(λ − 2)

Las raíces de este polinomio corresponden a los valores propios de A. Es decir,


eig {A} = {λ ∈ C|p(λ ) = 0} = {−1, 1, 2}.
Los vectores (v) y valores (λ ) propios de una matriz (A) cumplen con Av =
λ v, en este caso con los valores propios calculados anteriormente tenemos:
    
1 0 2 a a
 0 1 3 b = λ b
−2 2 0 c c

Tras multiplicar, se llega al siguiente sistema de ecuaciones:

(1 − λ )a + 2c = 0
(1 − λ )b + 3c = 0
−2a + 2b − λ c = 0

Evaluando el sistema anterior en los valores propios calculados, se desprende que


una base para el espacio de los vectores propios está dada por las columnas de la
matriz  
1 1 1
V =  3/2 1 3/2
−1 0 1/2
Donde la primera columna se asocia al valor propio λ = −1, la segunda a λ = 1,
y la tercera a λ = 2.
Con esto, desde la definición de valores y vectores propios, se puede escribir
AV = VD, con D = diag {−1, 1, 2}. Como V es invertible, entonces A = VDV−1
es diagonalizable.

MPC 2023-1 27 Análisis de Sistemas


1.6 Ejercicios propuestos
1.6.1 Integración
E 1.1:
√ Exponencial. Desarrolle las siguientes integrales, donde λ > 0, ω > 0, y
ȷ̂ = −1.
• I(t) = e−λt dt
R

• I(t) = e−ȷ̂ωt dt
R

• I(t) = e−λt e−ȷ̂ωt dt


R

• I(t) = e−λt cos (ωt) dt


R

• I(t) = e−λt sin (ωt) dt


R

Recuerde que eȷ̂θ = cos(θ ) + ȷ̂ sin(θ ).


E 1.2: Suma de Riemann. Considere la función
 
f (t) = 5 1 − e− /2
t

Desarrolle todo lo siguiente:


• Encuentre el valor de la integral:
Z 10
I= f (t)dt
0

• Evalúe f (t) cada T = 0, 5 unidades de tiempo desde t = 0 y hasta t = 10, y


registre sus valores en una tabla. Es decir, evalúe f (0, 0), f (0, 5), f (1, 0), f (1, 5)
... f (kT ),... f (9, 5), f (10, 0). Para cada instante t = kT , registre además el
producto f (kT ) · T .

k t = kT f (kT ) f (kT ) · T
0 0, 0 f (0, 0) f (0, 0) · 0, 5
1 0, 5 f (0, 5) f (0, 5) · 0, 5
2 1, 0 f (1, 0) f (1, 0) · 0, 5
.. .. .. ..
. . . .

• En un mismo gráfico, muestre f (t) con una línea curva y muestre f (kT ) con
barras de ancho T , con t = kT en el eje horizontal.
• En base a lo calculado en el apartado anterior, desarrolle la sumatoria
10/T
IT = ∑ f (kT ) · T
k=0

¿Qué observa?
• Repita todo lo anterior considerando intervalos T = 0, 1, T = 0, 01, T = 0, 001,
etc.

MPC 2023-1 28 Análisis de Sistemas


1.6.2 Matlab/Octave
E 1.3: Hola mundo.

• Lea el anexo A.1 sobre Matlab al final de este documento.


• Lea el anexo A.2 sobre Octave al final de este documento.
• Instale el programa que le sea más accesible.
• Ejecute el archivo asociado al apunte de la asignatura.

E 1.4: Funciones. Construya un programa que evalúe y grafique las siguientes


funciones.
2 sin2 (2t) , t ≤ 0

f (t) =
1 − e−t , t > 0

 t − 1, t ≤ −2
f (t) = 1 − t 2 , −2 < t < 0
1
− t+1 , t ≥0

 2
t |sin (1/t )| , 0 < |t| < 1
f (t) =
0, t = 0

E 1.5: Matrices. Construya una función que genere una matriz de la forma

2 −3
 
0 0
 .. .. 
4
 2 −3 . . 0
 .. .. 
A=
0 4 2 . . 0  ∈ Rn×n

 . .. . .. . .. . ..


 0
0 0 0 4 2 −3
0 0 0 0 4 2

a partir de un argumento n ∈ N. Evalúe para n = 10 y genere el vector


 
1
1
b =  .  ∈ R10
 
 .. 
1

y resuelva el sistema Ax = b mediante los comandos x=A\b y x=inv(A)*b. Verifique


que el vector x obtenido resuelve el sistema de ecuaciones evaluando A*x - b. ¿Qué
observa?

MPC 2023-1 29 Análisis de Sistemas


Repita lo anterior para matrices
 
n 0 ··· 0 1
 .. .... 
0 n . . .
∈ Rn×n
 
A=  ... . . . ..
.
.. 
0 .
 
0 · · · 0 n 1
1 ··· ··· 1 n
 
n+1 1 ··· 1 1
 .. .. .. 
 1 n+1 . . . 
∈ Rn×n
 
A= .
 .. .. .. .. 
 . . 1 . 

 1 ··· 1 n+1 1 
1 ··· ··· 1 n+1

1.6.3 Sistemas
E 1.6: Bío-Bío. Para las realidades físicas de las figuras más abajo,

1. detalle distintos objetivos de estudio.


2. identifique todas las cantidades de interés.
3. clasifique las cantidades anteriores en términos de entradas, salidas, variables de
estados, etc.

4. clasifique los modelos de los sistemas anteriores de acuerdo a lineal/no lineal,


tiempo continuo/discreto, etc.

Procesador:https:
Biotrén: http://www.fesur.cl/biotren/ //www.spdigital.cl/products/view/54527

MPC 2023-1 30 Análisis de Sistemas


CAP:https:
ENAP:https://es.wikipedia.org/wiki/Co ARAUCO:https: //es.wikipedia.org/wik
lumna_de_fraccionamiento //en.wikipedia.org/wiki/Boiler i/Alto_horno

E 1.7: Eléctricos. Determine, describa, y clasifique los modelos matemáticos de las


siguientes realidades físicas:

1. un motor DC. 7. un motor jaula de ardilla.


2. un generador sincrónico. 8. un motor sincrónico.

3. un transformador delta-estrella. 9. una turbina eólica.


4. un convertidor boost. 10. una turbina hidráulica.
5. un convertidor buck. 11. una turbina a vapor.
6. un inversor fuente de voltaje. 12. un panel solar.

MPC 2023-1 31 Análisis de Sistemas


2 Modelos en el espacio de estados
2.1 Sistemas en tiempo continuo
2.1.1 Ecuaciones diferenciales

Ejemplo 2.1 (Ecuación de primer orden). Sea x : R+


0 7→ R, con x(0) = x0 tal que

ẋ = ax + b.
−1
Solución candidata: x(t) = Ae−t/τ + B. Entonces ẋ = τ Ae
−t/τ .

Reemplazando:
−1 −t/τ
Ae = aAe−t/τ + aB + b
τ
De donde se deduce que:
−1 −t/τ
Ae = aAe−t/τ
τ
0 = aB + b
Luego,
B = −b/a
y
τ = −1/a
Usando la condición inicial,

x(0) = A − b/a = x0 =⇒ A = x0 + b/a

Por lo tanto,
b at
x(t) = (x0 + b/a)eat − b/a = eat x0 +

e −1
a

MPC 2023-1 32 Análisis de Sistemas


Ejemplo 2.2 (Ecuación de segundo orden). Encuentre la solución de la siguiente
ecuación diferencial.
ÿ + 2y = 2e−t
R: Se puede resolver el ejercicio de varias maneras, aquí consideramos la solución
candidata:
∗ −t
y(t) = Aeλt + Beλ t + Ce
|{z}
| {z }
Respuesta homogénea Respuesta forzada

Donde λ ∗ ∈ C corresponde al conjugado de λ ∈ C. Derivando dos veces se tiene,



ẏ(t) = Aλ eλt + Bλ eλ t −Ce−t

ÿ(t) = Aλ 2 eλt + B(λ ∗ )2 eλ t +Ce−t

Reemplaando en la igualdad original, tenemos que



(λ 2 + 2)Aeλt + ((λ ∗ )2 + 2)Beλ t + (3C − 2)e−t = 0

Como lo anterior debe cumplirse para cualquier instante, tenemos que

(λ 2 + 2)A = 0
((λ ∗ )2 + 2)B = 0
(3C − 2) = 0

Lo cual se cumple si

λ = ȷ̂ 2

λ ∗ = −ȷ̂ 2
C = 2/3

Con ello,
√ √ 2
y(t) = Aeȷ̂ 2t
+ Be−ȷ̂ + e−t
2t
3
Notar que la exponencial compleja puede expresarse equivalentemente en base a
funciones trigonométricas.
Los valores de las constantes A ∈ C y B ∈ C se pueden obtener desde la condi-
ción inicial del sistema. Por ejemplo, si y(0) = ẏ(0) = 0, tenemos que

2
y(0) = A + B + =0
3
√ √ 2
ẏ(0) = Aȷ̂ 2 − Bȷ̂ 2 − = 0
3

MPC 2023-1 33 Análisis de Sistemas


Desde donde

1 2
A = − (1 + ȷ̂ )
3 2 √
1 2
B = A∗ = − (1 − ȷ̂ )
3 2
Con ello queda,
√  √ ∗ 2
y(t) = Aeȷ̂ + Aeȷ̂ 2t + e−t
2t
3
n √ o 2
ȷ̂ 2t −t
= 2real Ae + e
√3
2 √ 2 √ 2
= − cos( 2t) + sin( 2t) + e−t
3 3 3

Ejemplo 2.3 (EDO).


ÿ + y = tet + 2e−t + 0
Solución candidata:

y = (At + B)et +Ce−t + Deat + Ee−at


| {z } | {z }
Respueta forzada Respuesta homogénea

con A ∈ R, B ∈ R, C ∈ R, a ∈ C, D ∈ C, y E ∈ C. Las respectivas derivadas


corresponden a:

ẏ = Aet + Atet + Bet −Ce−t + aDeat − aEe−at


ÿ = 2Aet + Atet + Bet +Ce−t + a2 Deat + a2 Ee−at

Luego tenemos que,

ÿ + y = 2Atet + 2(B + A)et + 2Ce−t + (1 + a2 )Deat + (1 + a2 )Ee−at

Igualando término a término esta expresión con la del problema original, se de-
duce el siguiente sistema de ecuaciones:

2A = 1
2(A + B) = 0
2C = 2
D(1 + a2 ) = 0
E(1 + a2 ) = 0

MPC 2023-1 34 Análisis de Sistemas


Desde
√ donde se deduce que, A = 1/2, B = −1/2, C = 1 y 1 + a2 = 0 =⇒ a = ȷ̂ =
−1.
Con esto ya sabemos que:
1
y(t) = (t − 1)et + e−t + Deȷ̂t + Ee−ȷ̂t
2
1
ẏ(t) = tet − e−t + ȷ̂Deȷ̂t − ȷ̂Ee−ȷ̂t
2
Para determinar las constantes faltantes, asumiremos condiciones iniciales nulas
1
y(0) = (0 − 1)e0 + e−0 + Deȷ̂0 + Ee−ȷ̂0
2
1
= +D+E
2
!
=0
1
ẏ(0) = 0e0 − e−0 + ȷ̂Deȷ̂0 − ȷ̂Ee−ȷ̂0
2
= −1 + ȷ̂D − ȷ̂E
!
=0

Desde donde se puede obtener que


1 1
D = − − ȷ̂
4 2
1 1
E = − + ȷ̂
4 2
Podemos desarrollar los términos complejos en la expresión de y(t):
     
1 1 ȷ̂t 1 1 1 1
− − ȷ̂ e = − cos(t) + sin(t) + ȷ̂ − sin(t) − cos(t)
4 2 4 2 4 2
     
1 1 −ȷ̂t 1 1 1 1
− + ȷ̂ e = − cos(t) + sin(t) + ȷ̂ sin(t) + cos(t)
4 2 4 2 4 2

Finalmente,
   
1 1 1 1 1
y(t) = (t − 1)et + e−t + − − ȷ̂ eȷ̂t + − + ȷ̂ e−ȷ̂t
2 4 2 4 2
1 1
= (t − 1)et + e−t − cos(t) + sin(t)
2 2

MPC 2023-1 35 Análisis de Sistemas


2.1.2 Ecuaciones de estado continuas

Ejemplo 2.4 (Circuito LCR).

L
i(t) v(t)

e(t) + C R

Desde el circuito se obtienen las siguientes ecuaciones de mallas y nodos:

di
e(t) − L = v(t)
dt
i(t) = ic (t) + iR (t)
v(t) = RiR (t)
dv
ic (t) = C
dt
Si despejamos las derivadas y reemplazamos algebraicamente se obtiene:

di −1 1
= v(t) + e(t)
dt L L
dv 1 1
= i(t) − v(t)
dt C RC
Calculando la segunda derivada del voltaje y reemplazando la derivada de la
corriente, podemos obtener una única ecuación diferencial:

d2v 1 di 1 dv
2
= −
dt Cdt RC dt 
1 −1 1 1 dv
= v(t) + e(t) − (t)
C L L RC dt
1 dv 1 1
=− − v(t) + e(t)
RC dt LC CL
Por otro lado, también podemos elegir las cantidades que aparecen derivadas
como estados (x1 (t) = i(t), x2 (t) = v(t)) y la tensión de la fuente como la entrada

MPC 2023-1 36 Análisis de Sistemas


(u(t) = e(t)), para escribir:

ẋ1 (t) = − L1 x2 (t) + L1 u(t)


ẋ2 (t) = C1 x1 (t) − RC1
x2 (t)

O matricialmente,
   
0 −1/L 1/L
ẋ(t) = 1 x(t) + u(t)
/C −1/RC 0

con x(t) = [x1 (t), x2 (t)]′ .

Definición 2.1 (Ecuación diferencial lineal). con m ∈ N, n ∈ N, y m < n:

dny d n−1 y dy dmu d m−1 u du


+ an−1 + · · · + a 1 + a0 y = bm + bm−1 + · · · + b1 + b0 u
dt n dt n−1 dt dt m dt m−1 dt

Definición 2.2 (Forma canónica observable (SISO)). Con x ∈ Rn ,


 
−an−1 1 0 · · · 0  
−an−2 0 1 bn−1
 0 
 bn−2 
ẋ =  ... .. .. x +  ..  u
   
 . . 
  . 
 −a1 0 0 1
b0
−a0 0 0 ··· 0
 
y = 1 0 0 ··· 0 x

MPC 2023-1 37 Análisis de Sistemas


Ejemplo 2.5 (Forma canónica).
Considere la siguiente ecuación diferencial:

ÿ(t) + a1 · ẏ(t) + a0 · y(t) = b1 · u̇(t) + b0 · u(t)

Según la definición, su forma canónica observable queda como:


      
ẋ1 (t) −a1 1 x1 (t) b
= + 1 u(t)
ẋ2 (t) −a0 0 x2 (t) b2
 
  x1 (t)
y(t) = 1 0
x2 (t)

Revisemos:
 
  x1 (t)
ẋ1 (t) = −a1 1 + b1 · u(t)
x2 (t)
=⇒ ẋ1 (t) = −a1 · x1 (t) + x2 (t) + b1 · u(t)
=⇒ ẍ1 (t) = −a1 · ẋ1 (t) + ẋ2 (t) + b1 · u̇(t)

Para el segundo estado:


 
  x1 (t)
ẋ2 (t) = −a0 0 + b0 · u(t)
x2 (t)
=⇒ ẋ2 (t) = −a0 · x1 (t) + b0 · u(t)

Reemplazando en lo obtenido para el primer estado se tiene:

ẍ1 (t) = −a1 · ẋ1 (t) − a0 · x1 (t) + b0 · u(t) + b1 · u̇(t)

Como y(t) = x1 (t), entonces se obtiene la ecuación diferencial original.

Definición 2.3 (Forma canónica controlable (SISO)).


   
−an−1 −an−2 · · · −a1 −a0 1
 1
 0 · · · 0 0 

0
 
ẋ =  0 1 0 0   x + 0 u
  
 .. .. .
.. 
  .. 
 . . .
0 1 0 0
 
y = bn−1 bn−2 · · · b0 x

MPC 2023-1 38 Análisis de Sistemas


Definición 2.4 (Modelo Lineal de Estados continuos (MIMO)).

ẋ = Ax + Bu + Ep
y = Cx + Du + Fp,

donde x ∈ Rn , u ∈ R p , y ∈ Rq , p ∈ Rr .

p(t)

E F

u(t) ẋ(t) R x(t) y(t)


B + C +

Definición 2.5 (Transformación de similitud). T ∈ Rn×n invertible (no singular)


(de rango completo) (de rango n).

Si se define:
x̄ := Tx ⇐⇒ x = T−1 x̄
Entonces,

x̄˙ = Tẋ
= TAx + TBu + TEp
= TAT−1 x̄ + TBu + TEp

y = CT−1 x̄ + Du + Ep

MPC 2023-1 39 Análisis de Sistemas


Ejemplo 2.6 (Normalización). Considere un sistema simple dado por

ẋ(t) = a · x(t) + b · u(t)


y(t) = c · x(t)

con punto de operación nominal (X,U,Y ).


Esto es, en el punto de operación nominal se tiene que

0 = ẋ(t) = a · X + b ·U
y(t) = Y = c · X

Desde donde se obtiene que −a = b ·U/X .


Las variables se pueden normalizar con respecto al punto nominal de tal forma
que se definan nuevas variables:

x̄(t) = x(t)/X
ū(t) = u(t)/U
ȳ(t) = y(t)/Y

Luego, la ecuación diferencial que caracteriza al sistema se puede expresar


como:
ẋ(t)
x̄˙(t) =
X
x(t) 1
=a + b u(t)
X X
x(t) 1 1
=a + b U u(t)
X X U
1
= a · x̄(t) + b U ū(t)
X
= a · x̄(t) − a · ū(t)

La salida normalizada queda como:

y(t) c · x(t) c · X
ȳ(t) = = = x̄(t) = x̄(t)
Y Y Y
Ejercicio: ¿Cómo se normalizaría el sistema si el vector de estados tiene una
dimensión superior a uno?

MPC 2023-1 40 Análisis de Sistemas


2.1.3 Solución de ecuaciones de estado continuas
Considere el caso general de una ecuación diferencial expresada en el espacio de esta-
dos:
ẋ = Ax + Bu
Primero, es necesario recordar la función exponencial matricial:

1 1 1
eAt := I + At + A2t 2 + ... + Ak t k + ... = ∑ Ak t k
2! k! k=0 k!
Se puede probar (hágalo) que:
d At
e = AeAt = eAt A
dt
Pre-multiplicando la ecuación diferencial por e−At se obtiene:
e−At ẋ − e−At Ax = e−At Bu
Lo cual implica:
d n −At o
e x = e−At Bu
dt
Integrando: Z t
τ=t
e−Aτ x(τ) = e−Aτ Bu(τ)dτ

τ=t0 t0
Luego: Z t
e−At x(t) − e−A·t0 x(t0 ) = e−Aτ Bu(τ)dτ
t0
 −1
Como eAt = e−At ,

Z t
x(t) = eA(t−t0 ) x(t0 ) + eAt e−Aτ Bu(τ)dτ
t0
Z t
= eA(t−t0 ) x(t0 ) + eA(t−τ) Bu(τ)dτ
t0

Verifiquemos (con t0 = 0):


 Z t 
d At At −Aτ
ẋ(t) = e x(0) + e e Bu(τ)dτ
dt 0
 Z t 
d  At  d
A t −Aτ
= e x(0) + e e Bu(τ)dτ
dt dt 0
 Z t 
At
= Ae x(0) + Ae A t
e −Aτ A
Bu(τ)dτ + e e t −At
Bu(t)
0
 Z t 
= A eAt x(0) + eAt e−Aτ Bu(τ)dτ + Bu(t)
0
= Ax(t) + Bu(t).

MPC 2023-1 41 Análisis de Sistemas


Definición 2.6 (Matriz de transición de estados continua).

Φ (t) = eAt

2.1.4 Solución numérica de ecuaciones de estado continuas


Para aproximar numéricamente la solución de un sistema de ecuaciones diferenciales,
existen varias alternativas (Ver Anexo B). La mayoría de ellas se encuentra programada
de manera nativa a los lenguajes de programación habituales.

Ejemplo 2.7 (Circuito LCR). Retomemos el circuito LCR del Ejemplo 2.4. In-
teresa aproximar numéricamente la solución de la ecuación diferencial asociada.
Esto se puede hacer a través del comando Matlab/Octave ode45 que desarrolla
algorítmicamente el método de Runge-Kutta clásico (RK45). El Código 2.1 de-
fine las matrices A y B asociadas al modelo del circuito y la ecuación diferencial
respectiva. Después de definir un intervalo temporal en el cual se desea aprox-
imar la solución de la ecuación, el código obtiene la respuesta homogénea (CI
arbitraria, entrada nula) y la respuesta forzada (CI nula, entrada arbitraria) que se
grafican más adelante.

Código 2.1: Circuito LCR (A2C1_ode45.m)


1 %%%%%%%%%%%%%%%%%%%%%%%%%
2 %Definiciones del circuito LCR
3 R = 100;
4 L = 250e−03;
5 C = 0.5e−04;
6 %%%%%%%%%%%%%%%%%%%%%%%%%
7 %RepresentaciOn es espacio de estados dx = Ax+Bu
8 A = [0, −1/L;
9 1/C, −1/(R*C)];
10 B = [1/L; 0];
11 %%%%%%%%%%%%%%%%%%%%%%%%%
12 dxdt = @(t,x,u) A*x + B*u; %eq. diferencial
13 %%%%%%%%%%%%%%%%%%%%%%%%%
14 t0 = 0;
15 tf = 0.1;
16 Tsim = 0.0001;
17 tspan = t0:Tsim:tf;
18 %%%%%%%%%%%%%%%%%%%%%%%%%
19 %Respuesta homogEnea:
20 u = @(t) 0*t; %entrada nula
21
22 v0 = 10;
23 i0 = v0/R;
24 x0 = [i0;v0]; %CI arbitraria
25
26 [tt,xx] = ode45(@(t,x) dxdt(t,x,u(t)),tspan,x0);
27 %%%%%%%%%%%%%%%%%%%%%%%%%

MPC 2023-1 42 Análisis de Sistemas


28 figure
29 subplot(3,1,1)
30 plot(tt,u(tt))
31 grid
32 box ON
33 ylabel('e');
34 subplot(3,1,2)
35 plot(tt,xx(:,1));
36 grid
37 box ON
38 ylabel('i');
39 subplot(3,1,3)
40 plot(tt,xx(:,2));
41 grid
42 box ON
43 ylabel('v');
44 %%%%%%%%%%%%%%%%%%%%%%%%%
45 %Respuesta forzada:
46 u = @(t) t>0.02; %entrada escalonada
47
48 v0 = 0;
49 i0 = 0;
50 x0 = [i0;v0]; %CI nula
51
52 [tt,xx] = ode45(@(t,x) dxdt(t,x,u(t)),tspan,x0);
53 %%%%%%%%%%%%%%%%%%%%%%%%%
54 figure
55 subplot(3,1,1)
56 plot(tt,u(tt))
57 grid
58 box ON
59 ylabel('e');
60 subplot(3,1,2)
61 plot(tt,xx(:,1));
62 grid
63 box ON
64 ylabel('i');
65 subplot(3,1,3)
66 plot(tt,xx(:,2));
67 grid
68 box ON
69 ylabel('v');

MPC 2023-1 43 Análisis de Sistemas


Respuesta Homogénea:

0
e

-1
0 0.02 0.04 0.06 0.08 0.1
0.1

0
i

-0.1
0 0.02 0.04 0.06 0.08 0.1
10

0
v

-10
0 0.02 0.04 0.06 0.08 0.1

Respuesta forzada:

0.5
e

0
0 0.02 0.04 0.06 0.08 0.1
0.02

0.01
i

0
0 0.02 0.04 0.06 0.08 0.1
2

1
v

0
0 0.02 0.04 0.06 0.08 0.1

MPC 2023-1 44 Análisis de Sistemas


2.1.5 Convergencia de solución

Definición 2.7 (Valores propios). Sea una matriz A ∈ Rn×n , cualquier escalar
λ ∈ eig {A} ⊂ C tal que se cumpla

Av = λ v

se denomina valor propio de la matriz, donde v ∈ Cn no nulo es un vector propio


asociado al valor propio respectivo.

Nota 2.1 (Valores propios). Para A ∈ Rn×n ,

• existen exactamente n valores propios λi ∈ eig {A}.


• un valor propio puede tener multiplicidad superior a uno. Es decir, un valor
propio se puede repetir.
• a cada valor propio se le pueden asociar infinitos vectores propios: Si v ∈ Cn es
un vector propio, entonces w = αv también lo es, con α ∈ C.
• los valores propios son raíces del polinomio característico:

p(λ ) = det {A − λ I} = 0

• la multiplicación de los n valores propios es igual al determinante de la matriz:


n
∏ λi = det{A}
i=1

• desde la propiedad anterior, la matriz es invertible si y sólo si ningún valor propio


es nulo.

Ejemplo 2.8 (Valores propios). Esboce la posición en el plano complejo de los


valores propios de la siguiente matriz:
 
cos(θ ) − sin(θ )
R=K
sin(θ ) cos(θ )

con 0 < K < 1 y 0 < θ < π/2.


R: Para determinar los valores propios debemos determinar las raíces del poli-

MPC 2023-1 45 Análisis de Sistemas


nomio característico. Esto es, las raíces de

p(λ ) = det {R − λ I}
 
K cos(θ ) − λ −K sin(θ )
= det
K sin(θ ) K cos(θ ) − λ
= (K cos(θ ) − λ )2 + K 2 sin2 (θ )
= K 2 cos2 (θ ) − 2Kλ cos(θ ) + λ 2 + K 2 sin2 (θ )
= K 2 − 2Kλ cos(θ ) + λ 2
=0

Desde la solución general de ecuaciones cuadráticas tenemos


p
2K cos(θ ) ± 4K 2 cos2 (θ ) − 4K 2
λ=
2
p
2K cos(θ ) ± 2K cos2 (θ ) − 1
=
q2
= K cos(θ ) ± K − sin2 (θ )
= K cos(θ ) ± ȷ̂K sin(θ )
= K (cos(θ ) ± ȷ̂ sin(θ ))
= Ke±ȷ̂θ

Esto se representa en el siguiente gráfico:

ȷ̂R
1

λ
K sin(θ )

K cos(θ ) R

−K sin(θ )

λ∗

MPC 2023-1 46 Análisis de Sistemas


Una Matriz diagonalizable cumple con:
A = Tdiag {λi }ni=1 T−1
donde λi ∈ eig {A}.

Ejemplo 2.9 (Matriz diagonalizable).


     −1
−1/4 −1/2 1 2 −1/2 0 1 2
= 1
3/8 −5/4 /2 3 0 −1 1/2 3
Sin embargo, no todas las matrices son diagonalizables. En tal caso, la forma canónica
de Jordan5 es de utilidad. Ésta se puede expresar como A = TJ JT−1J , donde J ∈ C
n×n

es una matriz casi diagonal. Un ejemplo es:


 
λ1 0 0 0 0 0
 0 λ2 1 0 0 0 
 
 0 0 λ2 0 0 0 
J=  
 0 0 0 λ3 1 0 

 0 0 0 0 λ3 1 
0 0 0 0 0 λ3
Una propiedad de la función exponencial es la siguiente (¡demuéstrela!):
−1
eAt = eTJT t = TeJt T−1
Por otra parte, una función matricial de un bloque de Jordan cumple con:
 
λ 1 0 ··· 0
 0 λ 1 · · · 0 
 
f (Ji ) = f  ... ... . . . . . . ... 
 
 
 0 0 0 λ 1 
0 0 0 0 λ
2 ∂ n−1 f
 
f (λ ) ∂∂ λf (λ ) 12 ∂∂ λ 2f (λ ) · · · 1
(n−1)! ∂ λ n−1 (λ )
∂ n−2 f
 
∂f 1
 0
 f (λ ) ∂λ (λ ) · · · (n−2)! ∂ λ n−2 (λ )

 . .. ..
= . .. ..

. .

 . . . 
∂f
 
 0 0 0 f (λ ) ∂λ (λ ) 
0 0 0 0 f (λ )
Para la función exponencial entonces:
t 2 λt t n−1 λt
 λt 
e teλt 2e ··· (n−1)! e
t n−2 λt 
eλt teλt ···

0 (n−2)! e 

J i t

e =  ..
 .. .. .. .. 
 . . . . . 

0 0 0 eλt teλt 
0 0 0 0 eλt
5 https://en.wikipedia.org/wiki/Camille_Jordan

MPC 2023-1 47 Análisis de Sistemas


Esto es, eAt = TeJt T−1 depende de las exponenciales de los valores propios de A.
La propiedad de convergencia corresponde a:

lim eJt = 0
t→+∞

Por lo tanto, la matriz de transición de estados será convergente en el caso en que cada
uno de los valores propios tengan parte real negativa. Es decir, se encuentre en el
semi-plano complejo izquierdo:

imag {λ }

real {λ }

Ejemplo 2.10 (Circuito LCR). Retomemos el circuito LCR de los Ejemplos 2.4
y 2.7. En este caso, la matriz de estados corresponde a:
 
0 − 1/L
A= 1
/C − 1/RC

y sus valores propios son las raíces del polinomio característico dado por:

p(λ ) := det {A − λ I}
 
−λ − 1/L
= det 1/C − 1/RC − λ

= (−λ )( − 1/RC − λ ) − ( − 1/L)(1/C)


1 1
= λ2 + λ+
RC LC
!
=0
Desde donde se desprende que,
r
1 1 1 4
λ =− ± −
2RC 2 R2C2 LC

MPC 2023-1 48 Análisis de Sistemas


Asumiendo que el determinante de la ecuación cuadrática es negativo, esto es, si
1 4
− < 0 ⇐⇒ L < 4R2C
R2C2 LC
entonces los valores propios son complejos conjugados:
r
1 1 4 1
λ =− ± ȷ̂ − 2 2
2RC 2 LC R C
y su parte real corresponde a:
1
real {λ } = − <0
2RC
Es decir, los valores propios de la matriz se encuentran en el semiplano izquierdo
y por lo tanto sus soluciones son convergentes. Esto es coherente con lo que se
observa gráficamente en el Ejemplo 2.7.

Ejemplo 2.11 (Ecuación diferencial). Considere la siguiente ecuación diferencial

ẋ(t) = a · x(t)

con x(0) = 1. El único valor propio de la matriz de estados corresponde al escalar


a ∈ R. Si a < 0 (por ejemplo si a = −1/2), entonces el valor propio se encuentra
en el semi-plano izquierdo y la respuesta homogénea debería converger al origen.
Si por el contrario a > 0 (ejemplo a = 1/2 ), entonces la respuesta debería diverger.
En efecto, el Código 2.2 resuelve la ecuación diferencial en Matlab/Octave
para ambos casos. La figura más adelante muestra cómo en un caso la respuesta
converge y en el otro caso no.

Código 2.2: Convergencia (A2C2_conv.m)


1 %%%%%%%%%%%%%%%%%%%%%%%%%
2 dxdt = @(t,x,a) a*x; %eq. diferencial
3 x0 = 1; %CI
4 %%%%%%%%%%%%%%%%%%%%%%%%%
5 t0 = 0;
6 tf = 10;
7 tspan = [t0,tf];
8 %%%%%%%%%%%%%%%%%%%%%%%%%
9 a = −0.5;
10 [tt,xx] = ode45(@(t,x) dxdt(t,x,a),tspan,x0);
11 %%%%%%%%%%%%%%%%%%%%%%%%%
12 figure
13 subplot(2,1,1)
14 plot(tt,xx(:));
15 grid
16 box ON

MPC 2023-1 49 Análisis de Sistemas


17 title('a<0');
18 %%%%%%%%%%%%%%%%%%%%%%%%%
19 a = 0.5;
20 [tt,xx] = ode45(@(t,x) dxdt(t,x,a),tspan,x0);
21 %%%%%%%%%%%%%%%%%%%%%%%%%
22 subplot(2,1,2)
23 plot(tt,xx(:));
24 grid
25 box ON
26 title('a>0');
27 %%%%%%%%%%%%%%%%%%%%%%%%%

a<0
1

0.5

0
0 2 4 6 8 10

a>0
150

100

50

0
0 2 4 6 8 10

MPC 2023-1 50 Análisis de Sistemas


2.1.6 Discretización
¿Y si observamos el proceso cada T > 0 instantes solamente?

t = Tk

Ejemplo 2.12 (Sample and Holder). El Código 2.3 observa (sample) una función
"continua" a una tasa regular de muestreo guardando el vector de instantes de
muestreo y el valor de la función en cada instante. Además, genera un nuevo vec-
tor en el tiempo "continuo" donde la observación en tiempo discreto es retenida
(hold) hasta la próxima muestra. La gráfica más abajo muestra las señales con-
tinua, muestreada y retenida. Notar que existe un retardo de fase entre las señales.

MPC 2023-1 51 Análisis de Sistemas


Código 2.3: Convergencia (A2C3_SH.m)
1 %%%%%%%%%%%%%%%%%%%%%%%%%%%
2 t0 = 0; %instante incial
3 tf = 5; %instange final
4 T0 = 1e−3; %paso de tiempo 'continuo'
5 t = t0:T0:tf; %vector tiempo 'continuo'
6 %%%%%%%%%%%%%%%%%%%%%%%%%%%
7 fmuestreo = 5;% tasa de muestreo
8 Tm = 1/fmuestreo;
9 tm = t0:Tm:tf; %vector tiempo discreto
10 %%%%%%%%%%%%%%%%%%%%%%%%%%%
11 %funciOn 'continua'
12 % epsilon = 0.7;
13 % y = 1./(1 + exp(−2*(t−2.5)/epsilon));
14 f = 0.5;
15 y = sin(2*pi*f*t);
16 %%%%%%%%%%%%%%%%%%%%%%%%%%%
17 %muestrear
18 ym = zeros(length(tm),1);
19 ii = 1; %contador de muestras
20 for kk = 1:length(t); %recorrer el tiempo continuo
21 if mod(t(kk),Tm)==0, %si es un instante de muestreo
22 ym(ii) = y(kk); %muestrear
23 ii = ii+1;
24 end
25 end
26 %%%%%%%%%%%%%%%%%%%%%%%%%%%
27 %muestrear y retener // Sample and Hold
28 ysh = zeros(length(t),1);
29 ii = 1; %contador de muestras
30 for kk = 1:length(t); %recorrer el tiempo continuo
31 if mod(t(kk),Tm)==0, %si es un instante de muestreo
32 ysh(kk) = y(kk); %muestrear
33 else
34 ysh(kk) = ysh(kk−1); %retener
35 end
36 end

0.5

-0.5

-1
0 1 2 3 4 5

MPC 2023-1 52 Análisis de Sistemas


∀t ∈ [kT, (k + 1)T ], si la entrada es constante (si u(t) = u(kT )) la solución de ẋ =
Ax + Bu es:
Z t
x(t) = eA(t−kT ) x(kT ) + eA(t−τ) Bu(τ)dτ
kT
Z t 
=eA (t−kT )
x(kT ) + e A (t−τ)
Bdτ u(kT )
kT

Con el cambio de variables σ = τ − kT , evaluando en el instante t = (k + 1)T ,


Z T 
A T
x((k + 1)T ) = e x(kT ) + eA (T −σ )
Bdσ u(kT )
0

Entonces,

T
Z 
x((k + 1)T ) = eAT x(kT ) + eA(T −σ ) Bdσ u(kT )
0
ys (kT ) = Cx(kT ) + Du(kT )

Cuando A es invertible:
!
Z T Z T +∞
1 m
eA(T −σ ) Bdσ = ∑ A (T − σ ) Bdσ m
0 0 m=0 m!
+∞ Z T 
1 m m
= ∑ A (T − σ ) dσ B
m=0 m! 0
+∞
T
1 m −1 m+1

= ∑ A (T − σ ) B
m=0 m! m+1 0
+∞
1 m 1
= ∑ A T m+1 B
m=0 m! m+1
+∞
1
= ∑ Am+1 T m+1 A−1 B
m=0 (m + 1)!
!
+∞
1 n n
= ∑ A T A−1 B
n=1 n!
!
+∞
1 n n
= −I + ∑ A T A−1 B
n=0 n!
 
= eAT − I A−1 B

MPC 2023-1 53 Análisis de Sistemas


Ejemplo 2.13 (Circuito LCR). Retomemos el circuito LCR de los Ejemplos 2.4,
2.7 y 2.10. Su modelo discretizado cada T > 0 instantes se puede obtener fácil-
mente haciendo Ad = eAT y Bd = (Ad − I) A−1 B.
El Código 2.4 resuelve la ecuación diferencial asociada al circuito con dis-
tintas entradas: escalón, rampa, y rampa escalonada. Adicionalmente, aproxima
el comportamiento del sistema a través del modelo discretizado. Las figuras re-
sultantes de los tres casos se muestran más adelante. Notar que en el caso del
escalón, tanto la resolución de la ecuación diferencial como el sistema aproxi-
mado coinciden perfectamente. Sin embargo, en el caso de la rampa continua,
la solución continua y discreta presentan importantes diferencias. Este error se
puede soslayar considerando como entrada una suma de escalones.

Código 2.4: Circuito LCR en tiempo discreto (A2C4_discr.m)


1 %%%%%%%%%%%%%%%%%%%%%%%%%
2 %Definiciones del circuito LCR
3 R = 100;
4 L = 250e−03;
5 C = 0.5e−04;
6 %%%%%%%%%%%%%%%%%%%%%%%%%
7 %RepresentaciOn es espacio de estados dx = Ax+Bu
8 A = [0, −1/L;
9 1/C, −1/(R*C)];
10 B = [1/L; 0];
11
12 I = eye(size(A));
13 %%%%%%%%%%%%%%%%%%%%%%%%%
14 x0 = zeros(size(A,2),1); %CI nula
15 dxdt = @(t,x,u) A*x + B*u; %eq. diferencial
16 %%%%%%%%%%%%%%%%%%%%%%%%%
17 %tiempo continuo
18 t0 = 0;
19 tf = 0.1;
20 Tsim = 0.00001;
21 tspan = t0:Tsim:tf;
22 %%%%%%%%%%%%%%%%%%%%%%%%%
23 %Respuesta a escalOn:
24 u1 = @(t) (t ≥ 0.02); %entrada escalonada
25 [tt1,xx1] = ode45(@(t,x) dxdt(t,x,u1(t)),tspan,x0);
26 %%%%%%%%%%%%%%%%%%%%%%%%%
27 %modelo discretizado: x(k+1) = Ad*x(kk) + Bd*u(kk);
28 T = 0.005;
29 Ad = expm(A*T);
30 Bd = (Ad − I)/A*B; %(Ad − I)*inv(A)*B;
31 %%%%%%%%%%%%%%%%%%%%%%%%%
32 %Respuesta discretizada
33 tspand = t0:T:tf;
34 xd1 = zeros(size(A,1),length(tspand));
35 xd1(:,1) = x0;
36 for kk = 2:length(tspand),
37 xd1(:,kk) = Ad*xd1(:,kk−1) + Bd*u1(tspand(kk−1));
38 end

MPC 2023-1 54 Análisis de Sistemas


39 %%%%%%%%%%%%%%%%%%%%%%%%%
40 %Respuesta a rampa:
41 u2 = @(t) 25*(t ≥ 0.02).*(t−0.02) − ...
25*(t ≥ 0.06).*(t−0.06) ; %entrada rampa
42 [tt2,xx2] = ode45(@(t,x) dxdt(t,x,u2(t)),tspan,x0);
43 %%%%%%%%%%%%%%%%%%%%%%%%%
44 %Respuesta discretizada
45 xd2 = zeros(size(A,1),length(tspand));
46 xd2(:,1) = x0;
47 for kk = 2:length(tspand),
48 xd2(:,kk) = Ad*xd2(:,kk−1) + Bd*u2(tspand(kk−1));
49 end
50 %%%%%%%%%%%%%%%%%%%%%%%%%
51 %Respuesta a rampa escalonada:
52 u3 = @(t) 0.125*( (t ≥ 0.025) + (t ≥ 0.030) + (t ≥ 0.035) ...
+ (t ≥ 0.040)) ...
53 +0.125*( (t ≥ 0.045) + (t ≥ 0.050) + (t ≥ 0.055) ...
+ (t ≥ 0.060));
54 [tt3,xx3] = ode45(@(t,x) dxdt(t,x,u3(t)),tspan,x0);
55 %%%%%%%%%%%%%%%%%%%%%%%%%
56 %Respuesta discretizada
57 tspand = t0:T:tf;
58 xd3 = zeros(size(A,1),length(tspand));
59 xd3(:,1) = x0;
60 for kk = 2:length(tspand),
61 xd3(:,kk) = Ad*xd3(:,kk−1) + Bd*u3(tspand(kk−1));
62 end

Entrada escalón discreta:


1

0.5
e

0
0 0.02 0.04 0.06 0.08 0.1
×10 -3
20

10
i

0
0 0.02 0.04 0.06 0.08 0.1

1
v

0
0 0.02 0.04 0.06 0.08 0.1

MPC 2023-1 55 Análisis de Sistemas


Entrada rampa continua:
2

1
e

0
0 0.02 0.04 0.06 0.08 0.1
×10 -3
20

10
i

0
0 0.02 0.04 0.06 0.08 0.1

1
v

0
0 0.02 0.04 0.06 0.08 0.1

Entrada rampa discreta:


2

1
e

0
0 0.02 0.04 0.06 0.08 0.1
×10 -3
20

10
i

0
0 0.02 0.04 0.06 0.08 0.1

1
v

0
0 0.02 0.04 0.06 0.08 0.1

MPC 2023-1 56 Análisis de Sistemas


Los valores y vectores propios de la matriz de estados cumplen con:

Av = λ v

Luego, los valores y vectores propios de la exponencial satisfacen:


!

A T 1 k k
e v= ∑ A T v
k=0 k!

1
= ∑ k! T k Ak v
k=0

1
= ∑ k! T k λ k v
k=0

=e v

Si λ ∈ R: eT λ > 0.

Si λ = σ + ȷ̂ω ∈ C: eT λ = eT σ (cos(T ω) + ȷ̂ sin(T ω)).

Ejemplo 2.14 (Sistema discreto con polo negativo). Considere el sistema descrito
por
1
x(k + 1) = − x(k)
2
En este caso, la matriz de estados tiene un único valor propio negativo. Es decir,
este sistema se puede plantear matemáticamente, pero no es el resultado del pro-
ceso de discretización. En la siguiente gráfica se observa una posible trayectoria
de la variable:

x(k)

MPC 2023-1 57 Análisis de Sistemas


2.2 Sistemas en tiempo discreto
2.2.1 Ecuaciones de diferencias

Ejemplo 2.15 (Progresión geométrica).


Considere la sucesión de números:

yn = {5, 10, 20, 40, . . . }

Ésta corresponde a una progresión geométrica donde cada término es el doble del
anterior. Es decir el término enésimo se obtiene haciendo yn = 2yn−1 :

y1 = 2y0
y2 = 2y1 = 2 · 2y0 = 22 y0
y3 = 2y2 = 2 · 22 y0 = 23 y0
...

yn−1 = 2yn−2 = 2n−1 y0


yn = 2yn−1 = 2n y0

Con y0 = 5, entonces tenemos que

yn = 5 · 2n

Ejemplo 2.16 (Ecuación de diferencias).


Considere la ecuación de diferencias:

yn+1 + 2yn = n

La respuesta homogénea se obtiene ante entrada nula y condición inicial arbi-


traria. Es decir,

yn+1 = (−2)yn

y1 = (−2)y0
y2 = (−2)y1 = (−2)2 y0
y3 = (−2)y2 = (−2)3 y0
..
.
yn = (−2)n y0

La respuesta forzada, se obtiene ante condición inicial nula y la entrada un = n.

MPC 2023-1 58 Análisis de Sistemas


Ésta se puede determinar con ayuda de una solución candidata:

yn = A(−2)n + Bn +C
yn+1 = A(−2)n+1 + B(n + 1) +C

Notar el término incluyendo la exponencial característica de la respuesta


homogénea, para poder ajustar la condición inicial nula. Reemplazando en la
ecuación original,
!
yn+1 + 2yn = (−2)n (−2A + 2A) + Bn + B +C + 2Bn + 2C = n

Desde donde,
(3B − 1)n + (B + 3C) = 0
y se obtiene el sistema de ecuaciones:

3B − 1 = 0
B + 3C = 0

cuya solución corresponde a B = 1/3 y C = −1/9. Así, la respuesta forzada corre-


sponde a:
1 1
yn = A(−2)n + n −
3 9
Para calcular la constante A, consideramos condición inicial nula. Es decir,
1 1 !
y0 = A(−2)0 + ·0− = 0
3 9
Desde donde, A = 1/9. Con ello, la respuesta a la ecuación se obtiene como la
suma de las respuestas homogéneas y forzadas:
 
1 1 1
yn = (−2)n + y0 + n −
9 3 9

Ejemplo 2.17 (Ecuación de primer orden). Sea x : Z+


0 7→ R, con x(0) = x0 tal que

x(k + 1) = ax(k) + b.

Solución candidata: x(k) = ACk + B. Luego, x(k + 1) = ACCk + B,

ACCk + B = aACk + aB + b

Entonces,
ACCk = aACk =⇒ C = a
B = aB + b =⇒ B = b/(1 − a)

MPC 2023-1 59 Análisis de Sistemas


Considerando la condición inicial,

x(0) = A + B = x0 =⇒ A = x0 − B =⇒ A = x0 − b/(1 − a)

Por lo tanto:

x(k) = (x0 − b/(1 − a))ak + b/(1 − a) = ak x0 + b/(1 − a)(1 − ak )

2.2.2 Ecuaciones de estado discretas


Representación de sistemas en el dominio de tiempo discreto.

Ejemplo 2.18 (Estados en tiempo discreto). Supongamos la ecuación de diferen-


cias:
y(k + 2) + ay(k + 1) + by(k) = cu(k)
con coeficientes y variables reales. Eligiendo una variable auxiliar x(k) = y(k + 1)
podemos escribir la ecuación de diferencias como:

x(k + 1) = −ax(k) − by(k) + cu(k)

Luego, de manera matricial:


   
y(k + 1) x(k)
=
x(k + 1) −ax(k) − by(k) + cu(k)
    
0 1 y(k) 0
= + u(k)
−b −a x(k) c
 
y(k)
=A + Bu(k)
x(k)

Se puede encontrar una representación en el espacio de estados.

Definición 2.8 (Ecuación de diferencias lineal). con m ∈ N, n ∈ N, y m < n:

y(k + n) + an−1 y(k + n − 1) + · · · + a1 y(k + 1) + a0 y(k) =


bm u(k + m) + bm−1 u(k + m − 1) + · · · + b1 u(k + 1) + b0 u(k)

Definición 2.9 (Modelo Lineal de Estados discretos (MIMO)).

x(k + 1) = Ax(k) + Bu(k) + Ep(k)


y(k) = Cx(k) + Du(k) + Fp(k),

MPC 2023-1 60 Análisis de Sistemas


donde x(k) ∈ Rn , u(k) ∈ R p , y(k) ∈ Rq , p(k) ∈ Rr .

p(k)

E F

u(k) x(k + 1) x(k) y(k)


B + C +

2.2.3 Solución de ecuaciones de estado discretas


Consideremos un sistema que cumple ∀k ∈ N0 con

x(k + 1) = Ax(k) + Bu(k)

Desde una condición inicial x(0) = x0 y u(0) = u0 podemos evaluar:

x(1) = Ax(0) + Bu(0) = Ax0 + Bu0


x(2) = Ax(1) + Bu(1) = A2 x0 + ABu(0) + Bu(1)
x(3) = Ax(2) + Bu(2) = A3 x0 + A2 Bu(0) + ABu(1) + Bu(2)
x(4) = Ax(3) + Bu(3) = A4 x0 + A3 Bu(0) + A2 Bu(1) + ABu(2) + Bu(3)
.. .
. = ..

Y desde lo anterior proponer una solución candidata:

k−1
x(k) = Ak x0 + ∑ Ak−1−i Bu(i)
i=0

MPC 2023-1 61 Análisis de Sistemas


Reemplazando en la expresión original, podemos verificar que efectivamente es una
solución del sistema:
k
x(k + 1) = Ak+1 x0 + ∑ Ak−i Bu(i)
i=0
!
k−1
k k−i
= AA x0 + ∑A Bu(i) + Ak−k Bu(k)
i=0
!
k−1
k k−1−i
= AA x0 + A ∑A Bu(i) + Bu(k)
i=0
!
k−1
k k−1−i
= A A x0 + ∑ A Bu(i) + Bu(k)
i=0
= Ax(k) + Bu(k)

Definición 2.10 (Matriz de transición de estados discreta).

Φ (k) = Ak

2.2.4 Convergencia de solución


Para una matriz de estados en tiempo discreto tenemos que su descomposición de Jor-
dan A = TJ JT−1
J implica que:
k
Ak = TJ JT−1
J = TJ JT−1 −1 −1 k −1
J TJ JTJ · · · TJ JTJ = TJ J TJ
| {z }
k veces

Además, un bloque de Jordan cumple con:

λ k kλ k−1 k(k−1)
 
k−2 k! k−n+1
2 λ ··· (k−n+1)!(n−1)! λ
k!
0 λk kλ k−1 ··· k−n+2 

(k−n+2)!(n−1)! λ

Jki = 
 
. .. .. .. ..
 ..

 . . . . 

0 0 0 λk kλ k−1 
0 0 0 0 λk

La convergencia de una matriz de transición de estados en tiempo discreto se asegura


si
lim Jk = 0
k→+∞

Es decir, la convergencia de la solución se garantiza en el caso en que todos los valores


propios de la matriz de estados tengan un módulo inferior a uno. Esto es, que se
encuentren dentro del círculo unitario:

MPC 2023-1 62 Análisis de Sistemas


imag {λ }

real {λ }

Ejemplo 2.19 (Convergencia discreta). Considere la matriz de estados en tiempo


discreta dada por:  √ 
a 3/2
A= √
− /2
3 a
cuyos valores propios complejos conjugados corresponden a:

λ = a ± ȷ̂ 3/2

El módulo de los valores propios es:


q
|λ | = a2 + 3/4

Este módulo es unitario en el caso en que a = 1/2. Es decir, si a < 1/2, los valores
propios se encuentran en el círculo unitario. Por el contrario, si a > 1/2 entonces
los valores propios se encuentran fuera del círculo unitario y por lo tanto la re-
spuesta del sistema es divergente.
El Código 2.5 calcula la trayectoria del sistema descrito ante una condición
inicial arbitraria para un valor del parámetro que garantiza convergencia. La figura
más adelante muestra la trayectoria en el espacio de estados (no como función del
tiempo). Claramente, los estados se aproximan al origen en la medida que el
tiempo transcurre. ¿Qué ocurriría en el gráfico si a > 1/2?

MPC 2023-1 63 Análisis de Sistemas


Código 2.5: Convergencia en tiempo discreto (A2C5_convdisc.m)
1 %%%%%%%%%%%%%%%%%%%%%%%%%
2 a = 0.45;%0.55;%
3 omega = sqrt(3)/2;
4 A = [ a omega;
5 −omega a];
6
7 x0 = [1; 1]; %CI
8 %%%%%%%%%%%%%%%%%%%%%%%%%
9 k0 = 0;
10 kf = 100;
11 kspan = k0:kf;
12 %%%%%%%%%%%%%%%%%%%%%%%%%
13 xx = zeros(2,length(kspan));
14 xx(:,1) = x0;
15 for kk=2:length(kspan),
16 xx(:,kk) = A*xx(:,kk−1);
17 end

1.5

0.5
x2

-0.5

-1

-1.5
-1.5 -1 -0.5 0 0.5 1 1.5
x1

MPC 2023-1 64 Análisis de Sistemas


2.3 Sistemas no lineales
2.3.1 Modelos no lineales

Definición 2.11 (Sistema no lineal invariante en tiempo continuo).

ẋ(t) = f(x(t), u(t), p(t))


y(t) = h(x(t), u(t), p(t))
 
f1 (x(t), u(t), p(t))
 f2 (x(t), u(t), p(t))
f(x(t), u(t), p(t)) = 
 
.. 
 . 
fn (x(t), u(t), p(t))
 
h1 (x(t), u(t), p(t))
h2 (x(t), u(t), p(t))
h(x(t), u(t), p(t)) = 
 
.. 
 . 
hq (x(t), u(t), p(t))

Definición 2.12 (Punto de equilibrio tiempo continuo). (xo , uo , po ) es un punto


de equilibrio en tiempo continuo sii

0 = f(xo , uo , po )

Definición 2.13 (Sistema no lineal invariante en tiempo discreto).

x(k + 1) = f(x(k), u(k), p(k))


y(k) = h(x(k), u(k), p(k))

Definición 2.14 (Punto de equilibrio tiempo discreto). (xo , uo , po ) es un punto de


equilibrio en tiempo discreto sii

xo = f(xo , uo , po )

• Punto de operación: es el punto de equilibrio en el cual se está operando el


sistema.
• Punto de operación nominal: es el punto de operación para el cual el sistema fue
diseñado.

MPC 2023-1 65 Análisis de Sistemas


2.3.2 Series de Taylor

Teorema 2.1 (Taylora ).


! !
∂ 2 f (x)

∂ f (x) 1
f (x) = f (xo ) + (x − xo ) + (x − xo )2 + . . .
∂x x=xo 2! ∂ x2 x=xo
!
∂ n f (x)


1
=∑ (x − xo )n
n=0 n! ∂ xn x=xo

a https://en.wikipedia.org/wiki/Brook_Taylor

Ejemplo 2.20 (Taylor). Consideremos la función no lineal:


1 7
f (x) = 2 + x
30
Sus tres primeras derivadas corresponden a:

df 7
= x6
dx 30
d2 f 42 7
= x5 = x5
dx2 30 5
d3 f
= 7x4
dx3
Despreciando los términos de orden superior, la función puede aproximarse en
torno a un punto de operación (xo , f (xo )) con ayuda de la definición de la serie de
Taylor:
!
∂ f (x)
f (x) ≈ f (xo ) + (x − xo )
∂ x x=xo
! !
1 ∂ 2 f (x) 1 ∂ 3 f (x)

2
+ (x − xo ) + (x − xo )3
2! ∂ x2 x=xo 3! ∂ x3 x=xo
1 7 7 6 17 5 1
= 2+ x + x (x − xo ) + x (x − xo )2 + 7xo4 (x − xo )3
30 o 30 o 25 o 6
El Código 2.6 define un punto de operación arbitrario para la función y de-
sarrolla las aproximaciones de primer, segundo y tercer orden. La gráfica más
adelante muestra la función original y las aproximaciones en torno al punto es-
pecificado. Notar cómo en las cercanías del punto de operación, la aproximación
lineal (de primer orden) coincide de buena manera con la función original.

MPC 2023-1 66 Análisis de Sistemas


Código 2.6: Taylor (A2C6_taylor.m)
1 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2 % funciOn no lineal
3 x = 0.5:0.001:2.9;
4 f = 2 + x.^7/30;
5 % punto de operaciOn
6 xo = 1.75;
7 fo = 2 + xo^7/30;
8 % derivadas en punto de operaciOn
9 dfo = 7*xo^6/30; % df: 1ra derivada
10 ddfo = 6*7*xo^5/30; %ddf: 2da derivada
11 dddfo = 5*6*7*xo^4/30; %dddf: 3ra derivada
12 % aproximaciones
13 t1 = fo + dfo*(x − xo); %aprox lineal
14 t2 = t1 + (1/2)*ddfo*(x−xo).^2; %aprox 2do orden
15 t3 = t2 + (1/factorial(3))*dddfo*(x−xo).^3; %aprox 3er orden

5
f(x)
T 1 (x)
T (x)
2

50 T (x)
3

4.5

40

30

3.5

20

3
10 f(x)
T (x)
1
T 2 (x)
T 3 (x)

0 2.5
0.5 1 1.5 2 2.5 1.5 1.55 1.6 1.65 1.7 1.75 1.8 1.85 1.9 1.95 2

Si |x − xo | ≪ 1, entonces se pueden despreciar los valores de orden superior y


tenemos:
!
∂ f (x)
f (x) ≈ f (xo ) + ∆x
∂ x x=xo

donde ∆x = x − xo .
Aplicando a un sistema en tiempo continuo tenemos:
˙ = ẋ − ẋo = ẋ = f (x)
∆x
!
∂ f (x)
≈ f (xo ) + ∆x
∂ x x=xo
!
∂ f (x)
= ∆x
∂ x x=xo

MPC 2023-1 67 Análisis de Sistemas


Y en un sistema en tiempo discreto:

∆x(k + 1) = x(k + 1) − xo
= f (x(k)) − f (xo )
!
∂ f (x)
≈ ∆x
∂ x x=xo

2.3.3 Linealización por serie de Taylor


En general, aplicando el procedimiento en cada una de las direcciones:

˙ = A∆x + B∆u + E∆p


∆x
∆y = C∆x + D∆u + F∆p

∆x(k + 1) = A∆x(k) + B∆u(k) + E∆p(k)


∆y(k) = C∆x(k) + D∆u(k) + F∆p(k)

son aproximaciones lineales de los sistemas no lineales descritos anteriormente para


tiempo continuo o discreto, donde ∆x = x−xo , ∆u = u−uo , ∆p = p−po , y ∆y = y−yo
son variaciones de las variables con respecto al punto de operación; y con:
 ∂ f1 ∂ f1 ∂ f1 
∂x ∂ x2 ··· ∂ xn
 ∂ f12 ∂ f2 ∂ f2 
···

∂ f  ∂ x1 ∂ x2 ∂ xn 
A = ∇x f x=xo = xo =  ..
∂ x ux= .. .. .. 
 
u=uo =uo  . . . . 
p=po p=po ∂f ∂ fn ∂ fn x=x
n
∂ x1 ∂ x2 ··· ∂ xn
o
u=uo
p=po
∂ f ∂ f1 ∂ f1

1
···
 ∂∂ uf21 ∂ u2
∂ f2
∂ up
∂ f2 

∂f


 ∂ u1 ∂ u2 ··· 
∂ u p 
B = ∇u f x=xo = =
x=xo  . .. .. .. 
u

u=uo ∂ u=uo  . .
p=po  ∂ .f . . 
p=po ∂ fn

∂ fn x=x
n
∂ u1 ∂ u2 ··· ∂ up o
u=uo

p=po
 ∂ f1 ∂ f1 ∂ f1 
∂p ∂ p2 ··· ∂ pr
 ∂ f21 ∂ f2 ∂ f2 
···

∂ f  ∂ p1 ∂ p2 ∂ pr 
E = ∇p f x=xo = xo =  ..
∂ p ux= .. .. .. 
 
u=uo =uo  . . . . 
p=po p=po ∂f ∂ fn ∂ fn x=x
n
∂ p1 ∂ p2 ··· ∂ pr
o
u=uo
p=po

MPC 2023-1 68 Análisis de Sistemas


 ∂ h1 ∂ h1 ∂ h1 
∂ x1 ∂ x2 ··· ∂ xn
 ∂ h2 ∂ h2
··· ∂ h2 
∂ h  ∂ x1 ∂ x2 ∂ xn 
C = ∇x h x=xo = =xo =  .
∂ x ux= .. .. .. 
 
u=uo uo  .. . . . 
p=po p=po ∂ hq ∂ hq ∂ hq x=x

∂ x1 ∂ x2 ··· ∂ xn
o
u=uo
p=po
∂h ∂ h1 ∂ h1

∂u
1
∂ u2 ··· ∂ up
 ∂ h21 ∂ h2 ∂ h2 

∂h

∂u
 1 ∂ u2 ··· 
∂ u p 
D = ∇u h x=xo = x=xo =  . .. .. .. 
u ..

u=uo ∂
u=uo  . . . 
p=po p=po  ∂ h ∂ hq ∂ hq

q
∂ u1 ∂ u2 ··· ∂ up
x=xo
u=uo
p=po
 
∂ h1 ∂ h1 ∂ h1
···
 ∂∂ hp21 ∂ p2
∂ h2
∂ pr
∂ h2 

∂ h


∂ p1 ∂ p2 ··· ∂ pr 

F = ∇p h x=xo = x=x = 
∂ p u=uoo  ... .. .. .. 

u=uo . . . 
p=po p=po  ∂ hq ∂ hq ∂ hq

··· x=xo
∂ p1 ∂ p2 ∂ pr u=uo
p=po

Ejemplo 2.21 (Linealización). Para el sistema descrito por:

ẏ(t) = −3y(t)u(t) + 2p(t)

con u(t) = U y p(t) = P, un punto de operación viene dado por

2P
0 = −3Y ·U + 2P =⇒ Y =
3U
Las derivadas parciales de la función evaluadas en el punto de operación arrojan:

∂ f
= −3 ·U
∂ y (U,P,Y )

∂ f 2P
= −3 ·Y = −
∂ u (U,P,Y ) U

∂ f
=2
∂ p (U,P,Y )
Luego, con ∆y(t) = y(t) − Y , ∆u(t) = u(t) − U, y ∆p(t) = p(t) − P, tenemos un
modelo linealizado dado por:

d 2P
∆y(t) = −3 ·U∆y(t) − ∆u(t) + 2∆p(t)
dt U

MPC 2023-1 69 Análisis de Sistemas


Ejemplo 2.22 (Máquina sincrónica). Desde un análisis de torques en el eje de
una máquina rotatoria, se obtiene un modelo simple para una máquina sincrónica:
1 1
υ̇(t) = (Pm (t) − P(t)) − KD υ(t)
2HS 2H
Donde, υ(t) = dδ (t)/dt ∈ R corresponde a la desviación de la velocidad rotatoria
de la máquina sincrónica con respecto a la nominal. Si esta desviación es cero,
entonces la máquina está en sincronismo con la frecuencia de red. El ángulo
δ (t) ∈ R corresponde al ángulo de la máquina con respecto a una referencia.
Pm (t) > 0 corresponde a la potencia mecánica (manipulable) transmitida por el
eje de la máquina, y P(t) > 0 corresponde a la potencia eléctrica que la máquina
induce sobre la red. Las constantes H > 0 (constante de inercia), S > 0 (potencia
nominal de operación del generador), y KD > 0 (constante de roce) son parámetros
del sistema.
Notar que, en operación normal se tiene Pm (t) − P(t) ≈ 0, luego
1
υ̇(t) ≈ − 2H KD υ(t) lo que caracteriza una respuesta convergente al origen,
permitiendo a la máquina alcanzar sincronismo.
La máquina se conecta a la red a través de una línea inductiva caracterizada
por el parámetro L > 0 a un nodo (bus infinito) caraterizado por un voltaje de
referencia en fase y amplitud V 0 (Ver imagen).

L
E δ I V 0

G ∞

La amplitud de la señal de voltaje en la máquina sincrónica también se consid-


era constante E > 0. Asumiendo operación sincrónica, tenemos que la corriente
sobre el inductor puede determinarse desde la ecuación de malla:

dI
E δ −L =V 0
dt
E δ − Lȷ̂ωI = V

MPC 2023-1 70 Análisis de Sistemas


Luego,
1
I= (E δ −V )
ȷ̂Lω
1
I∗ = (E −δ −V )
−ȷ̂Lω
Y por lo tanto la potencia compleja inyectada por el generador corresponde a
1
S = 3E δ · I ∗ = 3 E 2 − EV δ

−ȷ̂Lω
1
E 2 − EV (cos δ + ȷ̂ sin δ )

= 3ȷ̂

1 1
E 2 − EV cos δ

=3 EV sin δ + ȷ̂3
Lω Lω
Luego, la potencia activa que se transmite desde el generador hacia el bus infinito
corresponde a
EV
P(t) = real {S(t)} = 3 sin δ (t)

Reemplazando la expresión anterior para la potencia eléctrica, lleva a un sistema
no lineal con respecto al ángulo δ :
 
1 EVi 1
υ̇(t) = Pm (t) − 3 sin δ (t) − KD υ(t)
2HS Lω 2H

Linealizando en torno a un punto de operación dado por υ = 0, Pm = Pm,0 y δ = δ0


obtenemos:
      
d ∆δ 0 1 ∆δ 0
= 1 1 + 1 ∆P̄m
dt ∆υ − 2H KS − 2H KD ∆υ 2H

Donde ∆δ = δ − δ0 , ∆υ = υ − υ0 = υ, ∆P̄m = (Pm − Pm,0 )/S, y

3EVi
KS = cos δ0
SLω
Esta expresión también se puede representar gráficamente como en la siguiente
figura.

∆P̄
KS
− υ
+ 1 R R
∆P̄m 2H ∆δ

KD

MPC 2023-1 71 Análisis de Sistemas


Ejemplo 2.23 (Buck).

Sw L
i(t) v(t)

e(t) C R

La figura muestra un conversor DC/DC reductor (Buck). Un análisis circuital


con el interruptor abierto (Sw = 0) o en conducción (Sw = 1) permite obtener un
modelo con estados discretos (Sw ∈ {0, 1}):

di 1 1
= Sw · e − v
dt L L
dv 1 1
= i− v
dt C RC
Si el proceso de abrir y cerrar el interruptor se repite períodicamente a alta fre-
cuencia, se puede plantear un modelo promedio reemplazando Sw por su valor
promedio u ∈ [0, 1] o ciclo de trabajo:

di 1 1
= u·e− v
dt L L
dv 1 1
= i− v
dt C RC
Este sistema es no lineal producto de la multiplicación de la señal de entrada con
la perturbación. Aplicando una linealización por serie de Taylor tenemos:

d∆i 1 1 1
= uo · ∆e + eo · ∆u − ∆v
dt L L L
d∆v 1 1
= ∆i − ∆v
dt C RC
El Código 2.7 simula el comportamiento del sistema considerando las
entradas escalonadas más abajo, y los tres modelos anteriores resolviendo la
ecuación diferencial asociada por medio de discretización. Con ello se obtienen
las gráficas más adelante que muestran ambos estados. Notar cómo el modelo
promedio aproxima de buena manera al modelo con estados discretos, mientras
que el modelo linealizado sólo es una buena aproximación del modelo promedio
en la medida que las señales externas sean cercanas al punto de operación.

MPC 2023-1 72 Análisis de Sistemas


Código 2.7: Buck (A2C7_buck.m)
1 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2 R = 1;
3 L = 0.75e−03;
4 C = 1.5e−03;
5
6 A = [0, −1/L;
7 1/C,−1/(R*C)];
8 B = @(sw) [sw/L;0];
9
10 I = eye(size(A));
11 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
12 Tini = 0;
13 Tfin = 200e−3;%5*5e−5;
14 Tsim = 1/(1000e3);
15 Tspan = Tfin−Tini;
16 tt = Tini:Tsim:Tfin;
17 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
18 Ad = expm(A*Tsim);
19 Bd = @(sw) (Ad − I)/A*B(sw);
20 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
21 %PWM
22 f0 = 20e3; %f de carrier
23 T0 = 1/f0;
24 ksaw = round(T0/Tsim);
25 sierra = @(t) mod(t/Tsim,ksaw)/ksaw;
26 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
27 %Pto operaciOn
28 u0 = 0.5;
29 e0 = 24;
30 x0 = −inv(A)*B(u0)*e0; %CI arbitraria
31 %entrada y pert
32 u = @(t) u0 + 0.1*(t ≥ Tspan*0.3+Tini);
33 e = @(t) e0 − 2*(t ≥ Tspan*0.7+Tini);
34 Sw = @(t,U) U>sierra(t);
35 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
36 xxSw = zeros(2,length(tt));
37 xxSw(:,1) = x0;
38 xxprom = zeros(2,length(tt));
39 xxprom(:,1) = x0;
40 Dxlin = zeros(2,length(tt));
41 for kk=2:length(tt),
42 t = tt(kk−1);
43 xxSw(:,kk) = Ad*xxSw(:,kk−1) + Bd(Sw(t,u(t)))*e(t);
44 xxprom(:,kk) = Ad*xxprom(:,kk−1) + Bd(u(t))*e(t);
45
46 Du = u(t) − u0;
47 De = e(t) − e0;
48 Dxlin(:,kk) = Ad*Dxlin(:,kk−1) + Bd(u0)*De+ Bd(e0)*Du;
49 end
50 xlin = Dxlin + x0*ones(size(tt));

MPC 2023-1 73 Análisis de Sistemas


0.6

u
0.55

0.5
0 0.05 0.1 0.15 0.2

24

23.5
e

23

22.5

22
0 0.05 0.1 0.15 0.2

18

16

14
i

12

10
0 0.05 0.1 0.15 0.2

16

14
v

12
switch promedio lineal

10
0 0.05 0.1 0.15 0.2

MPC 2023-1 74 Análisis de Sistemas


2.4 Ejercicios resueltos

Ejemplo 2.24 (Ecuación diferencial sencilla).


Interesa resolver la siguiente ecuación diferencial:

ẋ(t) = a · x(t) + b · u(t)

Utilizando la respuesta general de ecuaciones de estados tenemos,


Z t
x(t) = eat x(0) + eat e−aτ b · u(τ)dτ
0

Si u(t) = 1, entonces
Z t
x(t) = eat x(0) + beat e−aτ dτ
0
1 −aτ τ=t
 
= eat x(0) + beat e
−a τ=0
b
= eat x(0) − 1 − eat
 
a
Si u(t) = sin(ωt), entonces,
Z t
x(t) = eat x(0) + b · eat e−aτ sin(ωτ)dτ
0
 
at b at 1 −at ω −at ω
= e x(0) − e e sin(ωt) + 2 e cos(ωt) − 2
1 + ω 2/a2 a a a
 
b 1 ω ω
= eat x(0) − sin(ωt) + 2 cos(ωt) − 2 eat
1 + ω 2/a2 a a a
b
= eat x(0) − 2 a sin(ωt) + ω cos(ωt) − ωeat

a +ω 2

Ejemplo 2.25 (Ejercicio linealización y discretización).


Considere un sistema descrito por el siguiente modelo:

ẏ(t) = − tan(y(t)) + K · u(t)

con K > 0. Asumiendo una entrada arbitraria u(t) = u0 , el sistema presenta un


punto de operación si

0 = ẏ(t) = − tan(y0 ) + K · u0 =⇒ y0 = arctan(K · u0 ).

Las variaciones de la derivada temporal de la salida con respecto a la salida se

MPC 2023-1 75 Análisis de Sistemas


puede escribir como:

∂ f (y) ∂
= (− tan(y(t)) + K · u(t))
∂y ∂y
 
∂ sin(y(t))
= − + K · u(t)
∂y cos(y(t))
 
∂ sin(y(t))
=−
∂ y cos(y(t))
cos(y(t)) sin2 (y(t))
 
=− +
cos(y(t)) cos2 (y(t))
= − 1 + tan2 (y(t))


= − tan2 (y(t)) − 1

Si se evalúa en el punto de operación, tenemos



∂ f (y)
= − tan2 (y0 ) − 1 = −K 2 u20 − 1
∂ y u=u y=y0
0

Además, para la entrada se tiene:



∂ f (y)
=K
∂ u u=u y=y0
0

Con esto, un modelo linealizado del sistema en torno al punto de operación corres-
ponde a:
d
∆y(t) = − K 2 u20 + 1 ∆y(t) + K∆u(t),

dt
donde ∆y(t) = y(t) − y0 y ∆u(t) = u(t) − u0 . Por simplicidad, podemos definir
a = −K 2 u20 − 1 ∈ R. Notar que la solución del sistema es convergente si y sólo si,
a < 0. Esto es, siempre.
La solución exacta del sistema linealizado se puede escribir desde la fórmula
general como:
Z t
∆y(t) = ea(t−t0 ) ∆y(t0 ) + ea(t−τ) K∆u(τ)dτ
t0

Haciendo t0 = kT y t = (k + 1)T , si la entrada permanece constante durante el

MPC 2023-1 76 Análisis de Sistemas


intervalo de muestreo, tenemos que:
Z (k+1)T
∆y((k + 1)T ) = eaT ∆y(kT ) + ea((k+1)T −τ) K∆u(kT )dτ
kT
Z T 
aT a(T −σ )
= e ∆y(kT ) + e Kdσ ∆u(kT ), σ = τ − kT
0
 Z T 
aT aT −aσ
= e ∆y(kT ) + Ke e dσ ∆u(kT )
0
!
aT aT −1 −aσ T
= e ∆y(kT ) + Ke e ∆u(kT )
a 0
1
= eaT ∆y(kT ) − KeaT e−aT − 1 ∆u(kT )

a
1
= eaT ∆y(kT ) + K eaT − 1 ∆u(kT )

a
La solución a este sistema en tiempo discreto converge para k → ∞ en el caso en
que eaT < 1, lo cual se da si y solo si, a < 0.
Ante una condición inicial arbitraria ∆y(0) = ∆y0 , la solución del sistema dis-
creto anterior se puede obtener desde la fórmula general:

k k−1 k−1−i 1
∆y(kT ) = eaT ∆y(0) + ∑ eaT K eaT − 1 ∆u(iT )

i=0 a
k 1  k−1 k−1−i
= eaT ∆y0 + K eaT − 1 ∑ eaT ∆u(iT )
a i=0

MPC 2023-1 77 Análisis de Sistemas


Si la entrada permanece constante en ∆u(iT ) = ∆u0 , lo anterior se reduce a:

k 1  k−1 k−1−i
∆y(kT ) = eaT ∆y0 + K eaT − 1 ∑ eaT ∆u0
a i=0
k−1
k 1 k−1−i
= eaT ∆y0 + K eaT − 1 ∆u0 ∑ eaT

a i=0
k 1 k−1 k−1 −aT i
= eaT ∆y0 + K eaT − 1 ∆u0 eaT

a ∑ e
i=0
!
k−1
k 1 k−1 i
= eaT ∆y0 + K eaT − 1 ∆u0 eaT 1 + ∑ e−aT

a i=1
−aT k−1 − 1
 !
aT k 1 aT aT k−1 −aT e
  
= e ∆y0 + K e − 1 ∆u0 e 1+e
a e−aT − 1
k−1 !
aT k
 1 aT
 aT k−1
 1 − eaT
= e ∆y0 + K e − 1 ∆u0 e +
a 1 − eaT
k !
aT k
 1 aT
 1 − eaT
= e ∆y0 + K e − 1 ∆u0
a 1 − eaT
k 1  k 
= eaT ∆y0 − K 1 − eaT ∆u0
a
puesto que la suma de los n primeros términos de una progresión geométrica con
razón r es:
n
rn − 1
∑ ai = a1 r − 1 .
i=1

Ejemplo 2.26 (Diagonalización de matriz de estados).


Considere la ecuación diferencial:

ÿ(t) + b · ẏ(t) + c · y(t) = K · u(t)

con K ∈ R, b ∈ R, y c ∈ R. Su forma canónica observable corresponde a:


      
ẋ1 (t) −b 1 x1 (t) 0
= + u(t)
ẋ2 (t) −c 0 x2 (t) K
 
 x (t)
y(t) = 1 0 1

x2 (t)

MPC 2023-1 78 Análisis de Sistemas


Los valores propios de la matriz de estados asociada se pueden calcular haciendo
 
−b − λ 1
|A − λ I| = det
−c −λ
= λ (λ + b) + c
= λ 2 + bλ + c
=0

Desde donde se tiene que,

b 1p 2
λ1 = − + b − 4c
2 2
b 1p 2
λ2 = − − b − 4c.
2 2
Se deja como ejercicio verificar que los vectores propios vienen dados por las
columnas de la siguiente matriz:
 
1 1
V= .
−λ2 −λ1

Cuya inversa corresponde a:


 
−1 −1 −λ1 −1
V =√ .
2
b − 4c λ2 1

Como, por definición de valores y vectores propios, se tiene que AV = VD, con
D = diag {λi }λ ∈eig{A} , entonces se tiene la siguiente descomposición de la ma-
i
triz de estados:  
λ 0
A=V 1 V−1
0 λ2

Ejemplo 2.27 (Valores propios).


Considere la matriz  
1 0 2
A= 0 1 3
−2 2 0
Encuentre una descomposición A = VDV−1 , donde D = diag {λ1 , λ2 , λ3 } es una
matriz diagonal de valores propios y las columnas de V corresponden a los vec-
tores propios de A.

MPC 2023-1 79 Análisis de Sistemas


R: Su polinomio característico viene dado por

p(λ ) = |λ I − A|

λ − 1 0 −2

= 0 λ −1 −3
2 −2 λ
= (λ − 1)2 λ + 0 + 0 − −4(λ − 1) − 6(λ − 1) − 0
= (λ − 1)(λ 2 − λ − 2)
= (λ − 1)(λ + 1)(λ − 2)

Las raíces de este polinomio corresponden a los valores propios de A. Es decir,


eig {A} = {λ ∈ C|p(λ ) = 0} = {−1, 1, 2}.
Los vectores (v) y valores (λ ) propios de una matriz (A) cumplen con Av =
λ v, en este caso con los valores propios calculados anteriormente tenemos:
    
1 0 2 a a
 0 1 3 b = λ b
−2 2 0 c c

Tras multiplicar, se llega al siguiente sistema de ecuaciones:

(1 − λ )a + 2c = 0
(1 − λ )b + 3c = 0
−2a + 2b − λ c = 0

Evaluando el sistema anterior en los valores propios calculados, se desprende que


una base para el espacio de los vectores propios está dada por las columnas de la
matriz  
1 1 1
V =  3/2 1 3/2
−1 0 1/2
Donde la primera columna se asocia al valor propio λ = −1, la segunda a λ = 1,
y la tercera a λ = 2.
Con esto, desde la definición de valores y vectores propios, se puede escribir
AV = VD, con D = diag {−1, 1, 2}. Como V es invertible, entonces A = VDV−1
es diagonalizable.

Ejemplo 2.28 (Integral de convolución).


Interesa resolver la siguiente integral matricial:
Z t
xF (t) = e−Aτ Bu(τ)dτ,
0

MPC 2023-1 80 Análisis de Sistemas


donde A ∈ Rn×n , B ∈ Rn×1 y u(t) ∈ R es una función clase C N (diferenciable N
veces).
Si la matriz A es diagonalizable, tenemos que A = VDV−1 , donde los ele-
mentos del a matriz diagonal D = diag {λi }λ ∈eig{A} corresponden a los valores
i
propios, λi , de la matriz A. Además, se sabe que
−1
e−Aτ = e−VDV τ
= Ve−Dτ V−1 .

Notar que la matriz exponencial en la última expresión es diagonal tal que:


n o
e−Dτ = diag e−λi τ .
λi ∈eig{A}

Con esto, la integral puede escribirse como:


Z t
xF (t) = Ve−Dτ V−1 Bu(τ)dτ
0
Z t n o 
−λi τ
=V diag e u(τ)dτ V−1 B
0 λi ∈eig{A}
Z t n o 
=V diag e−λi τ u(τ) dτ V−1 B
0 λi ∈eig{A}
!
t
Z 
= V diag e−λi τ u(τ)dτ V−1 B
0 λi ∈eig{A}

Es decir, la integral matricial se reduce a n integrales escalares que pueden resol-


verse analíticamente.

Ejemplo 2.29 (Ecuación diferencial de segundo orden).

Interesa encontrar la función y(t) tal que se cumpla que:

ÿ(t) + y(t) = 1

Lo anterior se puede rescribir como


      
ẏ 0 1 y 0
= + ·1
ẋ −1 0 x 1

En este caso, la matriz de estados se puede descomponer como:


       
0 1 1 1 ȷ̂ 0 1 1 −ȷ̂
A := = · ·
−1 0 ȷ̂ −ȷ̂ 0 −ȷ̂ 2 1 ȷ̂

MPC 2023-1 81 Análisis de Sistemas


Luego,
   ȷ̂t   
At 1 1 1 e 0 1 −ȷ̂
e = · ·
2 ȷ̂ −ȷ̂ 0 e−ȷ̂t 1 ȷ̂
− −(e − e−ȷ̂t )ȷ̂
 ȷ̂t ȷ̂t ȷ̂t

1 e +e
=
2 (eȷ̂t − e−ȷ̂t )ȷ̂ eȷ̂t + e−ȷ̂t
 
cos(t) sin(t)
=
− sin(t) cos(t)

Notar que la inversa de la matriz de estados corresponde a


   −1  
1 1 ȷ̂ 0 1 1 −ȷ̂
A−1 = · ·
ȷ̂ −ȷ̂ 0 −ȷ̂ 2 1 ȷ̂
     
1 1 −ȷ̂ 0 1 1 −ȷ̂
= · ·
ȷ̂ −ȷ̂ 0 ȷ̂ 2 1 ȷ̂
     
1 1 ȷ̂ 0 1 1 −ȷ̂
=− · ·
ȷ̂ −ȷ̂ 0 −ȷ̂ 2 1 ȷ̂
= −A

Además,
Z t Z t
eA(t−τ) Bu(τ)dτ = eA(t−τ) Bdτ
0 0
 
= eAt − I A−1 B
   
cos(t) − 1 sin(t) 0 −1 0
=
− sin(t) cos(t) − 1 1 0 1
  
cos(t) − 1 sin(t) −1
=
− sin(t) cos(t) − 1 0
 
1 − cos(t)
=
sin(t)

Con esto, tenemos que la respuesta del sistema viene dada por:
Z t    
cos(t) sin(t) 1 − cos(t)
x(t) = eAt x(0) + eA(t−τ) Bu(τ)dτ = x(0) +
0 − sin(t) cos(t) sin(t)

Donde el primer elemento del vector de estados corresponde a la señal y(t) y el


segundo a su derivada. Es decir:
 
y(t) = 1 0 x(t) = cos(t)y(0) + sin(t)ẏ(0) + 1 − cos(t)

MPC 2023-1 82 Análisis de Sistemas


Ejemplo 2.30 (Entrada exponencial).

Esta vez considere:


ÿ(t) + y(t) = et
En este caso, no es tan inmediato calcular la respuesta forzada del sistema:
Z t Z t
eA(t−τ) Bu(τ)dτ = eAt e−Aτ Bu(τ)dτ
0 0
Z t    −ȷ̂τ     
1 1 1 e 0 1 −ȷ̂ 0 τ
= eAt · · · e dτ
0 2 ȷ̂ −ȷ̂ 0 eȷ̂τ 1 ȷ̂ 1
Z t   (1−ȷ̂)τ   
1 1 1 e 0 −1
= ȷ̂eAt · · dτ
2 0 ȷ̂ −ȷ̂ 0 e(1+ȷ̂)τ 1
  (1−ȷ̂)τ 
1 At t 1 1
Z 
−e
= ȷ̂e · (1+ȷ̂)τ dτ
2 0 ȷ̂ − ȷ̂ e
  Z t  (1−ȷ̂)τ 
1 ȷ̂ ȷ̂ −e
= eAt dτ
2 −1 1 0 e(1+ȷ̂)τ
" 1 #t
ȷ̂ − 1−ȷ̂ e(1−ȷ̂)τ

1 At ȷ̂
= e 1 (1+ȷ̂)τ
2 −1 1 1+ȷ̂ e 0
  
1 (1− ȷ̂)t
ȷ̂ − 1−ȷ̂ e −1
 
1 At ȷ̂
= e 
2 −1 1 1
e(1+ȷ̂)t − 1
1+ȷ̂
..
.
 t 
1 At e (cos(t) − sin(t)) − 1
= e
2 et (cos(t) + sin(t)) − 1

Asumiendo condiciones iniciales nulas, entonces la solución de la ecuación difer-


encial viene dada por el primer elemento del vector de estados. Esto es,
    Z t A(t−τ)
y(t) = 1 0 x(t) = 1 0 e Bu(τ)dτ
0
   t 
  1 cos(t) sin(t) e (cos(t) − sin(t)) − 1
= 1 0 · t
2 − sin(t) cos(t) e (cos(t) + sin(t)) − 1
 t 
1  e (cos(t) − sin(t)) − 1
= cos(t) sin(t) · t
2 e (cos(t) + sin(t)) − 1
1 t
e cos(t) (cos(t) − sin(t)) − cos(t) + et sin(t) (cos(t) + sin(t)) − sin(t)

=
2
1 t 
= e − cos(t) − sin(t)
2

MPC 2023-1 83 Análisis de Sistemas


2.5 Ejercicios propuestos
2.5.1 Ecuaciones diferenciales
E 2.1: EDOs. Grafique las soluciones de las siguientes ecuaciones diferenciales ante
condición inicial arbitraria.

d d
a) dt y(t) + y(t) = a, a>0 f) dt y(t) + 2y(t) = 10
   
d2 −4 1 1
b) dt 2
y(t) + y(t) = a, a>0 g) ẋ(t) = x(t) + , y(t) =
2 −3 2
d3
 
c) y(t) + y(t) = a, a > 0 4 10 x(t) + 1.
dt 3
   
d 4 1 1
d) dt y(t) + y(t) = a sin(ωt), a > 0, ω > 0 h) ẋ(t) = x(t) + , y(t) =
2 3 2
d −σt ,
 
e) dt y(t) + y(t) = ae a > 0, σ > 0 4 10 x(t) + 1.

E 2.2: Espacio de estados. Escriba las ecuaciones de diferencias en el ejercicio


anterior de la forma
ẋ(t) = Ax(t) + Bu(t)
y encuentre su solución utilizando la expresión general de la misma.
E 2.3: ode45. Escriba un programa que resuelva las siguientes ecuaciones diferen-
ciales mediante métodos nativos del lenguaje utilizado. Grafique la evolución temporal
de la solución desde una condición inicial arbitraria.

d
a) dt y(t) + 2y(t) = 10 50t)
d2
b) dt 2
y(t) + 3 dtd y(t) + 5y(t) = 1 e) d2
y(t) + 3 dtd y(t) + 5y2 (t) = sin(2π ·
dt 2
d2 50t)
c) dt 2
y(t) + 3 dtd y(t) + 5y(t) = sin(2π ·
50t) d2
f) dt 2
y(t)+ 3 dtd y(t) + 5 sin(y2 (t)) =
2
d) dtd 2 y(t) + 3 dtd y(t) + 5y(t) = sin(2π ·

sin(2π · 50t)

2.5.2 Matrices y valores propios


E 2.4: Lambda. Encuentre los valores propios de las siguientes matrices y grafíquelos
en el plano complejo.
   
2 0 a b
a) A = . c) A = , con {a, b, c, d} ⊂ R.
7 3 c d

   
2 −1 σ ω
b) A = . d) A = , con {σ , ω} ⊂ R.
7 3 −ω σ

MPC 2023-1 84 Análisis de Sistemas


   
5 1 0 λ1 a b c
e) A = 0
 5 1.  0 λ2 d e
g) A =  , con
1 0 5  0 0 λ3 f
0 0 0 λ4
{a, b, c, d, e, f } ⊂ R.
 
  λ1 1 a b
a b c  0 λ1 c d
h) A =   , con
f) A = 0 1 ω , con {a, b, c, ω} ⊂ 0 0 λ2 0
0 −ω 1 0 0 1 λ2
R y a > 0. {a, b, c, d} ⊂ R.

E 2.5: Preguntas.
• ¿Cuáles son los valores propios de una matriz diagonal?
• ¿Cuáles son los valores propios de una matriz triangular?
• ¿Cuáles son los valores propios de una matriz diagonal por bloques?
• ¿Cuáles son los valores propios de una matriz triangular por bloques?

E 2.6: Demostraciones. Para una matriz arbitraria A ∈ Rn×n , considerando que los
valores (λ ) y vectores (v) propios cumplen con Av = λ v, demuestre los siguientes
enunciados:
k
a) si T ∈ Cn×n es invertible, entonces TAT−1 = TAk T−1 , ∀k ∈ N (ayuda: use
inducción).
b) si λ ∈ eig {A}, entonces kλ ∈ eig {kA}, ∀k ∈ R (ayuda: use Av = λ v).
c) si T ∈ Cn×n es invertible y λ ∈ eig {A}, entonces λ ∈ eig TAT−1 (ayuda: use


w = Tv).
d) si λ ∈ eig {A}, entonces λ m ∈ eig {Am }, ∀m ∈ N0 (ayuda: use inducción).
e) si v es un vector propio de A y de B, entonces v es un vector propio de A + B.

E 2.7: Exponencial. Considere la función exponencial de matrices:



1 1 1
eA := ∑ k! Ak = I + A + 2! A2 + ... + k! Ak + ....
k=0

Demuestre que
−1
a) eTAT = TeA T−1
d At
b) = AeAt = eAt A
dt e
   
c) 0T eA(T −σ ) dσ = eAT − I A−1 = A−1 eAT − I
R

MPC 2023-1 85 Análisis de Sistemas


n o
d) λ ∈ eig {A} =⇒ eλ ∈ eig eA

e) si v es un vector propio de A, entonces v es también un vector propio de eA .

E 2.8: EDO. Escriba un programa que defina una matriz A ∈ Rn×n con valores propios
en el semi-plano izquierdo, y matrices aleatorias B ∈ Rn×1 y C ∈ R1×n . A partir de una
condición inicial arbitraria x0 ∈ Rn , el programa debe graficar en el intervalo t ∈ [0, 10]
la solución y(t) ∈ R de la ecuación diferencial

ẋ(t) = Ax(t) + Bu(t)


y(t) = Cx(t)

con una entrada constante u(t) ∈ R.

2.5.3 Discretización
E 2.9: Discretización. Considere la ecuación diferencial

ẋ(t) = −2x(t) + 1

con condición inicial nula. Grafique su solución x(t) e identifique en el gráfico las cinco
primeras observaciones de un sensor digital que muestrea a una tasa de T = 0, 5[s].
E 2.10: Muestreo. Considere las siguientes funciones, con parámetros arbitrarios:
 
f (t) = A 1 − e−t/τ
f (t) = A sin(ωt + φ )
(
0, t <θ
f (t) =

A 1−e −(t−θ )/τ , t ≥θ

Basado en un ciclo for, escriba un programa que determine las primeras N observa-
ciones de un sensor digital con tasa de muestreo T > 0 para cada función. Grafique
las funciones como una línea curva y destaque sobre ella las observaciones del sensor
determinadas anteriormente.
E 2.11: Sistemas. Encuentre los sistemas equivalentes en tiempo discreto de los
siguientes sistemas en tiempo continuo.

d d
a) dt y(t) + y(t) = u(t) e) dt y(t) + 2y(t) = 10u(t − 2)
d2
b) dt 2
y(t) + y(t) = u(t)
   
c) d3
y(t) + y(t) = u(t) 0 a 1
dt 3 f) ẋ(t) = x(t) + u(t), y(t) =
b c 0
d
 
d) dt y(t) + 2y(t) = 10u(t) 1 0 x(t) + u(t).

MPC 2023-1 86 Análisis de Sistemas


E 2.12: Simulación. Escriba un programa que tome las matrices que describen un
sistema lineal en tiempo continuo (A, B, C, D), encuentre su equivalente discretizado,
y simule su comportamiento ante entradas escalonadas. Base su código en un ciclo
for. El programa debe graficar las entradas, los estados, y salidas del sistema.

2.5.4 Ecuaciones de diferencias


E 2.13: Diferencias. Grafique las soluciones de las siguientes ecuaciones de diferen-
cias ante condición inicial arbitraria.

a) y(k + 1) + 12 y(k) = 1 g) y(k + 1) + y(k) = ae−σ k , a > 0, σ > 0

b) y(k + 1) + 23 y(k) = 1    
−4 1 1
c) y(k + 1) + y(k) = 1 + a, a > 0 h) x(k + 1) = x(k) + ,
  2 −3 2
d) y(k + 2) + y(k) = 1 + a, a > 0 y(k) = 4 10 x(k) + 1.

e) y(k + 3) + y(k) = 1 + a, a > 0    


0, 4 1, 0 1
i) x(k + 1) = x(k) + ,
f) y(k +1)+y(k) = a sin(Ωk), a > 0, Ω >   0 0, 3 2
0 y(k) = 4 10 x(k) + 2.

E 2.14: Espacio de estados. Escriba las ecuaciones de diferencias en el ejercicio


anterior de la forma
x(k + 1) = Ax(k) + Bu(k)
y encuentre su solución utilizando la expresión general de la misma.
E 2.15: Transición. Determine las matrices de transición discretas y continuas de las
siguientes matrices:
 
a11 0
a) A =
0 a22
 
0 a12
b) A =
a21 0
 
0 1
c) A =
−1 0

2.5.5 Sistemas no lineales


E 2.16: Lineales. Linealice los siguientes sistemas en torno a un punto de operación.

d 2 d
a) dt y(t) + y (t) = u(t) c) dt y(t) + sin(y(t)) = u(t)

d d
b) dt y(t) + |y(t)|y(t) = u(t) d) dt y(t) + u(t) sin(y(t)) = 0

MPC 2023-1 87 Análisis de Sistemas


e) y(k + 1) + y2 (k) = u(k) g) y(k + 1) + y(k)ea·u(k) = 0
f) y(k + 1) + y(k)u(k) = 0

E 2.17: Sistemas Eléctricos. Para los sistemas descritos más abajo, desarrolle lo
siguiente:
• Identifique parámetros, señales de entrada, perturbaciones, estados y posibles
salidas.

• Linealice el sistema en torno a un punto de operación. ¿Es la respuesta ho-


mogénea de este sistema convergente al equilibrio?

True RMS
vz
R
vi (t) AD538
+
vo (t)
vy C −
vx

La salida del circuito multiplicador AD538, que llamaremos v′i (t), corresponde a

vy (t)vz (t)
v′i (t) = .
vx (t)

Donde el voltaje vi (t) > 0 se impone desde una fuente, y el voltaje vo (t) > 0 es el
resultado de la medición a través del circuito.
El filtro RC previo al amplificador operacional se comporta de tal forma que:

dvo
CR = −vo (t) + v′i (t).
dt

Boost
L v(t)
i(t)

e(t) Sw C R

MPC 2023-1 88 Análisis de Sistemas


Modelo promedio:

di
e(t) − L = (1 − d(t))v(t)
dt
dv v(t)
(1 − d(t))i(t) = C +
dt R
Donde d(t) ∈ [0, 1] corresponde al ciclo de trabajo manipulable del interruptor,
v(t) al voltaje del condensador, i(t) a la corriente en el inductor, y e(t) a un voltaje
no manipulable. El sistema opera nominalmente con d(t) = Do = 0.5 y e(t) =
Eo = 12[V ]. R = 10[Ω], L = 0.5[mH], y C = 50[µF] se consideran parámetros
constantes del modelo.

Buck-Boost
Sw v(t)

e(t) L C R

i(t)

Modelo promedio:

di
L = d(t)e(t) + (1 − d(t))v(t)
dt
dv v(t)
0 = (1 − d(t))i(t) +C +
dt R
Donde d(t) ∈ [0, 1] corresponde al ciclo de trabajo manipulable del interruptor,
v(t) al voltaje del condensador, i(t) a la corriente en el inductor, y e(t) a un voltaje
no manipulable. El sistema opera nominalmente con d(t) = Do = 0.5 y e(t) =
Eo = 12[V ]. R = 10[Ω], L = 0.5[mH], y C = 50[µF] se consideran parámetros
constantes del modelo.

Panel fotovoltaico

VD Rs
I V

I ph Rp
ID

La figura muestra un modelo circuital típico para una celda fotovoltaica con re-

MPC 2023-1 89 Análisis de Sistemas


sistencias en serie Rs y paralelo R p . Desde un análisis de mallas y nodos, se
pueden desprender las siguientes ecuaciones:
1
I ph = ID + VD + I
Rp
V = VD − Rs I

Donde I ph corresponde a la corriente inducida en el semiconductor por los fotones


de luz; la corriente I corresponde a la salida de potencia de la celda PV; y el
voltaje V puede ser manipulado para maximizar la potencia de salida del sistema.
La relación entre la corriente (ID ) y el voltaje (VD ) del diodo corresponde a la
ecuación de Shockley:  
ID = IDSS e /n ·V − 1
V D T

donde la corriente de saturación del diodo (IDSS ), el voltaje térmico (VT ) y la con-
stante de idealidad n, son todos parámetros de la ecuación de Shockley y dependen
de la construcción del panel y de la temperatura a la cual se está operando.

Máquina Sincrónica
Una máquina sincrónica se modela habitualmente a través de la ecuación del pén-
dulo en por unidad:

2Mω(t) dω
= ω(t)Tm (t) − Pe (t) − b(ω(t) − ωo ),
ωo dt

Donde la frecuencia eléctrica corresponde a ω(t), con un valor nominal de op-


eración ωo = 2π · 60[rad/s]; el torque mecánico en el eje de la máquina corre-
sponde a Tm (t) que en operación nominal corresponde To = 1; y la potencia eléc-
trica en los terminales de la máquina corresponden a Pe (t) y en operación nominal
corresponde a Po > 0. M = 3.5 y b = 10 se consideran parámetros constantes del
modelo.

Inversor en Línea Inductiva

X
V δ I E 0

MPC 2023-1 90 Análisis de Sistemas


Modelo de inversor controlado por droop:

δ̇ (t) = k p (Pre f (t) − P(t))

Donde δ (t) es el ángulo de desfase con respecto al bus infinito que opera nomi-
nalmente a δ (t) = δo > 0; Pre f (t) es una referencia de la potencia que el inversor
inyecta al bus infinito, en operación nominal Pre f (t) = Po = 2.5[kW ]. La potencia
eléctrica transmitida por la línea corresponde a:

V E(t)
P(t) = sin δ (t)
X
Donde la amplitud de voltaje en el bus infinito corresponde a E(t) que en op-
eración nominal corresponde a E(t) = V = 220[V ]. k p = 1/2Po , y X = 2π · 50[Hz] ·
2.5[mH] se consideran parámetros constantes del modelo.

Nodo de micro-red DC

v(t) R1 e(t)

+
R2

Modelo de la fuente regulable de voltaje


1 1
v̇(t) = − v(t) + u(t)
τ τ
Donde v(t) es el voltaje inducido por la fuente; u(t) es una consigna de control;
y τ = 0, 01 es la constante de tiempo. La potencia eléctrica que la fuente inyecta
corresponde a:
 
1 1 e(t)
P(t) = v(t)i(t) = + v2 (t) − v(t)
R1 R2 R1

En operación nominal e(t) = E = 24[V ] y v(t) = E. Los valores de las resistencias


corresponden a R1 = 0, 1[Ω] y R2 = 10[Ω].

MPC 2023-1 91 Análisis de Sistemas


3 Señales
3.1 Señales como funciones

Definición 3.1 (Soporte). El soporte de una señal x(t) son los intervalos de tiempo
donde la señal no es idénticamente nula. D(x(t)) = {t ∈ R|x(t) ̸= 0}.
• Definición 3.1.1 (Soporte positivo). Una señal tiene soporte positivo si D =
R+
• Definición 3.1.2 (Soporte negativo). Una señal tiene soporte negativo si D =
R−

Definición 3.2 (Simetría). Una señal es simétrica (o par) si x(t) = x(−t).

Definición 3.3 (Antisimetría). Una señal es antisimétrica (o impar) si x(t) =


−x(−t).

Definición 3.4 (Periocidad). Una señal es períodica de período T > 0 si x(t) =


x(t + k · T ), ∀k ∈ Z.

Definición 3.5 (Ortogonalidad). Dos señales x1 (t) y x2 (t), son ortognales en [a, b]
sii Z b
< x1 (t), x2 (t) >= x1 (t)x2 (t)dt = 0
a

MPC 2023-1 92 Análisis de Sistemas


3.2 Señales importantes
3.2.1 Tiempo continuo

Ejemplo 3.1 (Heaviside). Considere la señal:


1
Hε (t) :=
1 + e−2t/ε
donde 0 < ε ≪ 1 es arbitrariamente pequeño.
Para un valor de muestre pequeño T > 0, su derivada se puede aproximar por
un diferencial discreto:
d 2 1
δε (t) := Hε (t) =
dt εe 2t/ε + 2 + e−2t/ε
Hε (t) − Hε (t − T )

T
Similarmente, su integral se puede aproximar por trapecios:
Z t
rε (t) := Hε (τ)dτ
0
t/T
1
≈ ∑ 2 (Hε (kT ) + Hε (kT − T )) T
k=1

El Código 3.1 realiza lo anterior para un valor de ε > 0 particular. Es posible


notar que en la medida que este valor se aproxima a cero, la función Hε (t) tiende
a ser cada vez más abrupta, su derivada δε (t) alcanza cada vez mayores valores,
y la integral rε (t) se aproxima cada vez más a una recta con pendiente positiva.
Esto se muestra en la imagen más adelante.

Código 3.1: Escalones, impulsos y rampas (A3C1_heaviside.m)


1 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2 Hep = @(t,epsilon) 1./(1 + exp(−2*t./epsilon)); %una funciOn
3 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4 epsilon = 0.01; %un parAmetro
5 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6 T = 1e−3;
7 tt = −1:T:1; %un vector de tiempo
8 HH = Hep(tt,epsilon); %la funciOn evaluada en el tiempo
9 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10 %aproximemos su derivada
11 DD = zeros(1,length(tt));
12 for kk=2:length(tt),
13 DD(kk) = (HH(kk) − HH(kk−1))/T;
14 end
15 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
16 %aproximemos su integral

MPC 2023-1 93 Análisis de Sistemas


17 RR = zeros(1,length(tt));
18 for kk=2:length(tt),
19 RR(kk) = RR(kk−1) + T*(HH(kk) + HH(kk−1))/2;
20 end

Hǫ (t)
1

0.5

0
-1 -0.5 0 0.5 1

δ ǫ (t)
20

10

0
-1 -0.5 0 0.5 1

rǫ (t)
1.5

0.5

0
-1 -0.5 0 0.5 1

epsilon=0.200
epsilon=0.100
epsilon=0.050
epsilon=0.025

MPC 2023-1 94 Análisis de Sistemas


Definición 3.6 (Señales de prueba continuas).
• Definición 3.6.1 (Impulso (delta de Diraca )).

0 , t ̸= 0
δ (t) =
+∞ , t = 0

f (t)

δ (t) δ (t − t0 )

• Definición 3.6.2 (Escalón (Función de Heavisideb )).



1 , t ≥0
H(t) =
0 , t <0

f (t)
H(t − t0 )

• Definición 3.6.3 (Rampa).



t , t ≥0
r(t) =
0 , t <0

f (t)
r(t − t0 )

t
a https://en.wikipedia.org/wiki/Paul_Dirac
b https://en.wikipedia.org/wiki/Oliver_Heaviside

MPC 2023-1 95 Análisis de Sistemas


Notar que:
d d
r(t) = H(t) H(t) = δ (t)
dt dt
Z t Z t
r(t) = H(τ)dτ H(t) = δ (τ)dτ
−∞ −∞

Definición 3.7 (Otras señales habituales).


• Definición 3.7.1 (Exponencial).

f (t) = e(σ +ȷ̂ω)t = eσt (cos(ωt) + ȷ̂ sin(ωt))

• Definición 3.7.2 (Sinusoidal).

f (t) = A sin(ωt + φ ) = A sin(2π f · t + φ )

Ejemplo 3.2 (Señales por tramos).

y(t) = H(t − a) − 2H(t − b)

y(t) = (t − a)H(t − a) − 2(t − b)H(t − b)

MPC 2023-1 96 Análisis de Sistemas


3.2.2 Tiempo discreto

Definición 3.8 (Señales de prueba discretas).


• Definición 3.8.1 (Impulso discreto).

0 , k ̸= 0
δ (k) =
1 , k=0

f (k)

δ (k) δ (k − k0 )

• Definición 3.8.2 (Escalón discreto).



1 , k≥0
H(k) =
0 , k<0

f (k)
H(k − k0 )

MPC 2023-1 97 Análisis de Sistemas


• Definición 3.8.3 (Rampa discreta).

k , k≥0
r(k) =
0 , k<0

f (k)

r(k − k0 )

Notar que:
r(k + 1) − r(k) = H(k) H(k + 1) − H(k) = δ (k)
k k
r(k) = ∑ H(k − i − 1) H(k) = ∑ δ (k − i)
i=0 i=0
Muestreador ideal:

y(k) = ∑ y(iT )δ (k − i)
i=0
Retentor:

y(t) = ∑ y(i) (H(t − iT ) − H(t − iT − T ))
i=0

Definición 3.9 (Otras señales habituales).


• Definición 3.9.1 (Exponencial muestreada).

f (k) = e(σ +ȷ̂ω)T k = eσ T k (cos(ωT k) + ȷ̂ sin(ωT k))

• Definición 3.9.2 (Sinusoidal muestreada).

f (k) = A sin(ωT k + φ ) = A sin(2π f · T k + φ )

Teorema 3.1 (Muestreo de Nyquista ). Si la frecuencia más alta de una señal


períodica análoga f (t) es fmax , y la señal se muestreea a una frecuencia
fmuestreo = 1/T > 2 fmax , entonces la señal f (t) se puede recuperar totalmente a
partir de las muestras.
a https://en.wikipedia.org/wiki/Harry_Nyquist

MPC 2023-1 98 Análisis de Sistemas


Ejemplo 3.3 (Nyquist).

0.5

-0.5

-1

0.5

-0.5

-1

0.5

-0.5

-1

Código 3.2: Escalones, impulsos y rampas (A3C2_nyquist.m)


1 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2 % tiempo 'continuo'
3 Tini = 0;
4 Tsim = 1e−4;
5 Tfin = 60e−3;
6 t = Tini:Tsim:Tfin;
7 %funciON sinusoidal
8 f = 50;
9 phi = acos(0.98);
10 A = 1;
11
12 y = A*sin(2*pi*f*t + phi); %frec f
13 y2 = A*sin(2*pi*f*2*t + phi); %frec 2f
14 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
15 % mal muestreado
16 T1 = 1/f;
17 t1 = Tini:T1:Tfin;
18 yk1 = A*sin(2*pi*f*t1 + phi);
19 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
20 % Muestreo a frecuencia de nyquist
21 T2 = 1/f/2;

MPC 2023-1 99 Análisis de Sistemas


22 t2 = Tini:T2:Tfin;
23 yk2 = A*sin(2*pi*f*t2 + phi);
24 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
25 % Muestreo a frecuencia rApida
26 T3 = 1/f/10;
27 t3 = Tini:T3:Tfin;
28 yk3 = A*sin(2*pi*f*t3 + phi);

3.3 Transformaciones en el dominio del tiempo

Problema Solución

Transformación Anti-Transformación

Problema Solución
Transformado Transformada

3.3.1 Transformaciones simples


Transformación sobre variable dependiente
f (t) 7→ α f (t) + β
• |α| > 1: Amplificación.
• |α| < 1: Atenuación.
• α < 0: Reflexión con respecto al eje g(t) = β .
• β > 0: corrimiento hacia arriba.
• β < 0: corrimiento hacia abajo.
• α = 1/( fmax − fmin ) y β = − fmin /( fmax − fmin ): Normalización de recorrido.

Transformación sobre variable independiente


f (t) 7→ f (at + b)
• |a| > 1: Compresión.
• |a| < 1: Dilación.
• a < 0: Reflexión con respecto al eje t = b.
• b > 0 y a > 0: desplazamiento a la izquierda.
• b < 0 y a > 0: desplazamiento a la derecha.

MPC 2023-1 100 Análisis de Sistemas


3.3.2 Convolución

Definición 3.10 (Convolución continua).


Z +∞
f (t) ∗ g(t) = f (t − τ)g(τ)dτ = h(t)
−∞

Si g(t) tiene soporte positivo:


Z +∞
f (t) ∗ g(t) = f (t − τ)g(τ)dτ
−∞
Z 0 Z +∞
= f (t − τ)g(τ)dτ + f (t − τ)g(τ)dτ
−∞ 0
Z +∞
= f (t − τ)g(τ)dτ
0

Si f (t) tiene soporte positivo:


Z +∞
f (t) ∗ g(t) = f (t − τ)g(τ)dτ
−∞
Z −∞
=− f (x)g(t − x)dx, x = t − τ
+∞
Z +∞
= f (x)g(t − x)dx
−∞
Z +∞
= f (x)g(t − x)dx
0
Z −∞
=− f (t − τ)g(τ)dτ
t
Z t
= f (t − τ)g(τ)dτ
−∞

Si g(t) y f (t) tienen soporte positivo:


Z +∞
f (t) ∗ g(t) = f (t − τ)g(τ)dτ
−∞
Z t
= f (t − τ)g(τ)dτ
0

MPC 2023-1 101 Análisis de Sistemas


Ejemplo 3.4 (Convolución).
Encuentre
y(t) = e−λt ∗ (H(t − a) − H(t − b))
con b > a > 0, y H(t) la función escalón.
R: Notar que

1, a ≤ t ≤ b
H(t − a) − H(t − b) =
0, e.o.c.

Luego, desde la definición de convolución tenemos:

y(t) = e−λt ∗ (H(t − a) − H(t − b))


Z +∞
= e−λ (t−τ) (H(t − a) − H(t − b)) dτ
−∞
Z b
= e−λ (t−τ) 1dτ
a
Z b
= e−λt eλ τ dτ
a
!
−λt 1 λ τ b
=e e
λ a
1 −λt  λ b 
= e e − eλ a
λ
1 1
= e−λ (t−b) − e−λ (t−a)
λ λ

Propiedades de la convolución continua


• Conmutatividad: f (t) ∗ g(t) = g(t) ∗ f (t).
Z +∞
f (t) ∗ g(t) = f (t − τ)g(τ)dτ
−∞
Z +∞
= f (x)g(t − x)dx
−∞
Z +∞
= g(t − x) f (x)dx
−∞
= g(t) ∗ f (t)

• Distributividad con respecto a la suma: f (t) ∗ (g(t) + h(t)) = f (t) ∗ g(t) + f (t) ∗
h(t).
• Asociatividad: f (t) ∗ (g(t) ∗ h(t)) = ( f (t) ∗ g(t)) ∗ h(t).

MPC 2023-1 102 Análisis de Sistemas


• Convolución con un impulso desplazado:
Z +∞
f (t) ∗ δ (t − t0 ) = f (t − τ)δ (τ − t0 )dτ
−∞
Z +∞
= f (t − σ − t0 )δ (σ )dσ
−∞
Z +∞
= f (t − t0 )δ (σ )dσ
−∞
Z +∞
= f (t − t0 ) δ (σ )dσ
−∞
= f (t − t0 )

• Convolución con escalón:


Z +∞
f (t) ∗ H(t) = f (t − τ)H(τ)dτ
−∞
Z +∞
= f (t − τ)1dτ
0
Z −∞
=− f (σ )dσ
t
Z t
= f (σ )dσ
−∞

Definición 3.11 (Convolución discreta).


+∞
f (k) ∗ g(k) = ∑ f (k − i)g(i)
i=−∞

3.4 Transformada de Laplace


Una integral converge de forma simple si
Z +∞

f (t)dt < M < ∞.
−∞

Definición 3.12 (Transformada de Laplacea ).


Z +∞
L { f (t)} = F(s) = f (t)e−st dt
0

con f (t) ∈ R, t ∈ R+ y s = σ + ȷ̂ω ∈ C.

a https://en.wikipedia.org/wiki/Pierre-Simon_Laplace

MPC 2023-1 103 Análisis de Sistemas


Notar que la función F(σ + ȷ̂ω) converge sólo para algunos valores de s = σ + ȷ̂ω ∈ C.

La abscisa de convergencia absoluta es el valor σc para el cual se cumple que L { f (t)}


converge ∀σ > σc . (define el dominio de la función F(s)).

Ejemplo 3.5 (Transformadas básicas).

• L {δ (t)} = 1
Z +∞
L {δ (t)} = δ (t)e−st dt
0
Z +∞
= δ (t)e−s·0 dt
0
Z +∞
= δ (t) · 1dt
−∞
Z τ
= lim δ (t)dt
τ→+∞ −∞

= lim H(τ)
τ→+∞
=1

• L {H(t)} = 1/s
Z +∞
L {H(t)} = H(t)e−st dt
0
Z +∞
= 1 · e−st dt
0
1 −st +∞

=− e
s 0
1
= − (0 − 1)
s
1
=
s

MPC 2023-1 104 Análisis de Sistemas


• L {r(t)} = 1/s2
Z +∞
L {r(t)} = r(t)e−st dt
0
Z +∞
= t · e−st dt
0
u = t =⇒ du = dt
dv = e−st dt =⇒ v = −est /s
 +∞
−1 −st −1 −st
Z
= t· e − e dt
s s 0
−t −st 1 −st +∞
 
= e − 2e
s s 0
   
−t −st 1 −st −0 −s·0 1 −s·0
= lim e − 2e − e − 2e
t→+∞ s s s s
1
= 2
s

• L {e−at H(t)} = 1/(s + a)


Z +∞
L e−a·t H(t) = e−a·t e−st dt

0
Z +∞
= e−(a+s)t dt
0
−1 −(a+s)t +∞

= e
a+s
0
−1
= (0 − 1)
a+s
1
=
a+s

Definición 3.13 (Transformada de Laplace inversa).


Z c1 +ȷ̂ω
1
f (t) = L −1 {F(s)} = lim f (s)ets ds
2π ȷ̂ ω→∞ c1 −ȷ̂ω

con c1 > σc

Ejemplo 3.6 (Fracciones Parciales). Para demostrar que


 
−1 a
L = H(t) − e−at H(t)
s(s + a)

MPC 2023-1 105 Análisis de Sistemas


se puede separar la expresión por fracciones parciales:
   
−1 a −1 A B
L =L +
s(s + a) s s+a

Para obtener los coeficientes A y B, es necesario desarrollar las fracciones par-


ciales e igualar los polinomios en el numerador:

A B A(s + a) + Bs
+ =
s s+a s(s + a)
(A + B)s + Aa
=
s(s + a)
! a
=
s(s + a)

Desde donde se tiene que se deben cumplir las siguientes relaciones:

A+B = 0
Aa = a

Con ello, A = 1 y B = −1, y


   
−1 a −1 1 1
L =L −
s(s + a) s s+a

Como ya conocemos L {H(t)} = 1/s y L {e−at H(t)} = 1/(s + a), podemos encon-
trar la señal solicitada haciendo:
   
a 1 1
L −1 = L −1 −
s(s + a) s s+a
   
−1 1 −1 1
=L −L
s s+a
= H(t) − e−at H(t)
= 1 − e−at H(t)


1, 00

0, 63

MPC 2023-1 106 Análisis de Sistemas


Definición 3.14 (Transformada de Laplace bilateral).
Z +∞
L2 { f (t)} = f (t)e−st dt
−∞

con f (t) ∈ R, t ∈ R+ y s = σ + ȷ̂ω ∈ C.

Linealidad:
Z +∞
L {α f1 (t) + β f2 (t)} = (α f1 (t) + β f2 (t)) e−st dt
0
Z +∞ Z +∞
−st
=α f1 (t)e dt + β f2 (t)e−st dt
0 0

L {α f1 (t) + β f2 (t)} = αF1 (s) + β F2 (s)

Escalamiento en el tiempo:
Z +∞
L { f (at)} = f (at)e−st dt, τ = at =⇒ dτ = adt
0
Z +∞
1
= f (τ)e−(s/a)τ dτ
a 0

1
L { f (at)} = F(s/a)
a

Desplazamiento en el tiempo:
Z +∞
L { f (t − a)} = f (t − a)e−st dt, τ = t − a =⇒ dτ = dt
0
Z +∞
= f (τ)e−s(τ+a) dτ
0
Z +∞
= f (τ)e−sτ e−sa dτ
0
Z +∞
= e−sa f (τ)e−sτ dτ
0

L { f (t − a)} = e−sa F(s)

Desplazamiento en frecuencia:
Z +∞
L f (t)e−at = f (t)e−at e−st dt

0
Z +∞
= f (t)e−(a+s)t dt
0

MPC 2023-1 107 Análisis de Sistemas


L f (t)e−at = F(s + a)


Derivación en el tiempo:
Z +∞
L { f (t)} = f (t)e−st dt
0
Z +∞  
d 1
= f (t) − e−st dt
0 dt s
Regla de la cadena ("un valiente soldado vestido de uniforme"):
dv du
Z Z
u dt = uv − v dt
dt dt
Luego,
  +∞ Z +∞  
1 1 df
L { f (t)} = f (t) − e−st − − e−st

dt
s 0 0 s dt
1 1 +∞ d f −st
Z
= f (0) + e dt
s s 0 dt
 
1 1 df
= f (0) + L
s s dt
Por lo tanto, si f (0) = 0,
 
df
L = sF(s)
dt
Repitiendo el proceso:
dn f
 
L = sn F(s)
dt n

Integración en el tiempo:
Z +∞
L { f (t)} = f (t)e−st dt
0
Z +∞ Z t 
d
= e−st f (τ)dτ dt
0 dt 0
Z t +∞ Z +∞ Z t 
−st
d −st 
=e f (τ)dτ −
f (τ)dτ e dt
0 0 0 0 dt
Z +∞ Z t
 
= (0 − 0) + s f (τ)dτ e−st dt
0 0
Z t 
= sL f (τ)dτ
0

t
Z 
1
L f (τ)dτ = F(s)
0 s

MPC 2023-1 108 Análisis de Sistemas


Derivación en frecuencia:
d n F(s) dn
Z +∞
n
= n f (t)e−st dt
ds ds 0
Z +∞  n 
d −st
= f (t) e dt
0 dsn
Z +∞
= f (t) ((−1)nt n ) e−st dt
0
Z +∞
= (−1)n t n f (t)e−st dt
0

d n F(s)
L {t n f (t)} = (−1)n
dsn

Integración en frecuencia:
Z +∞ Z +∞ Z ∞ 
F(s)ds = f (t)e−st dt ds
w w 0
Z ∞ Z +∞ 
= f (t) e−st ds dt
0 w
f (t) −st +∞
Z ∞
= e dt w
0 −t
f (t) −wt
Z ∞
= e dt
0 t

Z +∞
L { f (t)/t} = F(w)dw
s

Teorema del valor inicial:

 
df
L + f (0) = sL { f (t)}
dt
Z +∞
d f −st
e dt + f (0) = sL { f (t)}
0 dt
+∞
Z 
d f −st
lim e dt + f (0) = lim (sL { f (t)})
s→+∞ 0 dt s→+∞

f (0) = lim (sF(s))


s→+∞

MPC 2023-1 109 Análisis de Sistemas


Teorema del valor final:
 
df
L + f (0) = sL { f (t)}
dt
Z +∞
d f −st
e dt + f (0) = sL { f (t)}
0 dt
+∞
Z 
d f −st
lim e dt + f (0) = lim (sL { f (t)})
s→0 0 dt s→0
Z +∞
df
dt + f (0) = lim (sL { f (t)})
0 dt s→0
lim f (t) − f (0) + f (0) = lim (sL { f (t)})
t→+∞ s→0

lim f (t) = lim (sF(s))


t→+∞ s→0

Trenes de señales:
( ) Z +∞
!
∞ ∞
L ∑ f (t − iT ) = ∑ f (t − iT ) e−st dt
i=0 0 i=0
∞ Z +∞
=∑ f (t − iT )e−st dt
i=0 0

−siT
= ∑e L { f (t)}
i=0

= L { f (t)} ∑ e−siT
i=0

( )

1
L ∑ f (t − iT ) = F(s)
i=0 1 − e−sT

Convolución:
Z +∞ Z +∞ 
L { f (t) ∗ g(t)} = g(t − τ) f (τ)dτ e−st dt
0 0
Z +∞ Z +∞
= g(t − τ)e−st esτ f (τ)e−sτ dtdτ, σ = t − τ
0 0
Z +∞ Z +∞
= g(σ )e−sσ f (τ)e−sτ dσ dτ
0 0
Z +∞ Z +∞
= g(σ )e−sσ dσ f (τ)e−sτ dτ
0 0

L { f (t) ∗ g(t)} = F(s)G(s)

MPC 2023-1 110 Análisis de Sistemas


Modulación:
Z +∞
L { f (t)g(t)} = f (t)g(t)e−st dt
0
Z +∞  Z c1 +ȷ̂∞ 
1
= f (t) G(w) · e dw e−st dt
wt
0 2π ȷ̂ c1 −ȷ̂∞
1
Zc1 +ȷ̂∞ +∞ Z
= f (t)ewt e−st dtG(w)dw
2π ȷ̂ c1 −ȷ̂∞ 0
Z c1 +ȷ̂∞ Z +∞
1
= f (t)e−(s−w)t dtG(w)dw
2π ȷ̂ c1 −ȷ̂∞ 0

Z c1 +ȷ̂∞
1
L { f (t)g(t)} = F(s − w)G(w)dw
2π ȷ̂ c1 −ȷ̂∞

3.5 Transformada Z
La suma de una progresión geométrica:

1 − rn 1
∑ rk = 1 + r + r2 + r3 + ... = lim 1 n→∞ 1−r
=
1−r
k=0

converge sólo si |r| < 1, con r ∈ C. Además,

d +∞ k +∞ +∞
∑ r = ∑ k · rk−1 = ∑ (k + 1) · rk
dr k=0 k=1 k=0

Por otro lado,


d 1 1
=
dr 1 − r (1 − r)2
Por lo tanto,
+∞
1
∑ (k + 1) · rk = (1 − r)2
k=0

Definición 3.15 (Transformada Z).



Z { f (kT )} = F(z) = ∑ f (kT )z−k
k=0

con f (kT ) ∈ R, k ∈ N0 , z = u + ȷ̂v ∈ C.

MPC 2023-1 111 Análisis de Sistemas


Ejemplo 3.7 (Transformadas básicas).

• Z {δ (kT )} = 1

Z {δ (kT )} = ∑ δ (kT )z−k
k=0

= δ (0 · T )z−0 + ∑ δ (kT )z−k
k=1
−0
= δ (0 · T )z +0
= 1·1
=1

• Z {H(kT )} = 1/(1 − z−1 )



Z {H(kT )} = ∑ H(kT )z−k
k=0

= ∑ 1 · z−k
k=0

= ∑ (z−1 )k
k=0
1
= , |z−1 | < 1
1 − z−1

MPC 2023-1 112 Análisis de Sistemas


• Z {r(kT )} = T z−1 /(1 − z−1 )2

Z {r(kT )} = ∑ r(kT )z−k
k=0

= ∑ kT · z−k
k=0

=T ∑ k · (z−1 )k
k=0

=T ∑ (k + 1 − 1) · (z−1 )k
k=0
!
∞ ∞
=T ∑ (k + 1) · (z−1 )k − ∑ (z−1 )k
k=0 k=0
 
1 1
=T −
(1 − z−1 )2 1 − z−1
1 − 1 + z−1
=T
(1 − z−1 )2
z−1
=T
(1 − z−1 )2

• Z e−aT k H(kT ) = 1/(1 − e−aT z−1 )




n o ∞
Z e−a·kT H(kT ) = ∑ e−a·kT z−k
k=0
∞ k
= ∑ e−a·T z−1
k=0
1
= , |e−aT z−1 | < 1
1 − e−aT z−1

Definición 3.16 (Transformada Z inversa).


1
I
f (kT ) = Z −1 {F(z)} = F(z)zk−1 dz
2π ȷ̂ Γ

con T el período de muestreo, f (kT ) ∈ R, k ∈ N0 , z = u + ȷ̂v ∈ C, y Γ es un


contorno cerrado donde la transformada converge.

MPC 2023-1 113 Análisis de Sistemas


Ejemplo 3.8 (Transformada Z inversa). Para demostrar lo siguiente,

(1 − e−T )z−1
F(z) =
(1 − z−1 )(1 − e−T z−1 )

se puede plantear una separación en fracciones parciales:

(1 − e−T )z−1
   
A B
Z −1 = Z −1
+
(1 − z−1 )(1 − e−T z−1 ) 1 − z−1 1 − e−T z−1

De tal forma que

A B A − Ae−T z−1 + B − Bz−1


−1
+ −T −1
=
1−z 1−e z (1 − z−1 )(1 − e−T z−1 )
(A + B) − (Ae−T + B)z−1
=
(1 − z−1 )(1 − e−T z−1 )
! (1 − e−T )z−1
=
(1 − z−1 )(1 − e−T z−1 )

El sistema de ecuaciones asociados corresponde a:

A+B = 0
−T
−Ae − B = 1 − e−T

Desde donde se deduce que A = 1 y B = −1. Por lo tanto

(1 − e−T )z−1
   
1 1
Z −1 = Z −1

(1 − z−1 )(1 − e−T z−1 ) 1 − z−1 1 − e−T z−1
   
1 1
= Z −1 − Z −1
1 − z−1 1 − e−T z−1
= H(kT ) − e−kT H(kT )
= (1 − e−kT )H(kT )

Linealidad:
+∞
Z {α f1 (k) + β f2 (k)} = ∑ (α f1 (k) + β f2 (k)) z−k
k=0
+∞ +∞
=α ∑ f1 (k)z−k + β ∑ f2 (k)z−k
k=0 k=0

Z {α f1 (k) + β f2 (k)} = αF1 (z) + β F2 (z)

MPC 2023-1 114 Análisis de Sistemas


Escalamiento en el tiempo:
+∞
Z { f (akT )} = ∑ f (akT )z−k , n = ak
k=0
+∞
= ∑ f (nT )z−n/a
n=0
+∞  −n
= ∑ f (nT ) z1/a
n=0

Z { f (akT )} = F(z1/a )

Desplazamiento en el tiempo:
+∞
Z { f (kT − aT )} = ∑ f (kT − aT )z−k , n = k − a, a > 0
k=0
+∞
= ∑ f (nT )z−n−a
n=−a
+∞
= ∑ f (nT )z−n z−a
n=−a
−1 ∞
= z−a ∑ f (nT )z−n + z−a ∑ f (nT )z−n
n=−a n=0

−1
Z { f (kT − aT )} = z−a F(z) + z−a ∑ f (nT )z−n
n=−a

+∞
Z { f (kT + aT )} = ∑ f (kT + aT )z−k , n = k + a, a > 0
k=0
+∞
= ∑ f (nT )z−n+a
n=a
+∞
= ∑ f (nT )z−n za
n=a
∞ a−1
=z a
∑ f (nT )z−n − za ∑ f (nT )z−n
n=0 n=0

a−1
Z { f (kT + aT )} = za F(z) − za ∑ f (nT )z−n
n=0

MPC 2023-1 115 Análisis de Sistemas


Desplazamiento en frecuencia:
n o +∞
Z ak f (kT ) = ∑ ak f (kT )z−k
k=0
+∞
= ∑ f (kT )(za−1 )−k
k=0
+∞
= ∑ f (kT )(z/a)−k
k=0

n o
Z ak f (kT ) = F(z/a)

Diferencia unitaria:

Z { f (kT ) − f (kT − T )} = F(z) − z−1 F(z)

Z { f (kT ) − f (kT − T )} = (1 − z−1 )F(z)

Sumatoria ( f (kT ) con soporte positivo):


( ) ( )
k k +∞ k
Z ∑ f (iT ) =Z ∑ f (iT ) = ∑ ∑ f (iT )z−k , n = k − i
i=0 i=−∞ k=0 i=−∞
+∞ 0 +∞ +∞
= ∑ ∑ f (kT − nT )z−k = ∑ ∑ f (kT − nT )z−k
k=0 n=+∞ n=0 k=0
!
+∞ +∞
= ∑ z−n F(z) = ∑ z−n F(z)
n=0 n=0

( )
k
1
Z ∑ f (iT ) = F(z)
i=0 1 − z−1

Teorema del valor inicial:


+∞
lim Z { f (kT )} = lim
z→+∞ z→+∞
∑ f (kT )z−k
k=0
+∞
= lim f (0) + ∑ f (kT )z−k
z→+∞
k=1

lim Z { f (kT )} = f (0)


z→+∞

MPC 2023-1 116 Análisis de Sistemas


Teorema del valor final:

lim (1 − z−1 )F(z) = lim [Z { f (kT ) − f (kT − T )}]


 
z→1 z→1
" #
+∞ +∞
−k −k
= lim ∑ f (kT )z − ∑ f (kT − T )z
z→1
k=0 k=0
+∞ +∞
= ∑ f (kT ) − ∑ f (kT − T )
k=0 k=0
" #
n
= lim
n→+∞
∑ f (kT ) − f (kT − T )
k=0
= lim [ f (n) − f (−T )]
n→+∞

lim (1 − z−1 )F(z) = lim f (k)


 
z→1 k→+∞

Convolución:
+∞
Z { f (kT ) ∗ g(kT )} = ∑ f (kT ) ∗ g(kT )z−k
k=0
+∞ +∞
= ∑ ∑ f (iT )g(kT − iT )z−k , n = k−i
k=0 i=0
+∞ +∞
= ∑ ∑ f (iT )g(nT )z−n−i
n=−i i=0
+∞ +∞
= ∑ g(nT )z−n ∑ f (iT )z−i
n=−i i=0
+∞ +∞
= ∑ g(nT )z−n ∑ f (iT )z−i
n=0 i=0

Z { f (kT ) ∗ g(kT )} = F(z)G(z)

MPC 2023-1 117 Análisis de Sistemas


3.6 Equivalencias usuales

F(z) =
f (t) F(s) = L { f (t)} f (kT ) = f (t)|t=kT
Z { f (kT )}

δ (t − τ) e−sτ – –

H(t − nT ) − 1−e−sT −snT


e δ (kT − nT ) z−n
H(t − T − nT ) s

1/s 1
H(t) H(kT ) 1−z−1

1/s2 T z−1
r(t) r(kT ) (1−z−1 )2

T 2 z−1 (1+z−1 )
t 2 H(t) 2/s3 (kT )2 H(kT ) (1−z−1 )3

e−at H(t) 1
s+a e−aT k H(kT ) 1
1−e−aT z−1

(1−e−aT )z−1
(1 − e−at )H(t) a
s(s+a) (1 − e−aT k )H(kT ) (1−z−1 )(1−e−aT z−1 )

Te−aT )z−1
te−at H(t) 1
(s+a)2
kTe−aT k H(kT ) (1−e−aT z−1 )2

ω z−1 sin(ωT )
sin(ωt)H(t) s2 +ω 2
sin(ωkT ) 1−2z−1 cos(ωT )+z−2

s 1−z−1 cos(ωT )
cos(ωt)H(t) s2 +ω 2
cos(ωkT ) 1−2z−1 cos(ωT )+z−2

e−aT z−1 sin(ωT )


e−at sin(ωt)H(t) ω
(s+a)2 +ω 2
e−akT sin(ωkT ) 1−2e−aT z−1 cos(ωT )+e−2aT z−2

(s+a) 1−e−aT z−1 cos(ωT )


e−at cos(ωt)H(t) (s+a)2 +ω 2
e−akT cos(ωkT ) 1−2e−aT z−1 cos(ωT )+e−2aT z−2

MPC 2023-1 118 Análisis de Sistemas


3.7 Transformada de Fourier
3.7.1 Tiempo continuo

Definición 3.17 (Transformada de Fouriera ).


Z +∞
F { f (t)} = F(ω) = f (t)e−ȷ̂ωt dt
−∞

con f (t) ∈ R, t ∈ R+ y ω ∈ R.

a https://en.wikipedia.org/wiki/Joseph_Fourier

Nota 3.1 (Equivalencias).

• F { f (t)} = L2 { f (t)}|s=ȷ̂ω
• si f (t) tiene soporte positivo, F { f (t)} = L { f (t)}|s=ȷ̂ω

Ejemplo 3.9 (Fourier).

• F e−|t| = 2/(1 + ω 2 )


n o Z +∞
F e−|t| = e−|t| e−ȷ̂ωt dt
−∞
Z 0 Z +∞
= et e−ȷ̂ωt dt + e−t e−ȷ̂ωt dt
−∞ 0
Z 0 Z +∞
= e(1−ȷ̂ω)t
dt + e−(t+ȷ̂ω)t dt
−∞ 0
0 +∞
1 (1−ȷ̂ω)t
1 −(1+ȷ̂ω)t

= e − e
1 − ȷ̂ω
−∞ 1 + ȷ̂ω
0
1 1
= (1 − 0) − (0 − 1)
1 − ȷ̂ω 1 + ȷ̂ω
1 1
= +
1 − ȷ̂ω 1 + ȷ̂ω
1 + ȷ̂ω + 1 − ȷ̂ω
=
(1 − ȷ̂ω)(1 + ȷ̂ω)
2
=
1 + ω2

MPC 2023-1 119 Análisis de Sistemas


1, 00

et e−t

• F {e−at H(t)} = 1/(a + ȷ̂ω)

Z +∞
F e−at H(t) = e−at H(t)e−ȷ̂ωt dt

−∞
Z +∞
= e−at e−ȷ̂ωt dt
0
Z +∞
= e−(a+ȷ̂ω)t dt
0
1 +∞
=− e−(a+ȷ̂ω)t

a + ȷ̂ω 0
1
=− (0 − 1)
a + ȷ̂ω
1
=
a + ȷ̂ω

1, 00

f (t) = e−at

f (t) = 0

• F {δ (t − a)} = e−ȷ̂ωa

F {δ (t − a)} = L {δ (t − a)}|s=ȷ̂ω
= 1 · e−a·s

s=ȷ̂ω
−ȷ̂ωs
=e

MPC 2023-1 120 Análisis de Sistemas


• F {H(t + a) − H(t − a)} = 2 sin(ωa)/ω

Z +∞
F {H(t + a) − H(t − a)} = (H(t + a) − H(t − a)) e−ȷ̂ωt dt
−∞
Z +a
= 1 · e−ȷ̂ωt dt
−a
1 +a
= e−ȷ̂ωt −a
−ȷ̂ω
1 −ȷ̂ω·a
− e+ȷ̂ω·a

=− e
ȷ̂ω
−1
= (cos(ωa) − ȷ̂ sin(ωa) − cos(ωa) − ȷ̂ sin(ωa))
ȷ̂ω
2
= sin(ωa)
ω

1, 00

Ejemplo 3.10 (Análisis en Frecuencia).

Podemos estudiar F {H(t + a) − H(t − a)} = 2 sin(ωa)/ω de manera grá-


fica:
4
1
real{ F(ω) }

2
f(t)

0.5
0

0
-2
-5 -4 -3 -2 -1 0 1 2 3 4 5 -10 -8 -6 -4 -2 0 2 4 6 8 10
tiempo [s] ω [rad/s]

4 200
F(ω) [grad]

3 150
|F(ω)|

2 100

1 50

0 0
-10 -8 -6 -4 -2 0 2 4 6 8 10 -10 -8 -6 -4 -2 0 2 4 6 8 10
ω [rad/s] ω [rad/s]

MPC 2023-1 121 Análisis de Sistemas


Código 3.3: Análisis en frecuencia (A3C3_fourier.m)
1 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2 %tiempo
3 Tmin = −5;
4 Tmax = −Tmin;
5 DTsim = 0.001;
6 t = Tmin:DTsim:Tmax;
7 %senhal en el tiempo
8 a = 2;
9 rect = zeros(size(t));
10 for kk=1:length(t),
11 if abs(t(kk)) ≤ a,
12 rect(kk) = 1;
13 end
14 end
15 %frecuencia
16 Wmin = −10;
17 Wmax = −Wmin;
18 Dwsim = 0.01;
19 w = Wmin:Dwsim:Wmax;
20 %senhal en frec
21 Frect = 2*sin(w*a)./w;

Ejemplo 3.11 (Fourier).


Encuentre una expresión para la fase y otra para el módulo del siguiente número
complejo, como función de la variable ω.
4ȷ̂ω + 1 −ȷ̂2ω
H(ȷ̂ω) = 2 e
3ȷ̂ω + 1
R: Para el módulo tenemos

4ȷ̂ω + 1 −ȷ̂2ω
|H(ȷ̂ω)| = 2
e
3ȷ̂ω + 1
|4ȷ̂ω + 1| −ȷ̂2ω

= |2| · · e
|3ȷ̂ω + 1|

12 + 42 ω 2
= 2· √ ·1
12 + 32 ω 2
s
1 + 16ω 2
=2
1 + 9ω 2

MPC 2023-1 122 Análisis de Sistemas


Para la fase,

H(ȷ̂ω) = 2 43ȷ̂ȷ̂ω+1
ω+1 e
−ȷ̂2ω

= 2 + 4ȷ̂ω + 1 − 3ȷ̂ω + 1 + e−ȷ̂2ω


= 0 + arctan{4ω} − arctan{3ω} − 2ω
= arctan{4ω} − arctan{3ω} − 2ω

Definición 3.18 (Transformada de Fourier inversa).


Z +∞
1
F −1 {F(ω)} = F(ω)eȷ̂ωt dω
2π −∞

con f (t) ∈ R, t ∈ R+ y ω ∈ R.

Ejemplo 3.12 (Anti Fourier).

• F −1 {δ (ω − ω0 )} = eȷ̂ω0 t /(2π)

1 +∞
Z
F −1 {δ (ω − ω0 )} = δ (ω − ω0 )eȷ̂ωt dω
2π −∞
1 +∞
Z
= δ (ω − ω0 )eȷ̂ω0 t dω
2π −∞
1 ȷ̂ω0 t +∞
Z
= e δ (ω − ω0 )dω
2π −∞
1 ȷ̂ω0 t
= e ·1

1 ȷ̂ω0 t
= e

• F −1 {πδ (ω − ω0 ) + πδ (ω + ω0 )} = cos(ω0t)

F −1 {πδ (ω − ω0 ) +πδ (ω + ω0 )}
= πF −1 {δ (ω − ω0 )} + πF −1 {δ (ω + ω0 )}
1 1
= eȷ̂ω0 t + e−ȷ̂ω0 t
2 2
1
= (cos(ω0t) + ȷ̂ sin(ω0t) + cos(ω0t) − ȷ̂ sin(ω0t))
2
= cos(ω0t)

∴ F {cos(ω0t)} = πδ (ω − ω0 ) + πδ (ω + ω0 )

MPC 2023-1 123 Análisis de Sistemas


Simetría: Si g(t) = F(ω)|ω=t , con F(ω) = F { f (t)},
Z +∞
F {g(t)} = g(t)e−ȷ̂ωt dt
−∞
Z +∞
= F(ω)|ω=t e−ȷ̂ωt dt
−∞
1 +∞
Z
= 2π F(ω)|ω=t e−ȷ̂ωt dt, Ω = t
2π −∞
1 +∞
Z
= 2π F(Ω)eȷ̂(−ω)Ω dΩ
2π −∞
= 2π f (t)|t=−ω

F {g(t)} = 2π f (t)|t=−ω

Convolución:
1 +∞
Z
F −1 {F(ω)G(ω)} = F(ω)G(ω)eȷ̂ωt dω
2π −∞
1 +∞ +∞
Z Z
= f (τ)e−ȷ̂ωτ dτG(ω)eȷ̂ωt dω
2π −∞ −∞
Z +∞
1 +∞
Z
= G(ω)eȷ̂ω(t−τ) dω f (τ)dτ
−∞ 2π −∞
Z +∞
= g(t − τ) f (τ)dτ
−∞

F { f (t) ∗ g(t)} = F(ω)G(ω)

Suma de Poisson:
La suma de Poisson6 indica que para f : R 7→ R con F(ω) = F { f (t)},
+∞ +∞
1
∑ f (t + nT ) ≡ ∑ F(m/T )eȷ̂2πmt/T
n=−∞ T m=−∞

Aplicando a un tren de impulsos se tiene:

+∞ +∞
1
∑ δ (t − nT ) ≡ ∑ eȷ̂2πmt/T
n=−∞ T m=−∞

Luego,
( ) ( )
+∞ +∞ +∞
1 2π
F ∑ δ (t − nT ) =F ∑ eȷ̂2πmt/T
= ∑ δ (ω − 2πm/T )
n=−∞ T m=−∞ T m=−∞

6 https://en.wikipedia.org/wiki/Simeon_Denis_Poisson

MPC 2023-1 124 Análisis de Sistemas


Ejemplo 3.13 (Poisson).
+M
1
f (t) = ∑ eȷ̂2πmt/T
T m=−M

M ∈ {2, 5, 50, 500}

20

10
f(t)

0
M=2

-10
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1
t [s]
40

20
f(t)

0
M=5

-20
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1
t [s]
400

200
f(t)

0
M = 50

-200
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1
t [s]
4000

2000
f(t)

0
M = 500

-2000
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1
t [s]

MPC 2023-1 125 Análisis de Sistemas


Código 3.4: Análisis en frecuencia (A3C4_poisson.m)
1 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2 %tiempo
3 Tmin = −1;
4 Tmax = −Tmin;
5 DTsim = 0.001;
6 t = Tmin:DTsim:Tmax;
7 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
8 %tren de impusos como tren de exponenciales
9 T = 0.4;
10 j = sqrt(−1);
11 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
12 % primera iteraciOn
13 Mmax = 2;
14 Sumf = zeros(size(t));
15 for m = −Mmax:1:Mmax,
16 Sumf = Sumf + exp(j*2*pi*m.*t/T);
17 end
18 Sumf = Sumf/T;

Producto:
Z +∞
F { f (t)g(t)} = f (t)g(t)e−ȷ̂ωt dt
−∞
Z +∞ Z +∞
1
= f (t) G(ψ)eȷ̂ψt dψe−ȷ̂ωt dt
−∞ 2π −∞
1 +∞ +∞
Z Z
= f (t)eȷ̂(ψ−ω)t dt G(ψ)dψ
2π −∞ −∞
1 +∞
Z
= F(ψ − ω)G(ψ)dψ
2π −∞

1
F { f (t)g(t)} = F(ω) ∗ G(ω)

Modulación AM:

1
F { f (t) cos(ω0t)} = F(ω) ∗ (πδ (ω − ω0 ) + πδ (ω + ω0 ))

1
= (F(ω − ω0 ) + F(ω + ω0 ))
2
Muestreo por impulsos:

MPC 2023-1 126 Análisis de Sistemas


( ) ( )
+∞ +∞
1
F f (t) ∑ δ (t − kT ) = F(ω) ∗ F ∑ δ (t − kT )
k=−∞ 2π k=−∞
!
+∞
1 2π
= F(ω) ∗ ∑ δ (ω − 2πm/T )
2π T m=−∞
+∞
1
= ∑ F(ω − 2πm/T )
T m=−∞

Conjugación:
Z +∞
F { f (t)∗ } = f (t)∗ e−ȷ̂ωt dt
−∞
Z +∞ ∗
= f (t)eȷ̂ωt dt
−∞
Z +∞
∗
= f (t)e−ȷ̂(−ω)t dt
−∞

= F (−ω)

En particular, si f (t) = f (t)∗ (si la función es real)

F(−ω) = F ∗ (ω)

Teoremas de Potencia y Energía:


La relación de Parseval7 (o Teorema de la Potencia):
Z +∞ Z +∞  Z +∞ ∗
1
f (t)g∗ (t)dt = f (t) G(ω)eȷ̂ωt dω dt
−∞ −∞ 2π −∞
Z +∞
1 +∞
Z
= f (t) G(ω)∗ e−ȷ̂ωt dωdt
−∞ 2π −∞
1 +∞ +∞
Z Z
= f (t)e−ȷ̂ωt dtG(ω)∗ dω
2π −∞ −∞
1 +∞
Z
= F(ω)G(ω)∗ dω
2π −∞

En particular, el Teorema de Plancherel8 (o Teorema de la Energía )


7 https://en.wikipedia.org/wiki/Marc-Antoine_Parseval
8 https://en.wikipedia.org/wiki/Michel_Plancherel

MPC 2023-1 127 Análisis de Sistemas


Z +∞ Z +∞
| f (t)|2 dt = f (t) f ∗ (t)dt
−∞ −∞
1 +∞
Z
= F(ω)F(ω)∗ dω
2π −∞
1 +∞
Z
= |F(ω)|2 dω
2π −∞

3.7.2 Relación con series de Fourier

Definición 3.19 (Coeficientes de Fouriera ). Para una señal f (t) periódica de pe-
riodo T ,
1 T /2
Z
Fn { f (t)} = c(n) = f (t)e−ȷ̂ω0 nt
T −T /2

a Transformada de Fourier en Frecuencia Discreta

Definición 3.20 (Serie de Fouriera ).


+∞
f (t) = Fn−1 {c(n)} = ∑ c(n)eȷ̂ω0 nt
n=−∞

a Transformada de Fourier en Frecuencia Discreta Inversa

Ejemplo 3.14 (Series de Fourier).

Repitiendo infinitamente en el tiempo el pulso del Ejemplo 3.10, obtenemos


un tren de pulsos periódico.
Si elegimos, T = 6 =⇒ ω0 = 2π/T = 1, 0472 . . . , a = 2, la transformada de
Fourier en frecuencia discreto coincide con un muestreo de la transformada de
Fourier en frecuencia continua del pulso original.
1.5 4

3
1
real{ F(ω) }

2
f(t)

0.5
1
0
0

-0.5 -1
-15 -10 -5 0 5 10 15 -10 -8 -6 -4 -2 0 2 4 6 8 10
tiempo [s] ω [rad/s]

MPC 2023-1 128 Análisis de Sistemas


Código 3.5: Análisis en frecuencia (A3C3_fourier.m)
22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
23 %tiempo
24 Tmin = −15;
25 Tmax = −Tmin;
26 DTsim = 0.001;
27 t = Tmin:DTsim:Tmax;
28
29 %senhal en el tiempo
30 a = 2;
31 rect = zeros(size(t));
32 for kk=1:length(t),
33 if abs(t(kk)) ≤ a,
34 rect(kk) = 1;
35 end
36 end
37 T = 6;
38 w0 = 2*pi/T;
39 rect_per = zeros(size(t));
40 for kk=1:length(t),
41 if abs(abs(t(kk)) − T*round(abs(t(kk))/T)) ≤ a,
42 rect_per(kk) = 1;
43 end
44 end
45
46 %frecuencia
47 Wmin = −10;
48 Wmax = −Wmin;
49 Dwsim = 0.01;
50 w = Wmin:Dwsim:Wmax;
51 Frect = 2*sin(w*a)./w;
52
53 nmin = ceil(Wmin/w0);
54 nmax = floor(Wmax/w0);
55 wkn = w0*(nmin:−1);
56 wkp = w0*(1:nmax);
57 wk0 = 0;
58 wk = [wkn,wk0,wkp];
59 nk = nmin:nmax;
60
61 Frect_kn = 2*sin(wkn*a)./wkn;
62 Frect_k0 = 2*a;
63 Frect_kp = 2*sin(wkp*a)./wkp;
64 Frect_k = [Frect_kn, Frect_k0,Frect_kp];
65
66 %recuperar senhal desde serie de Fourier
67 ft = zeros(size(t));
68 for ii = 1:length(wk),
69 ft = ft + Frect_k(ii)/T*exp(j*w0*nk(ii).*t);
70 end

MPC 2023-1 129 Análisis de Sistemas


3.7.3 Tiempo discreto
( )
+∞ +∞
F f (t) ∑ δ (t − kT ) = ∑ F { f (t)δ (t − kT )}
k=−∞ k=−∞
+∞
= ∑ F { f (kT )δ (t − kT )}
k=−∞
+∞
= ∑ f (kT )F {δ (t − kT )}
k=−∞
+∞
= ∑ f (kT )e−ȷ̂ΩkT
k=−∞

Definición 3.21 (Transformada de Fourier en tiempo discreto).


+∞
F { f (kT )} = F(Ω) = ∑ f (kT )e−ȷ̂ΩkT
k=−∞

Nota 3.2 (Equivalencias). Si f (kT ) tiene soporte positivo, F(Ω) = F(z)|z=eȷ̂ΩT .

Definición 3.22 (Transformada de Fourier en tiempo discreto inversa).


Z T
f (kT ) = F −1 {F(Ω)} = F(Ω)eȷ̂ΩkT dΩ
0

MPC 2023-1 130 Análisis de Sistemas


Ejemplo 3.15 (Fourier en tiempo discreto).

f (kT ) = H(kT + aT ) − H(kT − aT )

eȷ̂ΩaT e−ȷ̂ΩaT
−F(Ω) =
1 − e−ȷ̂ΩT 1 − e−ȷ̂ΩT
Ojo: primero se calcula la TdeF del escalón y luego se desplaza.
1
f(kT)

0.5

0
-5 -4 -3 -2 -1 0 1 2 3 4 5
tiempo [s]
20

15
| F(Ω) |

10

0
-50 -40 -30 -20 -10 0 10 20 30 40 50
Ω [rad/s]
200

100
{ F(Ω) }

-100

-200
-50 -40 -30 -20 -10 0 10 20 30 40 50
Ω [rad/s]

Código 3.6: Análisis en frecuencia (A3C5_fourierDiscreto.m)


1 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2 %tiempo
3 Tmin = −5;
4 Tmax = −Tmin;
5 T = 0.2;
6 t = Tmin:T:Tmax;
7 %senhal en el tiempo
8 a = 10;
9 rect = zeros(size(t));
10 for kk=1:length(t),
11 if abs(t(kk)) ≤ a*T,
12 rect(kk) = 1;
13 end
14 end
15 %frecuencia
16 Wmin = −50;
17 Wmax = −Wmin;
18 Dwsim = 0.01;
19 w = Wmin:Dwsim:Wmax;
20 %Senhal en frecuencia
21 Frect = (exp(1j*w*a*T) − exp(−1j*w*a*T) )./(1 − exp(−1j*w*T));

MPC 2023-1 131 Análisis de Sistemas


Definición 3.23 (Coeficientes de Fourier en tiempo discretoa ).
Para una señal f (kT ) periódica de periodo T0 = 2π/Ω0 ,

1 N−1
Fm { f (kT )} = c(m) = ∑ f (kT )e−ȷ̂mΩ0 kT
N k=0

donde N = T0 /T = 2π/(Ω0 T ) ∈ N.
a Transformada de Fourier Discreta

Definición 3.24 (Serie de Fourier en tiempo discretoa ).


N−1
f (kT ) = Fm−1 {c(m)} = ∑ c(m)eȷ̂mω0 kT
m=0

a Transformada de Fourier Discreta Inversa

Ejemplo 3.16 (Series de Fourier en tiempo discreto).


1
f(kT)

0.5

0
-15 -10 -5 0 5 10 15
tiempo [s]
20
| F(ω) |

10

0
-50 -40 -30 -20 -10 0 10 20 30 40 50
ω [rad/s]
200
{ F(ω) }

-200
-50 -40 -30 -20 -10 0 10 20 30 40 50
ω [rad/s]

1
f(kT)

0.5

0
-15 -10 -5 0 5 10 15
tiempo [s]

Código 3.7: Análisis en frecuencia (A3C5_fourierDiscreto.m)


23 %tiempo
24 Tmin = −15;

MPC 2023-1 132 Análisis de Sistemas


25 Tmax = −Tmin;
26 T = 0.2;
27 t = Tmin:T:Tmax;
28
29 %senhal en el tiempo
30 a = 10;
31 rect = zeros(size(t));
32 for kk=1:length(t),
33 if abs(t(kk)) ≤ a*T,
34 rect(kk) = 1;
35 end
36 end
37 T0 = 6;
38 w0 = 2*pi/T0;
39 rect_per = zeros(size(t));
40 for kk=1:length(t),
41 if abs(abs(t(kk)) − T0*round(abs(t(kk))/T0)) ≤ a*T,
42 rect_per(kk) = 1;
43 end
44 end
45
46 %frecuencia
47 Wmin = −50;
48 Wmax = −Wmin;
49 Dwsim = 0.01;
50 w = Wmin:Dwsim:Wmax;
51 Frect = (exp(1j*w*a*T) − exp(−1j*w*a*T) )./(1 − exp(−1j*w*T));
52
53 N = T0/T;
54 nmin = ceil(Wmin/w0);
55 nmax = floor(Wmax/w0);
56
57 nk = nmin:nmax;
58 Frect_k = zeros(size(nk));
59 Frect_kN = zeros(1,N);
60 wk = w0*nk;
61
62 for ii=1:length(nk),
63 if mod(abs(nk(ii)),N)==0,
64 Frect_k(ii) = 2*a;
65 else
66 Frect_k(ii) = (exp(1j*wk(ii)*a*T) − ...
exp(−1j*wk(ii)*a*T) )./(1 − exp(−1j*wk(ii)*T));
67 end
68
69 if 0 ≤ nk(ii),
70 if nk(ii) < N,
71 Frect_kN(nk(ii)+1) = Frect_k(ii);
72 end
73 end
74 end
75 % recuperar senhal desde serie de Fourier
76 fk = zeros(size(t));
77 for ii = 0:N−1,
78 fk = fk + Frect_kN(ii+1)/N*exp(j*w0*ii.*t);
79 end

MPC 2023-1 133 Análisis de Sistemas


3.8 Ejercicios resueltos

Ejemplo 3.17 (Senos y cosenos).


Consideremos la siguiente expresión en el plano de Laplace
   
ω 1 1
L −1 2 = ωL −1
s + ω2 s + ȷ̂ω s − ȷ̂ω
 
−1 A B
= ωL +
s + ȷ̂ω s − ȷ̂ω
= ω Ae−ȷ̂ωt + Beȷ̂ωt


= ω (A cos(ωt) − ȷ̂A sin(ωt) + B cos(ωt) + ȷ̂B sin(ωt))

Las constantes A ∈ C y B ∈ C se determinan igualando los polinomios en el nu-


merador al separar en fracciones parciales. Es decir

1 1 A B A(s − ȷ̂ω) + B(s + ȷ̂ω) 1


= + =
s + ȷ̂ω s − ȷ̂ω s + ȷ̂ω s − ȷ̂ω s + ȷ̂ω s − ȷ̂ω
Desde donde se obtiene el sistema,

A+B = 0
−ȷ̂ωA + ȷ̂ωB = 1

con solución, A = − 2ȷ̂1ω y B = −A. Reemplazando tenemos entonces,


 
ω
L −1 = ω (A cos(ωt) − ȷ̂A sin(ωt) + B cos(ωt) + ȷ̂B sin(ωt))
s2 + ω 2
= −2ω ȷ̂A sin(ωt)
= sin(ωt)

Y por lo tanto,
ω
L {sin(ωt)} =
s2 + ω 2
Ahora consideremos una expresión similar,
   
−1 s −1 s 1
L =L
s2 + ω 2 s + ȷ̂ω s − ȷ̂ω
 
−1 A B
=L +
s + ȷ̂ω s − ȷ̂ω
= Ae−ȷ̂ωt + Beȷ̂ωt


= (A cos(ωt) − ȷ̂A sin(ωt) + B cos(ωt) + ȷ̂B sin(ωt))

MPC 2023-1 134 Análisis de Sistemas


Esta vez, las constantes asociadas al proceso de separación en fracciones parciales
cumplen con

s 1 A B A(s − ȷ̂ω) + B(s + ȷ̂ω) 1


= + =
s + ȷ̂ω s − ȷ̂ω s + ȷ̂ω s − ȷ̂ω s + ȷ̂ω s − ȷ̂ω
Es decir, con el sistema

A+B = 1
−ȷ̂ωA + ȷ̂ωB = 0

cuya solución corresponde a A = B = 1/2. Luego,


 
−1 s
L = (A cos(ωt) − ȷ̂A sin(ωt) + B cos(ωt) + ȷ̂B sin(ωt))
s2 + ω 2
= (A cos(ωt) + A cos(ωt))
= cos(ωt)

Por lo tanto,
s
L {cos(ωt)} =
s2 + ω 2

3.9 Ejercicios propuestos


3.9.1 Señales de prueba
E 3.1: Heaviside y Dirac. Considere la función
1
Hε (t) :=
1 + e−2t/ε
donde ε > 0. Determine,

• lim Hε (t). • lim δε (t).


t→+∞ t→−∞

• lim Hε (t).
t→−∞ • lim δε (t).
t→0
• lim Hε (t).
t→0
• lim δε (t).
• lim Hε (t). ε→0
ε→0

d d
• δε (t) := Hε (t). • rε (t), donde rε (t) := tHε (t).
dt dt
• lim δε (t). • Las gráficas de δε (t), Hε (t), y rε (t).
t→+∞

MPC 2023-1 135 Análisis de Sistemas


Repita todo lo anterior considerando las siguientes funciones:
 
1 t
Hε (t) := 1+ √
2 t2 + ε2
1  t 1
Hε (t) := arctan +
π ε 2

E 3.2: Escalones. Dibuje las siguientes señales:

• y(t) = H(t − a) + H(t − b) + H(t − • y(t) = eȷ̂α(τ−t) ·(H(t − a) − H(t − b)),


c), a < b < c. a < b.

• y(t) = H(t − a) − H(t − b) + H(t − • y(t) = sin(α(τ −t))·(H(t − a) − H(t − b)),


c) − H(t − d), a < b < c < d. a < b.
• y(t) = ε1 (H(t + ε/2) − H(t − ε/2)), • y(t) = cos(α(τ −t))·(H(t − a) − H(t − b)),
con ε > 0. a < b.
• y(t) = A · H(t − a) − B · H(t − b), • y(t) = ∑Ni=1 H(t − T · i), T > 0.
a < b.
• y(t) = ∑+∞
i=1 H(t − T · i), T > 0.
• y(t) = f (t) · (H(t − a) − H(t − b)),
a < b. • y(t) = ∑Ni=1 δ (t − T · i), T > 0.

• y(t) = eαt · (H(t − a) − H(t − b)), • y(t) = r(t − a) + r(t − b) + r(t − c),
a < b. a < b < c.

• y(t) = eα(τ−t) ·(H(t − a) − H(t − b)), • y(t) = r(t −a)−r(t −b)+r(t −c)−
a < b. r(t − d), a < b < c < d.

E 3.3: Convolución. Encuentre

y(t) = e−λt ∗ (H(t − a) − H(t − b))

con b > a > 0, y H(t) la función escalón.

3.9.2 Laplace
E 3.4: TdeL. Encuentre la transformada de Laplace de las funciones en E3.2.
E 3.5: Fracciones Parciales. Encuentre la anti-transformada de Laplace de las sigu-
ientes funciones:

5 1 1 −6s
• F(s) := 4s+1 s • F(s) := 2 1+s
s+6 s e

2 1 1 −θ s
• F(s) := s+6 s • F(s) := K a+s
s+b s e

2 1 −6s −θ s
• F(s) := s+6 s e • F(s) := K a+s
s+b e

MPC 2023-1 136 Análisis de Sistemas


2 1 −θ s 2·16 1 −θ s
• F(s) := (s+6)(4s+1) s e • F(s) := s2 +0,8s+16 s
e

2 1 −θ s K·ωn2 1 −θ s
• F(s) := e • F(s) := s2 +ξ ωn s+ωn2 s
e
4s2 +25s+6 s

2·16 1 −θ s K·ωn2
• F(s) := se
• F(s) := s2 +ξ ωn s+ωn2
s2 +20s+16

E 3.6: Equivalencias. Demuestre todas las equivalencias de la table en la sección 3.6.


Grafique las señales en los dominios del tiempo continuo y discreto.
E 3.7: Funciones*. Determine las transformadas de Laplace de las siguientes fun-
ciones con ∆ > 0 y A > 0. Grafique las funciones en el espacio del tiempo.
a) f (t) = A · (H(t + ∆) − H(t − ∆))

b) f (t) = A · (r(t + ∆) − 2 · r(t) + r(t − ∆))


p
c) f (t) = A 1 − t 2/∆2 ∈ R
d) f (t) = A · (r(t + ∆) − H(t + ∆) − r(t − ∆) − H(t − ∆))

e) f (t) = A · (H(t + ∆) − H(t + (1 − p)∆) − H(t − (1 − p)∆) + H(t − ∆)), p ∈ [0, 1]


f) f (t) = A · (−r(t + ∆) + 2r(t + ∆/2) − 2r(t − ∆/2) + r(t − ∆))

3.9.3 Zeta
E 3.8: TZ. Encuentre la transformada Zeta de las funciones en E3.2 evaluadas en
t = kT .
E 3.9: Fracciones Parciales. Encuentre la anti-transformada Zeta de las siguientes
funciones:

5 1 2 1
• F(s) := z−1 s+1 1−z−1
• F(s) := 4z−2 +25z−1 +6 1−z−1
2 1
• F(s) := z−1 +6 1−z−1 • F(s) := 2 1
z−2 +20z−1 +1 1−z−1
−1
• F(s) := 2 1+z 1
z−1 +6 1−z−1 2 1
• F(s) := z−2 +0,8z−1 +1 1−z−1
−1 1
• F(s) := K za+z
−1 +b 1−z−1
K·ωn2 1
−1 • F(s) := z−2 +ξ ωn z−1 +ωn2 1−z−1
• F(s) := K za+z
−1 +b

2 1 K·ωn2
• F(s) := (z−1 +6)(4z−1 +1) 1−z−1
• F(s) := z−2 +ξ ωn z−1 +ωn2

MPC 2023-1 137 Análisis de Sistemas


3.9.4 Fourier
E 3.10: Fourier. Encuentre expresiones el módulo, la fase, la parte real, y la parte
imaginaria de los siguientes números complejos, como función de la variable ω.
4ȷ̂ω + 1 −ȷ̂2ω
H(ȷ̂ω) = 2 e
3ȷ̂ω + 1
5
H(ȷ̂ω) =
6ȷ̂ω + 1
6ȷ̂ω + 1
H(ȷ̂ω) = 50 2 e−ȷ̂2ω
ω + 5ȷ̂ω + 25

E 3.11: Bode. Considere el siguiente número complejo como función de la variable


ω > 0:
ȷ̂ω + 1 −ȷ̂ω
H(ω) = e
ȷ̂ω + 100
• Escriba un programa que grafique, por separado, el módulo y la fase (en grados)
del número H(ω) como función de ω > 0.
• Modifique lo anterior para utilizar una escala logarítmica en el eje horizontal.
• Modifique lo anterior para graficar 20 log10 (∥H(ω)∥) como función de ω > 0.

• Escriba un programa que grafique H(ω) en el plano complejo para distintos


valores de ω > 0.

E 3.12: Funciones**.

a) Determine las transformadas y coeficientes de Fourier de las funciones en E3.7.


Grafique las funciones en el espacio de la frecuencia.
b) Reemplace en las señales del apartado anterior la variable ω por t. Esto generará
nuevas señales en el tiempo. Calcule la transformada de Fourier de estas nuevas
señales. ¿Qué observa?
c) Convierta las señales anteriores en períodicas, es decir f p (t) = ∑+∞
n=−∞ f (t − nT ),
con T ≥ 2∆, y calcule sus transformadas de Fourier.
d) Determine las transformadas de Fourier de fAM (t) = f p (t) cos(2πt/T ) con f p (t)
como en ejercicio anterior.

e) Calcule las transformadas de Fourier de f (k) := f (t)|t=kTm y f p (k) := f p (t) t=kTm ,
donde Tm < T es el período de muestreo.

MPC 2023-1 138 Análisis de Sistemas


4 Funciones de Transferencia
4.1 Definiciones
4.1.1 Sistemas lineales en tiempo continuo

Ejemplo 4.1 (Sistema de segundo orden). Considere la ecuación diferencial:

d2y dy
2
+ 2ξ ωn + ωn2 y(t) = kωn2 u(t)
dt dt
Aplicando Laplace podemos desarrollar lo siguiente:

d2y dy
2
+ 2ξ ωn + ωn2 y(t) = Kωn2 u(t)
dt dt
 2 
d y dy
L + 2ξ ωn + ωn y(t) = L Kωn2 u(t)
2

dt 2 dt
 2   
d y dy
L 2
+ 2ξ ωn L + ωn2 L {y(t)} = Kωn2 L {u(t)}
dt dt
s2 y(s) + 2ξ ωn sy(s) + ωn2 y(s) = Kωn2 u(s)
s2 + 2ξ ωn s + ωn2 y(s) = Kωn2 u(s)


Kωn2 y(s)
= = Huy (s)
s + 2ξ ωn s + ωn2
2 u(s)

¿Donde se anula el denominador? (Polos):

s2 + 2ξ ωn s + ωn2 = 0
p
−2ξ ωn ± 4ξ 2 ωn2 − 4ω 2
s=
·1
2p
= −ξ ωn ± ȷ̂ωn 1 − ξ 2

¿Qué pasa cuando t → +∞ ante entrada escalón? (Ganancia DC):


1
lim y(t) = lim s · y(s) = lim s · Huy (s)
t→+∞ s→0 s→0 s

MPC 2023-1 139 Análisis de Sistemas


Podemos entonces definir la constante DC como:
KDC := lim Huy (s)
s→0
Kωn2
= lim
s→0 s + 2ξ ωn s + ωn2
2

Kωn2
= 2
0 + 2ξ ωn · 0 + ωn2
Kω 2
= 2n
ωn
=K

Para una ecuación diferencial,


n m
d i y(t) d j u(t)
∑ ai = ∑ bj
i=0 dt i j=0 dt j

donde an = 1, y con condiciones iniciales nulas, i.e. y(0) = u(0) = 0,

Definición 4.1 (Función de Transferencia (continua)).


m j
y(s) ∑ j=0 b j s bm sm + · · · + b1 s + b0
Huy (s) = = n =
u(s) ∑i=0 ai si sn + an−1 sn−1 + . . . a1 s + a0

• Definición 4.1.1 (Polinomio característico).


n
d(s) = ∑ ai si = sn + an−1 sn−1 + . . . a1 s + a0
i=0

• Definición 4.1.2 (Polos).

P(Huy (s)) = {λ ∈ C|d(λ ) = 0}

• Definición 4.1.3 (Ceros).


( )
m
C(Huy (s)) = s ∈ C|n(s) = ∑ b js j = 0
j=0

• Definición 4.1.4 (Diagrama de bloque).

u(t) Huy (s) y(t)

MPC 2023-1 140 Análisis de Sistemas


La salida en el dominio del tiempo
y(t) = L −1 Huy (s)u(s)


= huy (t) ∗ u(t)


¿Qué pasa con entrada impulso?
y(s) = Huy (s)u(s)
= Huy (s)δ (s)
= Huy (s) · 1

y(t) = L −1 Huy (s) = huy (t)




¿Qué pasa a largo plazo ante entrada constante?


lim y(t) = lim s · y(s)
t→∞ s→0
= lim s · Huy (s)u(s)
s→0
= lim s · Huy (s)H(s)
s→0
1
= lim s · Huy (s)
s→0 s
= lim Huy (s)
s→0

¿Con condición inicial distinta de cero?


ẋ = Ax =⇒ sx(s) − x0 = Ax(s)
=⇒ x(s) = (sI − A)−1 x0
n o
=⇒ x(s) = L eAt x 0

n o
Φ(t)} = L eAt = (sI − A)−1
L {Φ

¿Y en un sistema MIMO?:
ẋ = Ax + Bu =⇒ L {ẋ} = L {Ax + Bu}
=⇒ sx(s) = Ax(s) + Bu(s)
=⇒ (sI − A) x(s) = Bu(s)
=⇒ x(s) = (sI − A)−1 Bu(s)
1
=⇒ x(s) = adj {sI − A} Bu(s)
det {sI − A}
=⇒ y(s) = Cx(s) + Du(s)
 
1
= C adj {sI − A} B + D u(s)
det {sI − A}

MPC 2023-1 141 Análisis de Sistemas


Definición 4.2 (Matriz de Transferencia (continua)).

Huy (s) = C (sI − A)−1 B + D

• Definición 4.2.1 (Polinomio característico).

d(s) = det {sI − A}

• Definición 4.2.2 (Polos).

P(Huy (s)) = {λ ∈ C|d(λ ) = 0}

Ejemplo 4.2 (Estanque).


fe

fs

Haciendo el balance de volumen en el estanque:

dh
A = fe (t) − fs (t)
dt
Ash(s) = fe (s) − fs (s)
1
=⇒ y(s) = h(s) = ( fe (s) − fs (s))
As
La válvula de control se puede modelar como una ecuación diferencial de
primer orden con retardo:

d fs
τ + fs (t) = K · u(t − θ )
dt
(τs + 1) fs (s) = K · u(s)e−θ s
fs (s) Ke−θ s
=⇒ =
u(s) τs + 1

MPC 2023-1 142 Análisis de Sistemas


Combinando ambas expresiones tenemos,

Ke−θ s
 
1
y(s) = fe (s) − u(s)
As τs + 1

fe

u ke−θ s 1 y
τs+1
+ As
fs −

Ejemplo 4.3 (Motor DC).

Tm


va ia ωm
1 Kφ 1
+ La s+Ra + Js+b
Te

Desde el diagrama se obtienen las siguientes ecuaciones:


1 
ia (s) = va (s) − Kφ ωm (s)
La s + Ra
1 
ωm (s) = Kφ ia (s) − Tm (s)
Js + b
Se puede reemplazar la expresión para la corriente en la expresión para la veloci-
dad angular y así obtener:
 
1 1 
ωm (s) = Kφ va (s) − Kφ ωm (s) − Tm (s)
Js + b La s + Ra

MPC 2023-1 143 Análisis de Sistemas


Se puede reordenar para agrupar términos que contengan la velocidad angular:

Kφ2 Kφ
(Js + b) ωm (s) + ωm (s) = va (s) − Tm (s)
La s + Ra La s + Ra
(Js + b) (La s + Ra ) + Kφ2 Kφ La s + Ra
ωm (s) = va (s) − Tm (s)
La s + Ra La s + Ra La s + Ra

ωm (s) = va (s)
(Js + b) (La s + Ra ) + Kφ2
La s + Ra
− Tm (s)
(Js + b) (La s + Ra ) + Kφ2
ωm (s) = Huy (s)va (s) + H py (s)Tm (s)

Finalmente se obtiene una función de transferencia asociada a la entrada y una


segunda función de transferencia asociada a la perturbación.

MPC 2023-1 144 Análisis de Sistemas


4.1.2 Sistemas lineales en tiempo discreto

Ejemplo 4.4 (Sistema de segundo orden). Considere la siguiente ecuación de


diferencias:
y(k + 2) + 2ξ ωn y(k + 1) + ωn2 y(k) = ωn2 u(k)
Aplicando transformada Zeta:

y(k + 2) + 2ξ ωn y(k + 1) + ωn2 y(k) = Kωn2 u(k)


Z y(k + 2) + 2ξ ωn y(k + 1) + ωn2 y(k) = Z Kωn2 u(k)
 

Z {y(k + 2)} + 2ξ ωn Z {y(k + 1)} + ωn2 Z {y(k)} = Kωn2 Z {u(k)}


z2 Z {y(k)} + 2ξ ωn zZ {y(k)} + ωn2 Z {y(k)} = Kωn2 Z {u(k)}
z2 y(z) + 2ξ ωn zy(z) + ωn2 y(z) = Kωn2 u(z)
z2 + 2ξ ωn z + ωn2 y(z) = Kωn2 u(z)


y(z) Kωn2
Huy (z) = = 2
u(z) z + 2ξ ωn z + ωn2

Constante DC:
KDC := lim Huy (z)
z→1
Kωn2
= lim
z→1 z2 + 2ξ ωn z + ωn2

Kωn2
=
1 + 2ξ ωn + ωn2

Polos:

z2 + 2ξ ωn z + ωn2 = 0
p
−2ξ ωn ± 4ξ 2 ωn2 − 4ω 2
z=
·1
2p
= −ξ ωn ± ȷ̂ωn 1 − ξ 2

MPC 2023-1 145 Análisis de Sistemas


Para una ecuación de diferencias,
n m
∑ ai y(kT + iT ) = ∑ b j u(kT + jT )
i=0 j=0

donde an = 1, y con condiciones iniciales nulas, i.e. y(0) = u(0) = 0,

Definición 4.3 (Función de Transferencia (discreta)).


m j
y(z) ∑ j=0 b j z bm zm + · · · + b1 z + b0
Huy (z) = = n =
u(z) ∑i=0 ai zi zn + an−1 zn−1 + . . . a1 z + a0

• Definición 4.3.1 (Polinomio característico).


n
d(z) = ∑ ai zi = zn + an−1 zn−1 + . . . a1 z + a0
i=0

• Definición 4.3.2 (Polos).

P(Huy (z)) = {λ ∈ C|d(λ ) = 0}

• Definición 4.3.3 (Ceros).


( )
m
j
C(Huy (z)) = z ∈ C|n(z) = ∑ b jz =0
j=0

• Definición 4.3.4 (Diagrama de bloque).

u(kT ) Huy (z) y(kT )

La salida en el dominio del tiempo

y(kT ) = Z −1 Huy (z)u(z)




= huy (kT ) ∗ u(kT )

¿Qué pasa con entrada impulso?

y(z) = Huy (z)u(z)


= Huy (z)δ (z)
= Huy (z) · 1

y(kT ) = Z −1 Huy (z) = huy (kT )




MPC 2023-1 146 Análisis de Sistemas


¿Qué pasa a largo plazo ante entrada constante?

lim y(kT ) = lim (1 − z−1 ) · y(z)


k→∞ z→1
= lim (1 − z−1 ) · Huy (z)u(z)
z→1
= lim (1 − z−1 ) · Huy (z)H(z)
z→1
1
= lim (1 − z−1 ) · Huy (z)
z→1 (1 − z−1 )
= lim Huy (z)
z→1

¿Con condición inicial distinta de cero?

x(k + 1) = Ax(k) =⇒ zx(z) − zx0 = Ax(z)


=⇒ x(z) = (zI − A)−1 zx0
n o
=⇒ x(z) = Z Ak x0

n o
Z {Φ
Φ(k)} = Z Ak = (zI − A)−1 z

¿Y en un sistema MIMO?:

x(k + 1) = Ax(k) + Bu(k) =⇒ Z {x(k + 1)} = Z {Ax(k) + Bu(k)}


=⇒ zx(z) = Ax(z) + Bu(z)
=⇒ (zI − A) x(z) = Bu(z)
1
=⇒ x(z) = (zI − A)−1 Bu(z) = adj {zI − A} Bu(z)
det {zI − A}
 
1
=⇒ y(z) = Cx(z) + Du(z) = C adj {zI − A} B + D u(z)
det {zI − A}

Definición 4.4 (Matriz de Transferencia (discreta)).

Huy (z) = C (zI − A)−1 B + D

• Definición 4.4.1 (Polinomio característico).

d(z) = det {zI − A}

• Definición 4.4.2 (Polos).

P(Huy (z)) = {λ ∈ C|d(λ ) = 0}

MPC 2023-1 147 Análisis de Sistemas


4.1.3 Retentor de orden cero

v(k) v(t)

k t

v(kT ) S/H v(t)

Respuesta a impulso discreto:

u(k) u(t)

H(t) − H(t − T )
δ (kT )

k t

1 − e−sT
HS/H (s) = L {H(t) − H(t − T )} =
s

Ejemplo 4.5 (Controlador Digital).

p(t)

yr (k) e(k) v(k) v(t) u(t) y(t)


+ z−1 Hc (z) S/H Ha (s) Huy (s),H py (s)

yst (k) yst (t)


S Hst (s)

Sistema Digital

MPC 2023-1 148 Análisis de Sistemas


4.2 Análisis en frecuencia
4.2.1 Entradas periódicas

Ejemplo 4.6 (Entrada sinusoidal). Asumamos una entrada sinusoidal a un sistema


de primer orden sencillo:
1
y(s) = L {sin(ωt)}
s+a
La respuesta en el tiempo corresponde a lo siguiente:
ω 1
y(t) = e−at + √ sin (ωt − arctan(ω/a))
a2 + ω 2 a2 + ω 2
¿Cómo la determinamos? Caminos largos y sinuosos:
a) Fracciones reales
Separando en fracciones parciales reales, debe cumplirse que:
A Bs +C
y(s) = +
s + a s2 + ω 2
A(s2 + ω 2 ) + (Bs +C)(s + a)
=
(s + a)(s2 + ω 2 )
(A + B)s2 + (aB +C)s + (Aω 2 + aC)
= .
(s + a)(s2 + ω 2 )

Desde donde se desprende el siguiente sistema de ecuaciones reales.

A+B = 0
aB +C = 0
Aω 2 + aC = ω

Combinando la primera y la tercera ecuación tenemos que

−Bω 2 + aC = ω

Remplazando desde la segunda ecuación,

−Bω 2 − a2 B = ω

para despejar
ω
B=−
ω 2 + a2
Desde donde obtenemos que:
ω
A=
ω 2 + a2

MPC 2023-1 149 Análisis de Sistemas


y

C=
ω 2 + a2
Con ello,
ω 1 a ω ω s
y(s) = + −
ω 2 + a2 s + a ω 2 + a2 ω 2 + s2 ω 2 + a2 ω 2 + s2
Aplicando anti-transformada de Laplace se obtiene:
ω a ω
y(t) = e−at + sin(ωt) − cos(ωt) (4.1)
ω 2 + a2 ω 2 + a2 ω 2 + a2
b) Fracciones complejas
Recordemos la ecuación de Euler:

eȷ̂θ = cos(θ ) + ȷ̂ sin(θ )

Desde donde se deduce que:


1  ȷ̂θ 
sin(θ ) = e − e−ȷ̂θ
2ȷ̂
1  ȷ̂θ 
e + e−ȷ̂θ
cos(θ ) =
2
Usando estas expresiones podemos proponer un desarrollo alternativo por
fracciones parciales:
A B C
y(s) = + +
s + a s + ȷ̂ω s − ȷ̂ω
A(s2 + ω 2 ) + B(s + a)(s − ȷ̂ω) +C(s + a)(s + ȷ̂ω)
=
(s + a)(s + ȷ̂ω)(s − ȷ̂ω)
(A + B +C)s2 + (B(a − ȷ̂ω) +C(a + ȷ̂ω))s + (Aω 2 + B(−aȷ̂ω) +C(aȷ̂ω))
=
(s + a)(s2 + ω 2 )

Que tiene la ventaja de utilizar solamente expresiones de primer orden, pero la


desventaja de que A, B, y C corresponden a números complejos y no solamente
reales. En efecto, resolviendo el sistema de ecuaciones (complejas) implícito se
obtiene que:
ω
A=
a2 + ω 2
1 a + ȷ̂ω
B = ȷ̂
2 a2 + ω 2
1 a − ȷ̂ω
C = −ȷ̂ 2
2 a + ω2

MPC 2023-1 150 Análisis de Sistemas


Luego,
ω 1 1 a + ȷ̂ω 1 1 a − ȷ̂ω 1
y(s) = + ȷ̂ 2 − ȷ̂ 2
a2 + ω 2 s + a 2 a + ω 2 s + ȷ̂ω 2 a + ω 2 s − ȷ̂ω
Y su antitransformada de Laplace queda como:
ω 1 a + ȷ̂ω −ȷ̂ωt 1 a − ȷ̂ω ȷ̂ωt
y(t) = e−at + ȷ̂ 2 e − ȷ̂ 2 e
a2 + ω 2 2 a + ω2 2 a + ω2
Queda como ejercicio llegar desde esta expresión a (4.1).
c) Una relación trigonométrica
Considere la suma
S = A sin(x) + B cos(x)
A ȷ̂x  B ȷ̂x
e − e−ȷ̂x + e + e−ȷ̂x

=
2ȷ̂ 2
1 1
= (B − ȷ̂A) eȷ̂x + (B + ȷ̂A) e−ȷ̂x
2 2
1 p 2  1 p 2 
= A + B2 e−ȷ̂φ eȷ̂x + A + B2 eȷ̂φ e−ȷ̂x
2 2
1p 2 2

ȷ̂(x−φ ) −ȷ̂(x−φ )

= A +B e +e
2
p
= A2 + B2 cos(x − φ )

donde el ángulo φ = arctan(A/B) (ver imagen más abajo). Notar que desde el
triángulo que caracteriza a la relación trigonométrica también se desprende que,

φ = arctan(A/B) = π/2 − arctan(B/A)

Luego,
p
S= A2 + B2 cos(x − π/2 + arctan(B/A))
p
= A2 + B2 cos(−x − arctan(B/A) + π/2)
p
= A2 + B2 sin(x + arctan(B/A))

MPC 2023-1 151 Análisis de Sistemas


ȷ̂R

π −φ p
2 r= A2 + B2

φ B

−φ R
p
r= A2 + B2

−A

Relación final
Utilizando la propiedad trigonométrica anterior, se tiene que (4.1) se puede
transformar en:
ω 1
y(t) = e−at + √ sin(ωt + arctan(−ω/a))
ω 2 + a2 ω 2 + a2
ω 1
= 2 2
e−at + √ sin(ωt − arctan(ω/a))
ω +a ω + a2
2

Si huy (t) es la salida a entrada impulso de un sistema:


y(t) = huy (t) ∗ u(t)
Ante entrada sinusoidal: u(t) = eȷ̂ωt = cos(ωt) + ȷ̂ sin(ωt)
y(t) = huy (t) ∗ eȷ̂ωt
Z +∞
= huy (τ)eȷ̂ω(t−τ) dτ
−∞
Z +∞
= huy (τ)e−ȷ̂ωτ eȷ̂ωt dτ
−∞
Z +∞
= eȷ̂ωt huy (τ)e−ȷ̂ωτ dτ
−∞
= eȷ̂ωt F huy (t)


y(t) = Huy (ȷ̂ω)eȷ̂ωt

 
Huy (ȷ̂ω) = real Huy (ȷ̂ω) + ȷ̂ imag Huy (ȷ̂ω)
= |Huy (ȷ̂ω)| Huy (ȷ̂ω) = |Huy (ȷ̂ω)|eȷ̂ ∠Huy (ȷ̂ω)

MPC 2023-1 152 Análisis de Sistemas


Ejemplo 4.7 (Módulo y fase). Consideremos la función de transferencia del Ejem-
plo 4.6:
1
H(s) =
s+a
Evaluando en s = ȷ̂ω:

ȷ̂R
Ĥ(ω) = H(s)|s=ȷ̂ω a
1 a2 +ω 2
=
ȷ̂ω + a
α R
1 a − ȷ̂ω
=
ȷ̂ω + a a − ȷ̂ω r
a − ȷ̂ω
= 2
a + ω2
ω
− a2 +ω 2

El módulo de la función anterior:



r = Ĥ(ω)

a − ȷ̂ω
= 2

a + ω2
1
= 2 |a − ȷ̂ω|
a + ω2
1
q
= 2 a2 + (−ω)2
a + ω2
1
=p
a + (−ω)2
2

Y su fase:
α = 2π − ψ
ω
ω 2 +a2
tan(α) = a = ω/a
ω 2 +a2
tan(2π − ψ) = ω/a
tan(−ψ) = ω/a
− tan(ψ) = ω/a
ψ = − arctan(ω/a)
Ĥ(ω) = − arctan(ω/a)

MPC 2023-1 153 Análisis de Sistemas


4.2.2 Diagramas de Bode

Definición 4.5 (Diagrama de Bodea ). Es el gráfico del módulo (medido en deci-


belesb [dB]), y la fase (medida en grados [°]) de una función de transferencia,
H(s)|s=ȷ̂ω ∈ C, como función de la frecuencia angular ω (medida en [rad/s]) en
escala logarítmica.

a https://en.wikipedia.org/wiki/Hendrik_Wade_Bode
b https://en.wikipedia.org/wiki/Alexander_Graham_Bell

Cantidad en decibeles:
|H(s)|[dB] = 20 log (|H(s)|)

Ejemplo 4.8 (Bode de integrador).

Huy (s) = 1/s


Bode Diagram

40

30

20
Magnitude (dB)

10

-10

-20

-30

-40
-89

-89.5
Phase (deg)

-90

-90.5

-91
10 -2 10 -1 10 0 10 1 10 2
Frequency (rad/s)

MPC 2023-1 154 Análisis de Sistemas


Código 4.1: Diagramas de Bode (A4C1_Bode.m)
1 %%%%%%%%%%%%%%%%%%%%%%%%%%%%
2 s = tf('s'); %s de Laplace
3 %%%%%%%%%%%%%%%%%%%%%%%%%%%%
4 %integrador
5 H = 1/s;
6
7 figure
8 rangofrec = {1e−2,1e2};
9 bode(H,rangofrec)
10 grid

Ejemplo 4.9 (Bode de primer orden).

Huy (s) = 1/(s + a)


Bode Diagram

-5

-10
Magnitude (dB)

-15

-20

-25

-30

-35

-40
0
Phase (deg)

-45

-90
10 -2 10 -1 10 0 10 1 10 2
Frequency (rad/s)

MPC 2023-1 155 Análisis de Sistemas


Código 4.2: Diagramas de Bode (A4C1_Bode.m)
11 %%%%%%%%%%%%%%%%%%%%%%%%%%%%
12 %primer orden
13 a = 2;
14 H = 1/(s+a);
15
16 figure
17 bode(H,rangofrec)
18 grid

Ejemplo 4.10 (Bode de segundo orden).

ωn2
Huy (s) = k
s2 + 2ξ ωn s + ωn2

ωn ∈ {0, 5; 1, 0; 1, 5}
Bode Diagram

-20
Magnitude (dB)

-40

-60

-80

-100
0

-45
Phase (deg)

-90

-135

-180
10 -2 10 -1 10 0 10 1 10 2
Frequency (rad/s)

MPC 2023-1 156 Análisis de Sistemas


ξ ∈ {0, 25; 1, 0; 2, 5}
Bode Diagram

50

0
Magnitude (dB)

-50

-100
0

-45
Phase (deg)

-90

-135

-180
10 -2 10 -1 10 0 10 1 10 2
Frequency (rad/s)

k ∈ {0, 5; 1, 0; 1, 5}
Bode Diagram

50

0
Magnitude (dB)

-50

-100
0

-45
Phase (deg)

-90

-135

-180
10 -2 10 -1 10 0 10 1 10 2
Frequency (rad/s)

MPC 2023-1 157 Análisis de Sistemas


Ejemplo 4.11 (Amplificadores Operacionales).

Rf Rf

R1 R1

− −
vo (t) vo (t)
vi (t) + vi (t) +
R
C C R

 
  Rf s
Rf 1/(CR) H pa (s) = +1
H pb (s) = +1 R1 s + 1/(CR)
R1 s + 1/(CR)

Bode Diagram Bode Diagram

10 10

0 0
Magnitude (dB)

Magnitude (dB)

-10 -10

-20 -20

-30 -30

-40 -40
0 90
Phase (deg)

Phase (deg)

-45 45

-90 0
10 -1 10 0 10 1 10 2 10 3 10 4 10 5 10 6 10 -1 10 0 10 1 10 2 10 3 10 4 10 5 10 6
Frequency (rad/s) Frequency (rad/s)

MPC 2023-1 158 Análisis de Sistemas


Ejemplo 4.12 (Filtro Pasa Banda).

Hab (s) = H pb (s)H pa (s)


Bode Diagram

20

10
Magnitude (dB)

-10

-20

-30
90

45
Phase (deg)

-45

-90
10 -1 10 0 10 1 10 2 10 3 10 4 10 5 10 6
Frequency (rad/s)

MPC 2023-1 159 Análisis de Sistemas


4.2.3 Reglas de construcción de diagramas de Bode asintóticos
! ! ! !
2 s2 + 2ξi ωn,i s + ωn,i
2
pi s + ci ω n,i
Huy (s) = ks±N ∏ ∏ ci ∏ s2 + 2ξi ωn,i s + ω 2 ∏ 2
i s + pi i i n,i i ωn,i

Para ω → 0+ :
• Sistema sin polos ni ceros en el origen. Ej. Huy (s) = 1/(s + a)
– Módulo es 20 log Huy (0)[dB] (recta horizontal).
– Fase es 0° (recta horizontal).

• Sistema con N polos en el origen. Ej. Huy (s) = 1/sN


– Módulo varía −20N[dB/dec] (recta de pendiente negativa).
– Fase es −N · 90° (recta horizontal).

• Sistema con N ceros en el origen. Ej. Huy (s) = sN


– Módulo varía +20N[dB/dec] (recta de pendiente positiva).
– Fase es N · 90° (recta horizontal).

Para ω > 0:

• Un polo real de orden r ubicado en s = −a < 0. Ej. Huy (s) = ar /(s + a)r .
– Módulo varía −20r[dB/dec] a partir de ω = a.
– Fase comienza a bajar una década antes de ω = a y una década después
completa una disminución de r · 90°.
– Para suavizar la curva de magnitud, se restan 3r[dB] al valor de magnitud
en ω = a.
• Un cero real de orden r ubicado en s = −a < 0. Ej. Huy (s) = (s + a)r /ar .
– Módulo varía +20r[dB/dec] a partir de ω = a.
– Fase comienza a subir una década antes de ω = a y una década después
completa una alza de r · 90°.
– Para suavizar la curva de magnitud, se agregan 3r[dB] al valor de magnitud
en ω = a.
• Un par de polos complejos conjugados con parte real no positiva tales que (s/ωn )2 +
2ξ (s/ωn ) + 1 = 0.
– Módulo varía −40[dB/dec] a partir de ω = ωn .
– Fase comienza a bajar antes de ω = ωn y completa una disminución de
180°.

MPC 2023-1 160 Análisis de Sistemas


– Para valores de ξ ≤ 0, 5, la magnitud presenta un "pico de resonancia" y el
cambio de la fase es abrupto.

• Un par de ceros complejos conjugados con parte real no positiva tales que (s/ωn )2 +
2ξ (s/ωn ) + 1 = 0.
– Módulo varía +40[dB/dec] a partir de ω = ωn .
– Fase comienza a subir antes de ω = ωn y completa una alza de 180°.
– Para valores de ξ ≤ 0, 5, la magnitud presenta un "pico de resonancia" y el
cambio de la fase es abrupto.

Ejemplo 4.13 (Bode Asintótico).

0, 001 s + 0, 1 102 s2 + 4 000s + 10 0002


Huy (s) = 1 2 2
s + 0, 001 0, 1 s + 4s + 10 10 0002
Bode Diagram

20

-20

-40
Magnitude (dB)

-60

-80

-100

-120

-140

-160

-180

-200
0

-45
Phase (deg)

-90

-135

-180
10 -5 10 -4 10 -3 10 -2 10 -1 10 0 10 1 10 2 10 3 10 4 10 5 10 6 10 7
Frequency (rad/s)

MPC 2023-1 161 Análisis de Sistemas


Ejemplo 4.14 (Sistema de fase no mínima).

−100s + 100
100s + 100 H2 (s) =
H1 (s) = s2 + 60s + 100
s2 + 60s + 100

Bode Diagram Bode Diagram

10 10

5 5

0 0

Magnitude (dB)
Magnitude (dB)

-5 -5

-10 -10

-15 -15

-20 -20

-25 -25

-30 -30

45 360

0 270
Phase (deg)
Phase (deg)

-45 180

-90 90
10 -2 10 -1 10 0 10 1 10 2 10 3 10 -2 10 -1 10 0 10 1 10 2 10 3
Frequency (rad/s) Frequency (rad/s)

MPC 2023-1 162 Análisis de Sistemas


4.2.4 Retardos continuos
L { f (t − θ )} = L { f (t)} e−sθ
Además,
e−sθ = e−ȷ̂ωθ = cos(ωθ ) − ȷ̂ sin(ωθ )

s=ȷ̂ω
2
−sθ
= cos2 (ωθ ) + sin2 (ωθ ) = 1

e
s=ȷ̂ω
 
− sin(ωθ )
arg{ e−sθ } = arctan = −ωθ

s=ȷ̂ω cos(ωθ )

Ejemplo 4.15 (Bode con retardo).

Huy (s) = e−sθ /(s + a)

θ ∈ {0, 0; 0, 01; 0, 02}


Bode Diagram

-5

-10
Magnitude (dB)

-15

-20

-25

-30

-35

-40
0

-90
Phase (deg)

-180

-270
10 -2 10 -1 10 0 10 1 10 2
Frequency (rad/s)

MPC 2023-1 163 Análisis de Sistemas


4.2.5 Diagramas de Bode en tiempo discreto
y(kT ) = huy (kT ) ∗ eȷ̂ΩkT
+∞
= ∑ huy (iT )eȷ̂Ω(k−i)T
i=−∞
+∞
= ∑ huy (iT )eȷ̂ΩkT e−ȷ̂ΩiT
i=−∞
+∞
= eȷ̂ΩkT ∑ huy (iT )e−ȷ̂ΩiT
i=−∞

F huy (kT )
ȷ̂ΩkT

=e
= eȷ̂ΩkT Z huy (kT ) z=eȷ̂ΩT


y(kT ) = Huy (eȷ̂ΩT )eȷ̂ΩkT

Ejemplo 4.16 (Bode discreto).

Huy (z) = b/(z − a)

T = 0, 2, a = e−10T , b = 1 − a.
0

-0.5
Magnitude [dB]

-1

-1.5

-2

-2.5

200

150

100
Phase [deg]

50

-50

-100

-150

-200
10 -2 10 -1 10 0 10 1 10 2 10 3
Frequency [rad/s]

MPC 2023-1 164 Análisis de Sistemas


4.3 Ejercicios resueltos

Ejemplo 4.17 (Ejercicio resuelto en tiempo continuo). Considerando una


ecuación diferencial con entrada retardada, se puede aplicar transformada de
Laplace para obtener una función de transferencia:

aẏ(t) + by(t) = cu(t − θ )


=⇒ (as + b)y(s) = ce−sθ u(s)
y(s) c
=⇒ Huy (s) = = e−sθ
u(s) as + b

La estabilidad depende de los polos del sistema. Estos se obtienen encontrando


las raíces del polinomio característico. En este caso tenemos, as + b = 0, luego
el polo de este sistema se da en s = −b/a < 0, que se encuentra en el semiplano
izquierdo y por lo tanto el sistema es estable.

1
Ti s

v(t) u(t) y(t)


+ KP Huy (s)

Del diagrama en bloques anterior, se puede obtener que,


 
1 Ti s + 1
u(s) = KP 1 + v(s) = KP v(s)
Ti s Ti s

Luego,
y(s) u(s) y(s) Ti s + 1 c
Hvy (s) = = = KP e−sθ
v(s) v(s) u(s) Ti s (as + b)
El diagrama de Bode asintótico de esta función puede esbozarse utilizando las
reglas de construcción contenidas en el capítulo. Como la función presenta un
polo en el origen, el módulo del diagrama es decreciente para frecuencias bajas.
Esto se ve acentuado para frecuencias mayores, si es que el polo ocurre antes
que el cero. De lo contrario, el cero compensa la caída inicial. De cualquier
modo, para frecuencias altas, después del polo y el cero, el diagrama de módulo
es decae 20[dB] por década. El efecto del retardo hace que el diagrama de fase
sea marcadamente decreciente.
La respuesta escalón del sistema se produce cuando v(s) = 1/s. Reemplazando

MPC 2023-1 165 Análisis de Sistemas


en la función de transferencia y separando en fracciones parciales tenemos:
Ti s + 1 c 1
y(s) = KP e−sθ
Ti s (as + b) s
 
KP c As + B C
= + e−sθ
Ti a s2 s + b/a

Donde las constantes A, B, y C se deducen del sistema de ecuaciones asociado a


igualar los términos de los polinomios en los numeradores:

A +C = 0
b
B + A = Ti
a
b
B =1
a
Lo cual lleva a:
a a2
A = Ti − 2
b b
a
B=
b
a a2
C = −Ti + 2
b b
Con ello, aplicando antitransformada de Laplace se obtiene que:

y(t) = L −1 {y(s)}
  
KP c −1 As + B C −sθ
= L + e
Ti a s2 s + b/a
  
KP c −1 A B C −sθ
= L + + e
Ti a s s2 s + b/a
KP c  b

= A · H(t − θ ) + B · (t − θ )H(t − θ ) +C · e− a (t−θ ) H(t − θ )
Ti a
KP c  b

= A · H(t − θ ) + B · r(t − θ ) +C · e− a (t−θ ) H(t − θ )
Ti a
a a2 a a2 − b (t−θ )
    
KP c a
= Ti − 2 H(t − θ ) + r(t − θ ) + −Ti + 2 e a H(t − θ )
Ti a b b b b b

MPC 2023-1 166 Análisis de Sistemas


Ejemplo 4.18 (Ejercicio resuelto en tiempo discreto).

Considere la siguiente ecuación de diferencias,

ay(k) − by(k − 1) = cu(k)

Aplicando transformada Z se obtiene,

(a − b · z−1 )y(z) = c · u(z)


y(z) c
=⇒ Huy (z) = =
u(z) a − b · z−1

La estabilidad depende de los polos del sistema. Estos se obtienen encontrando


las raíces del polinomio característico. En este caso tenemos, a − b · z−1 = 0,
luego el polo de este sistema se da en z = b/a, que se encuentra dentro del círculo
unitario cuando b < a. En tal caso, el sistema es estable entrada/salida.

v(k) u(k) y(k)


+ KC z−1 Huy (z)

Del diagrama anterior se deducen las siguientes ecuaciones:

e(z) = v(z) − y(z)


1
u(z) = KC e(z)
z
y(z) = Huy (z)u(z)

Combinándolas, se obtiene que


1
y(z) = Huy (z)KC (v(z) − y(z))
z
Desde donde se puede despejar,

y(z) Huy (z)KC 1z


Hvy (z) = =
v(z) 1 + Huy (z)KC 1z

MPC 2023-1 167 Análisis de Sistemas


Reemplazando la función de transferencia anterior, se obtiene:
c
K
a−b·z−1 C c · KC
Hvy (z) = c =
z + a−b·z−1 KC az − b + c · KC

Evaluando la función de transferencia para analizar en frecuencia se obtiene:


c · KC c · KC
Hvy (eȷ̂ΩT ) = =
a · eȷ̂ΩT− b + c · KC (a cos(ΩT ) − b + c · KC ) + ȷ̂ sin(ΩT )

Desde aquí, el módulo se puede calcular como:


c · KC

ȷ̂ΩT

Hvy (e ) =

(a cos(ΩT ) − b + c · KC ) + ȷ̂ sin(ΩT )
|c · KC |
=
|(a cos(ΩT ) − b + c · KC ) + ȷ̂ sin(ΩT )|
|c · KC |
=q
(a cos(ΩT ) − b + c · KC )2 + sin2 (ΩT )

Y para la fase se tiene:


c·KC
Hvy (eȷ̂ΩT ) = (a cos(ΩT )−b+c·K
C )+ȷ̂ sin(ΩT )
= c · KC − (a cos(ΩT ) − b + c · KC ) + ȷ̂ sin(ΩT )
= 0 − (a cos(ΩT ) − b + c · KC ) + ȷ̂ sin(ΩT )
 
sin(ΩT )
= − arctan
a cos(ΩT ) − b + c · KC

Si la entrada corresponde a v(kT ) = sin(Ω0 T k), entonces


la parte periódica de la señal de salida corresponde a
y p (kT ) = Hvy (eȷ̂Ω0 T ) sin Ω0 T k + Hvy (eȷ̂Ω0 T ) . Es decir, basta con evaluar las


expresiones para el módulo y la fase en Ω = Ω0 para caracterizar la salida del


sistema.

MPC 2023-1 168 Análisis de Sistemas


Ejemplo 4.19 (Diagrama de Bode asintótico).

Considere la función de transferencia:


24 000s + 12 000
H(s) =
s2 + 320s + 6 000

Ésta puede reescribirse como:


s + 0, 5
H(s) = 2 · 2 · 20 · 300
(s + 20)(s + 300)
Desde donde se desprende que tiene ganancia DC corresponde a H(0) = 2 · 2 · 20 ·
0,5
300 20·300 = 2 o equivalentemente en [dB], |H(0)|dB = 20 log(2) ≈ 6.0206[dB].
Además, la función tiene un cero en sZ = −1/2, y dos polos en sP,1 = −20 y
sP,2 = −300.
Con esta información y siguiendo las reglas de construcción, el diagrama de
Bode asintótico de módulo comienza como una recta horizontal en el valor de la
constante DC, y cuando llega a ω = 0, 5[rad/s] comienza a aumentar
20[dB/dec]. En ω = 20[rad/s] el aumento de módulo se contrarrestra por la
acción del polo, por lo que el diagrama se mantiene como una recta horizontal,
hasta llegar al segundo polo en ω = 300[rad/s], donde el diagrama comienza a
disminuir 20[dB/dec].
La fase corresponde a 0° hasta el nivel del cero, donde aumenta a +90°, para
volver a 0° ante la acción del primero polo, y bajar hasta −90° ante la acción del
segundo polo.
Lo anterior puede verse en la Figura de más abajo, donde se muestra el dia-
grama de Bode y sus asíntotas, además de las posiciones de los ceros y polos.

40

30
Magnitud [dB]

20

10

-10

100

50
Fase [deg]

-50

-100
10 -2 10 -1 10 0 10 1 10 2 10 3 10 4 10 5
Frequencia [rad/s]

La figura fue construida con el siguiente código Matlab:

MPC 2023-1 169 Análisis de Sistemas


Código 4.3: Bode Asintótico (A4C4_BodeEjercicio.m)
1 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2 %FdeT
3 H = tf([24000,12000],[1,320,6000]);
4
5 sp = pole(H);
6 sz = zero(H);
7 HDC = evalfr(H,0);
8
9 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
10 %Respuesta Frecuencia
11 omega = logspace(−2,5,100) ;
12 temp = freqresp(H,omega);
13 Hjomega(1,:) = temp(1,1,:);
14
15 omega1 = min(abs(sp));
16 omega2 = max(abs(sp));
17 omegaz = abs(sz);
18
19 HdB = 20*log10(abs(Hjomega));
20 phi = 180*angle(Hjomega)/pi;
21
22 HDCdB = 20*log10(HDC);
23
24 omegasingular = [min(omega),omegaz,...
25 omegaz,omega1,...
26 omega1,omega2,...
27 omega2,max(omega)
28 ];
29 phiAsint = [0,0,...
30 90,90,...
31 0,0,...
32 −90,−90];
33 HdBasint = [0,0,...
34 0,20*(log10(omega1)−log10(omegaz)),...
35 20*(log10(omega1)−log10(omegaz)),...
36 20*(log10(omega1)−log10(omegaz)),...
37 20*(log10(omega1)−log10(omegaz)),...
38 20*(log10(omega1)−log10(omegaz))−20*(log10(max(omega))−log10(omega2))
39 ]+HDCdB;
40
41 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
42 figure
43 subplot(2,1,1)
44 box
45 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
46 %Bode
47 semilogx(omega,HdB,'k−','LineWidth',2)
48 hold
49 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
50 %Bode asintOtico
51 semilogx(omegasingular,HdBasint,'k−−','LineWidth',1);
52 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
53 %Polos, ceros y Kdc
54 semilogx(omega1*[1,1]',[min(HdB)−10, ...
max(HdB)+10]','r−','LineWidth',1);

MPC 2023-1 170 Análisis de Sistemas


55 semilogx(omega2*[1,1]',[min(HdB)−10, ...
max(HdB)+10]','r−','LineWidth',1);
56 semilogx(omegaz*[1,1]',[min(HdB)−10, ...
max(HdB)+10]','b−','LineWidth',1);
57 semilogx([omega(1),omega(end)]',...
58 HDCdB*[1,1]','g:','LineWidth',2);
59 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
60 grid
61 axis([omega(1), omega(end),min(HdB), ...
round(max(HdB))+10])
62 ylabel('Magnitud [dB]')
63 set(gca,'xticklabel',{});
64
65 subplot(2,1,2)
66 box
67 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
68 %Bode
69 semilogx(omega,phi,'k−','LineWidth',2);
70 hold
71 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
72 %Bode asintOtico
73 semilogx(omegasingular,phiAsint,'k−−','LineWidth',1);
74 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
75 %Polos, ceros y Kdc
76 semilogx(omega1*[1,1]',[min(phiAsint)−10, ...
max(phiAsint)+10]','r','LineWidth',1);
77 semilogx(omega2*[1,1]',[min(phiAsint)−10, ...
max(phiAsint)+10]','r','LineWidth',1);
78 semilogx(omegaz*[1,1]',[min(phiAsint)−10, ...
max(phiAsint)+10]','b','LineWidth',1);
79 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
80 grid
81 axis([omega(1), omega(end),min(phiAsint)−10, ...
max(phiAsint)+10])
82 xlabel('Frequencia [rad/s]')
83 ylabel('Fase [deg]')

MPC 2023-1 171 Análisis de Sistemas


4.4 Ejercicios propuestos
4.4.1 Funciones de Transferencia
E 4.1: SOTF. Encuentre las FdeT asociadas a las siguientes ecuaciones diferenciales.
Determine sus polos, ceros, constantes DC, respuesta a escalón y analice la convergen-
cia de su solución.

ÿ(t) + 2 · 2 · 10ẏ(t) + 102 y(t) = 5 · 102 u(t)


1
ÿ(t) + 2 · · 10ẏ(t) + 102 y(t) = 5 · 102 u(t)
2
1
ÿ(t) + 2 · · 10ẏ(t) + 102 y(t) = 5 · 102 u(t − 3)
2

E 4.2: TOTF. Encuentre la constante DC, ceros y polos de la siguiente FdeT con τ > 0,
ωn > 0, y 0 < ξ < 1. Grafique sus polos y ceros en el plano complejo, determine su
parte real e imaginaria, y su módulo y fase.

1 ωn2
H(s) =
τs + 1 s2 + 2ξ ωn s + ωn2

E 4.3: Diagramas de bloques. Encuentre la función de transferencia de los sistemas


que se muestran a continuación, considerando la señal y(·) como salida.

PLL

y(t)
1
θi (t) + K s θo (t)

Máquina sincrónica

∆P̄(t)
K1
− y(t)
1 1
∆P̄m (t) + 2Hs s ∆δ (t)

K2

MPC 2023-1 172 Análisis de Sistemas


Controlador PI

1/(Ti s)

yre f (t) u(t) y(t)


+ + Kp H1 (s)
− e(t)

Lazo de Ctrl Digital

yre f (k) e(k) w(k) u(k) y(k)


+ H2 (z) 1/z H1 (z)

Predictor Smith

yr e y
+ + hc (s) huy (s)e−tr s
− −

1 − e−tr s pm (s)

MPC 2023-1 173 Análisis de Sistemas


Distintas perturbaciones

yr e y
+ Hc Huy +

yr e y
+ Hc + Huy

E 4.4: FdeT.
1) Encuentre las funciones de transferencia entre las entradas u(·) y las salidas y(·) en
los siguientes sistemas:

a) d
dt y(t) + y(t) = u(t) j) y(k + 1) + 12 y(k) = u(k)
d2
b) dt 2
y(t) + y(t) = u(t) k) y(k + 1) + 32 y(k) = u(k)
d3
c) dt 3
y(t) + y(t) = u(t) l) y(k + 1) + y(k) = u(k)
d
d) dt y(t) + 2y(t) = 10u(t − 2) m) y(k + 2) + y(k) = u(k)
d d
e) dt y(t) + 2y(t) = dt u(t)
n) y(k + 3) + y(k) = u(k)
f) τ dtd y(t) + y(t) = ku(t)
g) τ dtd y(t) + y(t) = ku(t − θ ) o) y(k + 1) + ay(k) = u(k − 1), a > 0
h) τ dtd y(t) + y(t) = k dtd u(t − θ ) p) y(k + 1) + ay(k) = u(k + 1), a > 0
d2
i) dt 2
y(t) + 2ξ ωn dtd y(t) + ωn2 y(t) = q) y(k + 1) + ay(k) = u(k) − u(k − 1),
kωn2 u(t − θ ) a>0

MPC 2023-1 174 Análisis de Sistemas


2) Determine los polos, ceros, y ganancias DC de las funciones del apartado anterior.

3) Determine las respuestas a impulso, escalón, rampa, y exponencial compleja de las


funciones del apartado anterior.
4) Esboce los diagramas de Bode asintóticos de las funciones del apartado anterior.

4.4.2 Diagrama de Bode


E 4.5: Bodes Asintóticos. Esboce el diagrama de Bode asintótico de las siguientes
funciones de transferencia.
1
H(s) =
s + 0, 02
1
H(s) = 2
s + 0, 3s + 0, 02
s+1
H(s) = 2
s + 0, 3s + 0, 02
s+1
H(s) = 2 e−0.1s
s + 0, 3s + 0, 02

E 4.6: Bodes en Matlab. Escriba un programa que dibuje los diagramas de Bode de
las funciones en el ejercicio anterior.
E 4.7: Laboratorio. En una experiencia de laboratorio, se determinaron las ganancias
de amplificación para distintas frecuencias de la señal de entrada, en circuitos ampli-
ficadores basados en transistores BJT y FET. Los valores experimentales se ven en la
tabla más abajo. Proponga funciones de transferencia que describan el comportamiento
de los amplificadores, detalle sus polos, ceros, y ganancia DC.

BJT FET
f [Hz]
Av [V /V ] Av [V /V ]
1 2,0166 2,1447
5 2,8203 3,2935
10 2,8920 3,3657
50 2,9154 3,3899
100 2,9160 3,3906
500 2,9161 3,3909
1000 2,9161 3,3909
5000 2,9161 3,3909

MPC 2023-1 175 Análisis de Sistemas


A Software de cómputo numérico
A.1 Guía de programación en Matlab©
Las siguientes notas son una muy breve introducción para programar en Matlab© con
énfasis en los contenidos del curso. Los comentarios siguientes se hacen en base al
archivo intro_ML.m disponible como material complementario del curso.

A.1.1 Generalidades
Las siguientes líneas corresponden a algunas operaciones básicas de matrices.

1 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2 %definir un escalar
3 T = 1;
4 %definir matrices
5 A = [−3 1;
6 −1 −3];
7 B = [2;
8 1];
9 I = eye(2,2); %matriz identidad
10 unos = ones(2,2); %matriz de unos
11 %funciones de una matriz cuadrada
12 [fil,col] = size(A);
13 lambda = eig(A); %valores propios
14 realLambda = real(lambda); %parte real de los valores ppios
15 imagLambda = imag(lambda); %parte imaginaria de los valores ...
ppios
16 absLambda = abs(lambda); %mOdulo de valores ppios
17 [V,D] = eig(A); %valores y vectores propios
18 deter = det(A); %determinante
19 [Vj,J] = jordan(A); %descomposiciOn de Jordan
20 eA = expm(A*T); %exponencial de A*T / no confundir ...
con exp(A*T)
21 norma = norm(A); %norma Euclideana de A

Ejercicios:
• Calcule el producto de los elementos de lambda y compárelo con deter.
• Calcule la exponencial de los elementos de lambda y compárelos con los valores
propios de eA
• ¿Cómo calcular la norma 1, la norma 2, y la norma infinito de matrices y vec-
tores?
• Proponga un código que le permita aproximar la exponencial matricial de un
argumento arbitrario como un polinomio de grado N.

A.1.2 Integración numérica


El método de los trapecios consiste en aproximar el área bajo una curva por una suma-
toria de áreas trapezoidales como en la siguiente figura.

MPC 2023-1 176 Análisis de Sistemas


Esto se puede aplicar programáticamente para integrar cualquier función como en el
siguiente código, donde se utiliza un ciclo for para recorrer la variable de integración:

22 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
23 %integraciOn por trapecios en ciclo for
24 pasos = 100; %cantidad de trapecios
25 dtau = T/(pasos−1); %diferencial de tau
26 tau = 0:dtau:T; %instantes de evaluaciOn
27 Suma = zeros(size(B)); %inicializar sumador
28 for kk=2:length(tau), %recorrer instante a instante
29 fant = expm(A.*(T−tau(kk−1)))*B; %altura instante anterior
30 fact = expm(A.*(T−tau(kk)))*B; %altura instante actual
31 Trap = fant*dtau + (fact−fant)*dtau/2; %Area de trapecio
32
33 Suma = Suma + Trap; %sumar Area de trapecio
34 end
35 Bdisc1 = Suma;

Matlab puede simplificar el procedimiento anterior a través de su función nativa integral:

36 %integraciOn numErica nativa


37 fun = @(tau) expm(A.*(T−tau))*B; %funciOn a integrar
38 Bdisc2 = integral(fun,0,T,'ArrayValued',true);%soluciOn numErica

La(s) variable(s) de la función a integrar se especifica(n) a través de @(variable)


seguido de la expresión correspondiente.
Ejercicio: Cuantifique el error entre las dos soluciones a través de distintas normas
matriciales.

A.1.3 Ecuaciones diferenciales a través de métodos RK nativos


La familia de métodos Runge Kutta (RK, ver Anexo B) es una herramienta común para
aproximar las soluciones de ecuaciones diferenciales del tipo:

ẋ(t) = f (x(t),t).

En Matlab, las funciones ode45 y ode23 implementan algortimos RK de manera na-


tiva. En la implementación, la función f (x(t),t) debe especificarse a través de un
archivo adicional. Por ejemplo, el siguiente código define la función

ẋ(t) = Ax(t) + Bu(t)

calculando la entrada u(t) y definiendo los parámetros A, B dentro de la función.

MPC 2023-1 177 Análisis de Sistemas


1 function dxdt = flin_0(t,x)
2 % t: instante actual
3 % x: variable continua en el instante actual
4
5 %generar valor de entrada dentro de la funciOn
6 u0 = 1; %valor nominal de entrada
7 if t ≥ 30, %escalOn en t=30
8 uu = 1.5*u0;
9 else
10 uu = 1*u0;
11 end
12
13 %parAmetros del modelo
14 A = [−3 1;
15 −1 −3];
16 B = [2;
17 1];
18
19 %determinar valor de la derivada en el instante
20 dxdt = A*x + B*uu; %funciOn f(x,u)

Notar que el nombre del archivo debe ser idéntico al nombre de la función y el archivo
debe estar en el directorio de trabajo. En este caso, flin_0.m.
Con esto, se puede aproximar la solución de la ecuación diferencial en un intervalo
dado a través de los siguientes comandos:

39 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
40 %soluciOn de ecuaciOn diferencial por mEtodos RK nativos
41 % dx/dt = Ax + Bu
42 %Con parAmetros internos
43 %definir tiempo de integraciOn
44 tini = 0;
45 tfin = 100;
46 %CI
47 u0 = 1;%condiciOn inicial arbitraria
48 x0 = −inv(A)*B*u0; %condiciOn incial para estado estacionario
49 %simulaciOn por ode45
50 [t45_0,x45_0] = ode45(@(t,x)flin_0(t,x),[tini,tfin],x0);
51 x45_0 = x45_0'; %vector fila en columnas
52 %simulaciOn por ode23
53 [t23_0,x23_0] = ode23(@(t,x)flin_0(t,x),[tini,tfin],x0);
54 x23_0 = x23_0'; %vector fila en columnas

Notar que los vectores de tiempo para los cuales se determinan los valores de los
estados son también una salida de las funciones ode. Es decir, los vectores de tiempo
no necesariamente son iguales, ni tienen la misma cantidad de elementos.
En ocasiones es conveniente entregar los parámetros de la función de manera ex-
terna, de tal forma de no tener que re-definir las matrices cada vez que se evalúa la
función. En el siguiente archivo, se define la misma función que anteriormente, pero
se entregan las cantidades A, B, y u0 como entradas externas a la función.

MPC 2023-1 178 Análisis de Sistemas


1 function dxdt = flin_1(t,x,A,B,u0)
2 % t: instante actual
3 % x: variable continua en el instante actual
4 % A,B: parAmetros externos
5 % u0: valor nominal de la entrada
6
7 %generar valor de entrada dentro de la funciOn
8 if t ≥ 30, %escalOn en t=30
9 uu = 1.5*u0;
10 else
11 uu = 1*u0;
12 end
13
14 %determinar valor de la derivada en el instante
15 dxdt = A*x + B*uu; %funciOn f(x,u)

En este caso, el archivo que contiene a la función debe nombrarse flin_1.m. Se puede
ejecutar la simulación llamando a los comandos que se presentan a continuación:

55 %Con parAmetros externos


56 %simulaciOn por ode45
57 [t45_1,x45_1] = ode45(@(t,x)flin_1(t,x,A,B,u0),[tini,tfin],x0);
58 x45_1 = x45_1'; %vector fila en columnas
59 %simulaciOn por ode23
60 [t23_1,x23_1] = ode23(@(t,x)flin_1(t,x,A,B,u0),[tini,tfin],x0);
61 x23_1 = x23_1'; %vector fila en columnas

Notar que la entrada del sistema se sigue calculando dentro de la función. Esto
dificulta obtener el vector de valores de la entrada para, por ejemplo, graficarlo junto
con la respuesta del sistema. Por ello, se puede pre-calcular el vector de entradas para
instantes determinados, y entregar esta información a la función como en el siguiente
archivo flin_2.m

1 function dxdt = flin_2(t,x,u,A,B,tt)


2 % t: instante actual
3 % x: variable continua en el instante actual
4 % A,B: parAmetros externos
5 % u: vector de entradas
6 % tt: vector de tiempo para el cual se define la entrada
7 %interpolar valor de la entrada
8 uu = interp1(tt,u,t,'previous');
9
10 %determinar valor de la derivada en el instante
11 dxdt = A*x + B*uu; %funciOn f(x,u)

Es necesario agregar la función de interpolación de la entrada, pues no necesariamente


las funciones ode están evaluando para un instante en el cual la entrada se haya pre-
viamente definido. Existen varios métodos de interpolación válidos y es conveniente
pensar bien cuál se prefiere. Con esta nueva función, la simulación se podría lograr a
través de las siguientes líneas.

MPC 2023-1 179 Análisis de Sistemas


62 %Con entrada predefinida
63 %tiempo
64 tt = tini:T:tfin;
65 %entrada escalonada arbitraria.
66 u = u0*ones(1,length(tt)); %inicializaciOn
67 %recorrer el tiempo para generar escalOn de entrada
68 for kk=2:length(tt),
69 if tt(kk) ≥ 30, %escalOn en t=30
70 u(kk) = 1.5*u0;
71 end
72 end
73 %simulaciOn por ode45
74 [t45_2,x45_2] = ...
ode45(@(t,x)flin_2(t,x,u,A,B,tt),[tini,tfin],x0);
75 x45_2 = x45_2'; %vector fila en columnas
76 %simulaciOn por ode23
77 [t23_2,x23_2] = ...
ode23(@(t,x)flin_2(t,x,u,A,B,tt),[tini,tfin],x0);
78 x23_2 = x23_2'; %vector fila en columnas

Ejercicios:

• ¿Cuál método de los anteriores debiese ser más rápido? Haga un script que mida
el tiempo de ejecución de la simulación con los métodos anteriores.
• Genere un script para calcular el error cuadrático medio como función del tiempo
de las simulaciones anteriores con respecto a la respuesta exacta del sistema.

A.1.4 Ecuaciones diferenciales a través de discretización exacta


Otra forma de simular la respuesta de ecuaciones diferenciales lineales como las es-
tudiadas anteriormente es utilizando la respuesta exacta de un sistema lineal, y dis-
cretizando para obtener un modelo equivalente en tiempo discreto. Asumiendo que las
entradas son constante entre los instantes de muestreo, esto es factible de hacer, por
ejemplo, con el código siguiente.
79 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
80 %soluciOn de ecuaciOn diferencial por discretizaciOn
81 % dx/dt = Ax + Bu
82 %vector de estados
83 x = zeros(fil,length(tt)); %inicializaciOn
84 x(:,1) = x0; %CI
85 %entrada escalonada arbitraria.
86 u = u0*ones(1,length(tt)); %inicializaciOn
87 %recorrer el tiempo
88 for kk=2:length(tt),
89 %generar escalon de entrada
90 if tt(kk) ≥ 30,
91 u(kk) = 1.5*u0;
92 end
93 %actualizar vector de estados
94 x(:,kk) = eA*x(:,kk−1) + Bdisc1*u(kk−1);
95 end

MPC 2023-1 180 Análisis de Sistemas


Ejercicio: ¿Qué pasa con la respuesta cuando se disminuye diez, cien, o mil veces
el tiempo de muestreo?

A.1.5 Ploteo de figuras


Modificar programáticamente las características de figuras y guardarlas en formatos
de imágenes tradicionales puede ser de gran ayuda para presentarlas en informes. Las
siguientes líneas muestran algunos ejemplos de cómo hacerlo.

96 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
97 % ConstrucciOn de figuras
98 papel = 200;
99 figure
100 subplot(2,1,1)
101 hold
102 plot(t45_2,x45_2(1,:),'g−') %un elemento de x
103 plot(t23_2,x23_2(1,:),'r−−') %un elemento de x
104 plot(tt,x(1,:),'o') %un elemento de x
105 grid on
106 box on
107 axis([tini tfin x45_2(1,1)−0.1 x45_2(1,end)+0.1])
108 xlabel('time [s]')
109 ylabel('x_1 [p.u.]')
110 legend('ode45','ode23','discreto')
111
112 subplot(2,1,2)
113 hold
114 plot(t45_2,x45_2(2,:),'g−') %otro elemento de x
115 plot(t23_2,x23_2(2,:),'r−−') %otro elemento de x
116 plot(tt,x(2,:),'o') %otro elemento de x
117 grid on
118 box on
119 axis([tini tfin x45_2(2,1)−0.05 x45_2(2,end)+0.05])
120 xlabel('time [s]')
121 ylabel('x_2 [p.u.]')
122 legend('ode45','ode23','discreto')
123
124 set(gca,'FontName','Times New Roman','FontSize',12);
125 set(gcf,'PaperUnits','centimeters',...
126 'PaperSize',[papel 2*papel/3],...
127 'PaperPosition',[0 0 papel 2*papel/3]); %[0 0 ...
ancho alto]
128 nombre = 'x';
129 print('−depsc','−r200',nombre) % FunciOn para guardar .eps

Los resultados de las líneas anteriores para las simulaciones de las secciones anteriores
se muestran a continuación:

MPC 2023-1 181 Análisis de Sistemas


1.1 ode45
ode23
discreto
1

x 1 [p.u.]
0.9

0.8

0.7

0.6
0 10 20 30 40 50 60 70 80 90 100
time [s]

ode45
0.18 ode23
discreto
0.16

0.14
x2 [p.u.]

0.12

0.1

0.08

0.06

0 10 20 30 40 50 60 70 80 90 100
time [s]

Ejercicio: ¿Cómo se guarda en pdf, jpg, vgs, gif, etc?

A.1.6 Funciones de transferencia


Para trabajar con sistemas definidos en el plano de Laplace o Z, se pueden usar fun-
ciones nativas de Matlab como en los siguientes ejemplos. Si se conoce la repre-
sentación de estados de un sistema lineal, se puede utilizar el comando ss (de States
Space) para definir un sistema, y sus respectivas funciones de transferencia, en tiempo
continuo o discreto:

130 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
131 %Sistemas definidos en el espacio de estados
132 %definir salida arbitraria.
133 C = [1 0];
134 D = 0;
135
136 %sistema en tiempo continuo
137 SistCont_1 = ss(A,B,C,D); %sistema en tiempo continuo
138 Hcont_1 = tf(SistCont_1); %funciOn de transferencia
139 poloscont_1 = pole(SistCont_1); %polos de FdeT
140 zeroscont_1 = zero(SistCont_1); %polos de FdeT
141 Kdc_cont_1 = evalfr(Hcont_1,0); %ganancia DC
142
143 %sistema en tiempo discreto
144 SistDisc_1 = ss(eA,Bdisc1,C,D,T); %sistema en tiempo ...
discreto con muestreo T
145 Hdisc_1 = tf(SistDisc_1); %funciOn de transferencia
146 polosDisc_1 = pole(SistDisc_1); %polos de FdeT
147 zerosDisc_1 = zero(SistDisc_1); %polos de FdeT
148 Kdc_disc_1 = evalfr(Hdisc_1,1); %ganancia DC

Además, se pueden definir las unidades de Laplace o Z para trabajar de manera más
parecida al álgebra de matrices:

MPC 2023-1 182 Análisis de Sistemas


149 %Sistemas definidos 'algebraicamente'
150 s = tf('s'); %s de Laplace
151 z = tf('z',T); %z de Z con muestreo T
152
153 Hcont_2 = C*inv(s*I − A)*B + D;
154 Hdisc_2 = C*inv(z*I − eA)*Bdisc1 + D;
155
156 Hcont_2 = zpk(minreal(Hcont_2));
157 Hdisc_2 = zpk(minreal(Hdisc_2));

Ejercicios:
• ¿Qué hacen los comandos minreal y zpk? Compare las funciones de transfer-
encia antes y después de aplicarlos.
• ¿Cómo se relacionan los polos de las funciones anteriores con los valores propios
de la matriz A?

• Defina otras funciones de transferencia arbitrarias y multiplíquelas entre sí.


• Investigue cómo usar el comando tf para definir funciones de transferencia ar-
bitrarias, sin necesidad del modelo en espacio de estados.
• ¿Cómo se podría definir un retardo continuo en el plano de Laplace?

A.1.7 Diagramas de Bode


Matlab puede graficar los diagramas de Bode de sistemas especificados por funciones
de transferencia a través del comando bode como se muestra en el siguiente ejemplo.

158 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
159 %Diagrama de Bode continuo
160 figure
161 bode(Hcont_2)
162 title('Bode H_{uy}(s)')
163 grid on
164 box on
165 set(gca,'FontName','Times New Roman','FontSize',12);
166 set(gcf,'PaperUnits','centimeters',...
167 'PaperSize',[papel 2*papel/3],...
168 'PaperPosition',[0 0 papel 2*papel/3]); %[0 0 ancho ...
alto]
169 print('−depsc','−r200','BodeCont') % FunciOn para guardar .eps
170 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
171 %Diagrama de Bode discreto
172 figure
173 bode(Hdisc_2)
174 title('Bode H_{uy}(z)')
175 grid on
176 box on
177 set(gca,'FontName','Times New Roman','FontSize',12);
178 set(gcf,'PaperUnits','centimeters',...
179 'PaperSize',[papel 2*papel/3],...

MPC 2023-1 183 Análisis de Sistemas


180 'PaperPosition',[0 0 papel 2*papel/3]); %[0 0 ancho ...
alto]
181 print('−depsc','−r200','BodeDisc') % FunciOn para guardar .eps

Lo anterior genera los siguientes resultados:


Bode H uy(s)

-5

-10
Magnitude (dB)

-15

-20

-25

-30

-35

-40
0
Phase (deg)

-45

-90
10-1 100 101 102
Frequency (rad/s)

Bode H uy(z)

-3

-3.1

-3.2
Magnitude (dB)

-3.3

-3.4

-3.5

-3.6

-3.7

-3.8
0

-45
Phase (deg)

-90

-135

-180
10-2 10-1 100 101
Frequency (rad/s)

Ejercicios:
• ¿Qué hace el comando margin?
• ¿Cómo dibujar un diagrama de Bode en tiempo discreto más allá de la frecuencia
de corte?
• ¿Cómo se pueden marcar los polos y ceros en los diagramas respectivos?

MPC 2023-1 184 Análisis de Sistemas


A.2 Guía de programación en GNU Octave
Octave es una alternativa de código libre para Matlab. En general, todo es práctica-
mente igual que en Matlab pero con algunas diferencias. Por ejemplo hay varias fun-
ciones que no están implementadas y algunas implementaciones son menos eficientes.
Las siguientes notas se basan en el archivo intro_Octave.m disponible como material
complementario del curso.

A.2.1 Instalación
Octave puede descargarse desde el sitio web https://www.gnu.org/software/o
ctave/index para distintos sistemas operativos. El instalador de Windows además
instala algunos paquetes de uso común. Sin embargo, cada vez que se ejecuta Octave,
los paquetes requeridos deben ser cargados. La siguiente línea muestra cómo hacer
esto para el paquete control:

1 pkg load control %load control package

A.2.2 Similitudes con Matlab


Octave cuenta con una serie de funciones análogas a Matlab. Sin embargo, algunas no
están implementadas:
2 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3 %definir un escalar
4 T = 1;
5 %definir matrices
6 A = [−3 1;
7 −1 −3];
8 B = [2;
9 1];
10 I = eye(2,2); %matriz identidad
11 unos = ones(2,2); %matriz de unos
12 %funciones de una matriz cuadrada
13 [fil,col] = size(A);
14 lambda = eig(A); %valores propios
15 realLambda = real(lambda); %parte real de los valores ppios
16 imagLambda = imag(lambda); %parte imaginaria de los valores ...
ppios
17 absLambda = abs(lambda); %mOdulo de valores ppios
18 [V,D] = eig(A); %valores y vectores propios
19 deter = det(A); %determinante
20 %[Vj,J] = jordan(A); %Octave no implementa funciOn Jordan
21 eA = expm(A*T); %exponencial de A*T / no confundir ...
con exp(A*T)
22 norma = norm(A); %norma Euclideana de A

En general los ciclos siguen la misma sintaxis que en Matlab. Aquí se ve el código
para implementar una suma por trapecios, que es idéntico al presentado en el apartado
anterior.

MPC 2023-1 185 Análisis de Sistemas


23 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
24 %integraciOn por trapecios en ciclo for
25 pasos = 100; %cantidad de trapecios
26 dtau = T/(pasos−1); %diferencial de tau
27 tau = 0:dtau:T; %instantes de evaluaciOn
28 Suma = zeros(size(B)); %inicializar sumador
29 for kk=2:length(tau), %recorrer instante a instante
30 fant = expm(A.*(T−tau(kk−1)))*B; %altura instante anterior
31 fact = expm(A.*(T−tau(kk)))*B; %altura instante actual
32 Trap = fant*dtau + (fact−fant)*dtau/2; %Area de trapecio
33
34 Suma = Suma + Trap; %sumar Area de trapecio
35 end
36 Bdisc1 = Suma;
37 %integraciOn numErica nativa
38 fun = @(tau) expm(A.*(T−tau))*B; %funciOn a integrar
39 Bdisc2 = integral(fun,0,T,'ArrayValued',true);%soluciOn numErica

Para resolver ecuaciones diferenciales, las funciones ode23 y ode45 siguen la


misma sintaxis que en Matlab.
40 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
41 %soluciOn de ecuaciOn diferencial por mEtodos RK nativos
42 % dx/dt = Ax + Bu
43 %Con parAmetros internos
44 %definir tiempo de integraciOn
45 tini = 0;
46 tfin = 100;
47 %CI
48 u0 = 1;%condiciOn inicial arbitraria
49 x0 = −inv(A)*B*u0; %condiciOn incial para estado estacionario
50 %simulaciOn por ode45
51 [t45_0,x45_0] = ode45(@(t,x)flin_0(t,x),[tini,tfin],x0);
52 x45_0 = x45_0'; %vector fila en columnas
53 %simulaciOn por ode23
54 [t23_0,x23_0] = ode23(@(t,x)flin_0(t,x),[tini,tfin],x0);
55 x23_0 = x23_0'; %vector fila en columnas
56 %Con parAmetros externos
57 %simulaciOn por ode45
58 [t45_1,x45_1] = ode45(@(t,x)flin_1(t,x,A,B,u0),[tini,tfin],x0);
59 x45_1 = x45_1'; %vector fila en columnas
60 %simulaciOn por ode23
61 [t23_1,x23_1] = ode23(@(t,x)flin_1(t,x,A,B,u0),[tini,tfin],x0);
62 x23_1 = x23_1'; %vector fila en columnas
63 %Con entrada predefinida
64 %tiempo
65 tt = tini:T:tfin;
66 %entrada escalonada arbitraria.
67 u = u0*ones(1,length(tt)); %inicializaciOn
68 %recorrer el tiempo para generar escalOn de entrada
69 for kk=2:length(tt),
70 if tt(kk) ≥ 30, %escalOn en t=30
71 u(kk) = 1.5*u0;
72 end
73 end
74 %simulaciOn por ode45
75 [t45_2,x45_2] = ...

MPC 2023-1 186 Análisis de Sistemas


ode45(@(t,x)flin_2(t,x,u,A,B,tt),[tini,tfin],x0);
76 x45_2 = x45_2'; %vector fila en columnas
77 %simulaciOn por ode23
78 [t23_2,x23_2] = ...
ode23(@(t,x)flin_2(t,x,u,A,B,tt),[tini,tfin],x0);
79 x23_2 = x23_2'; %vector fila en columnas
80 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
81 %soluciOn de ecuaciOn diferencial por discretizaciOn
82 % dx/dt = Ax + Bu
83 %vector de estados
84 x = zeros(fil,length(tt)); %inicializaciOn
85 x(:,1) = x0; %CI
86 %entrada escalonada arbitraria.
87 u = u0*ones(1,length(tt)); %inicializaciOn
88 %recorrer el tiempo
89 for kk=2:length(tt),
90 %generar escalon de entrada
91 if tt(kk) ≥ 30,
92 u(kk) = 1.5*u0;
93 end
94 %actualizar vector de estados
95 x(:,kk) = eA*x(:,kk−1) + Bdisc1*u(kk−1);
96 end

Notar que se hace referencia a las funciones flin_0.m, flin_1.m, y flin_2.m que
son exactamente los mismos archivos adicionales que se usaron para los ejemplos del
capítulo anterior sobre Matlab.

A.2.3 Manejo de figuras


Para hacer figuras, todo permanece exactamente igual. Sin embargo, para guardar las
figuras en formato .eps (u otro), el comportamiento y la sintaxis de la función print
es distinto:
97 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
98 % ConstrucciOn de figuras
99 figure
100 subplot(2,1,1)
101 hold
102 plot(t45_2,x45_2(1,:),'g−') %un elemento de x
103 plot(t23_2,x23_2(1,:),'r−−') %un elemento de x
104 plot(tt,x(1,:),'o') %un elemento de x
105 grid on
106 box on
107 axis([tini tfin x45_2(1,1)−0.1 x45_2(1,end)+0.1])
108 xlabel('time [s]')
109 ylabel('x_1 [p.u.]')
110 legend('ode45','ode23','discreto')
111
112 subplot(2,1,2)
113 hold
114 plot(t45_2,x45_2(2,:),'g−') %otro elemento de x
115 plot(t23_2,x23_2(2,:),'r−−') %otro elemento de x
116 plot(tt,x(2,:),'o') %otro elemento de x
117 grid on
118 box on

MPC 2023-1 187 Análisis de Sistemas


119 axis([tini tfin x45_2(2,1)−0.05 x45_2(2,end)+0.05])
120 xlabel('time [s]')
121 ylabel('x_2 [p.u.]')
122 legend('ode45','ode23','discreto')
123 %el comportamiento de la funciOn print es distinto
124 nombre = 'x_oct.eps';
125 print(gcf,nombre,'−deps','−color')

La figura resultante es por lo tanto estéticamente distinta a lo visto anteriormente


con Matlab:
1.1
ode45
1 ode23
x1 [p.u.]

0.9 discreto

0.8
0.7
0.6
0 20 40 60 80 100
time [s]

0.2
0.18 ode45
0.16 ode23
x2 [p.u.]

0.14 discreto
0.12
0.1
0.08
0.06
0 20 40 60 80 100
time [s]

A.2.4 Funciones de transferencia


Con ayuda del paquete control hay varias funciones disponibles para tratar con fun-
ciones de transferencia del mismo modo que en Matlab.
126 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
127 %Sistemas definidos en el espacio de estados
128 %definir salida arbitraria.
129 C = [1 0];
130 D = 0;
131
132 %sistema en tiempo continuo
133 SistCont_1 = ss(A,B,C,D); %sistema en tiempo continuo
134 Hcont_1 = tf(SistCont_1); %funciOn de transferencia
135 poloscont_1 = pole(SistCont_1); %polos de FdeT
136 zeroscont_1 = zero(SistCont_1); %polos de FdeT
137 % Kdc_cont_1 = evalfr(Hcont_1,0); %funciOn evalfr no ...
implementada en Octave
138
139
140 %sistema en tiempo discreto
141 SistDisc_1 = ss(eA,Bdisc1,C,D,T); %sistema en tiempo ...
discreto con muestreo T
142 Hdisc_1 = tf(SistDisc_1); %funciOn de transferencia

MPC 2023-1 188 Análisis de Sistemas


143 polosDisc_1 = pole(SistDisc_1); %polos de FdeT
144 zerosDisc_1 = zero(SistDisc_1); %polos de FdeT
145 % Kdc_disc_1 = evalfr(Hdisc_1,1); %funciOn evalfr no ...
implementada en Octave

Sin embargo, hay varias funciones que no han sido aún implementadas, por ejem-
plo evalfr, y minreal. Además, Octave es más vulnerable a errores numéricos que
Matlab. Por ejemplo, el siguiente código debería computar funciones de transferencias
equivalentes a las anteriores.
146 %Sistemas definidos 'algebraicamente'
147 s = tf('s'); %s de Laplace
148 z = tf('z',T); %z de Z con muestreo T
149
150 Hcont_2 = C*inv(s*I − A)*B + D; %Notar que inversa no es ...
precisa!
151 Hdisc_2 = C*inv(z*I − eA)*Bdisc1 + D; %Notar que inversa no ...
es precisa!

La inclusión de la función inv para invertir una matriz dependiente de las variables
de Laplace o Zeta es genera inexactitudes numéricas que se evidencian a través de una
advertencia (warning):
1 warning: tf: converting to minimal state−space for MIMO TF ...
interconnections
2 warning: called from
3 __sys_connect__ at line 103 column 5
4 mtimes at line 58 column 7
5 intro_Octave at line 155 column 13

En la consola de comandos se puede apreciar claramente lo que esta advertencia indica:

1 >> Hcont_1
2 Transfer function 'Hcont_1' from input 'u1' to output ...
3
4 2 s + 7
5 y1: −−−−−−−−−−−−−−
6 s^2 + 6 s + 10
7
8 Continuous−time model.
9 >> Hcont_2
10
11 Transfer function 'Hcont_2' from input 'u1' to output ...
12
13 −6.076e−16 s^2 + 2 s + 7
14 y1: −−−−−−−−−−−−−−−−−−−−−−−−
15 s^2 + 6 s + 10
16
17 Continuous−time model.
18 >>

Por lo anterior se recomienda trabajar funciones de transferencia de la manera "tradi-


cional".

MPC 2023-1 189 Análisis de Sistemas


El comando para realizar diagramas de Bode también presenta pequeñas diferen-
cias en su funcionamiento, sin embargo se obtienen resultados equivalentes a los de su
par en Matlab:

152 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
153 %Diagrama de Bode continuo
154 figure
155 bode(Hcont_1)
156 % title('Bode H_{uy}(s)')%notar que se elimina tItulo
157 grid on
158 box on
159 print(gcf,'BodeCont_oct.eps','−deps','−color')
160 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
161 %Diagrama de Bode discreto
162 figure
163 bode(Hdisc_1)
164 % title('Bode H_{uy}(z)')
165 grid on
166 box on
167 print(gcf,'BodeDisc_oct.eps','−deps','−color')

Bode Diagram

-5
Hcont 1
Magnitude [dB]

-10
-15
-20
-25
-30
-35
10 -1 10 0 10 1 10 2

0
Hcont 1
-20
Phase [deg]

-40

-60

-80

10 -1 10 0 10 1 10 2
Frequency [rad/s]

MPC 2023-1 190 Análisis de Sistemas


Bode Diagram
-3.1
Hdisc 1
Magnitude [dB]
-3.2
-3.3
-3.4
-3.5
-3.6
-3.7
10 -1 10 0

0
Hdisc 1
Phase [deg]

-50

-100

-150

10 -1 10 0
Frequency [rad/s]

MPC 2023-1 191 Análisis de Sistemas


A.3 Guía de programación en SciLab
Otra alternativa gratuita a Matlab es el programaba SciLab. Éste presenta también
varias diferencias con respecto a lo visto en los capítulos anteriores. El software está
disponible para descarga en https://www.scilab.org/. Los comentarios siguientes
se hacen en base al archivo intro_SciLab.m disponible como material complemen-
tario del curso.

A.3.1 Preliminar
La primera observación importante es que los comentarios no se hacen con el signo
porcentual (%) sino con doble barra de división (//). Además, la sintaxis de muchas
funciones son distintas que en Matlab. En particular, la función para calcular valores
propios es spec (de spectrum).

1 /////////////////////////////////////////
2 //definir un escalar
3 T = 1;
4 //definir matrices
5 A = [−3 1;
6 −1 −3];
7 B = [2;
8 1];
9 I = eye(2,2); //matriz identidad
10 unos = ones(2,2); //matriz de unos
11 //funciones de una matriz cuadrada
12 [fil,col] = size(A);
13 lambda = spec(A); //valores propios
14 realLambda = real(lambda); //parte real de los valores ppios
15 imagLambda = imag(lambda); //parte imaginaria de los valores ...
ppios
16 absLambda = abs(lambda); //mOdulo de valores ppios
17 [V,D] = spec(A); //valores y vectores propios
18 deter = det(A); //determinante
19 //[Vj,J] = jordan(A); //jordan no implementado
20 eA = expm(A*T); //exponencial de A*T / no confundir ...
con exp(A*T)
21 norma = norm(A); //norma Euclideana de A
22 /////////////////////////////////////////

A.3.2 Integración numérica


Los ciclos for tienen la misma sintaxis que en Matlab. Por lo que la implementación
por trapecios vista anteriormente también funciona:

23 //integraciOn por trapecios en ciclo for


24 pasos = 100; //cantidad de trapecios
25 dtau = T/(pasos−1); //diferencial de tau
26 tau = 0:dtau:T; //instantes de evaluaciOn
27 Suma = zeros(size(B,1),size(B,2)); //notar uso de funciOn ...
zeros

MPC 2023-1 192 Análisis de Sistemas


28 for kk=2:length(tau), //recorrer instante a instante
29 fant = expm(A.*(T−tau(kk−1)))*B; //altura instante anterior
30 fact = expm(A.*(T−tau(kk)))*B; //altura instante actual
31 Trap = fant*dtau + (fact−fant)*dtau/2; //Area de trapecio
32
33 Suma = Suma + Trap; //sumar Area de trapecio
34 end
35 Bdisc1 = Suma;

Notar sin embargo la diferencia en el tratamiento de la función zeros.


La especificación abreviada (inline) de Matlab a través de @(var) para funciones
no tiene un paralelo inmediato en SciLab. Por ello, es necesario definir la función
a integrar de manera más general. Esta funcionalidad también se puede explotar en
Matlab. La ventaja de esta sintaxis es que permite expresiones más sofisticadas en la
definición de la función.
Existen varios métodos nativos de integración numérica, pero todos ellos para fun-
ciones escalares. Por ejemplo, a través de la función intg:

36 //integraciOn numErica nativa


37 function y=f(x),y=x^2,endfunction
38 integralsencilla=intg(0,2,f)

Aprovechando que se pueden hacer funciones sobre más líneas, podemos proponer re-
solver una integral vectorial, como muchas integrales sobre cada uno de los elementos
del vector.

39
40 function y=fun(tau,i),
41 cc = eye(size(A,1),size(A,1));
42 ci = cc(i,:);
43 y=ci*expm(A.*(T−tau))*B,
44 endfunction //funciOn a integrar
45 for i = 1:2,
46 Bdisc2(i)=intg(0,T,list(fun,i))
47 end

Notar que en este caso la función a integrar tiene dos argumentos, de tal forma que es
necesario pasar la función como una lista al integrador para fijar uno de los argumentos
y dejar libre la variable de integración.
Sin embargo, también se puede resolver la integral planteándola como uan ecuación
diferencial:
d
v = eA(T −τ) B
dt
con condición inicial nula v(0) = 0, de tal forma que al evaluar v(t = T ) obtengamos el
valor deseado. Como la función ode para ecuaciones diferenciales sí acepta funciones
vectoriales, podemos escribir:

MPC 2023-1 193 Análisis de Sistemas


48 //integraciOn por ode
49 function ydot=f1(tau,y),
50 ydot=expm(A.*(T−tau))*B,
51 endfunction //funciOn a integrar
52 y0 = [0;0];
53 tau0 = 0;
54 t = 0:0.1:T;
55 y = ode(y0,tau0,t,f1);
56
57 Bdisc3 = y(:,length(t));

A.3.3 Ecuaciones diferenciales


Como ya vimos, la función ode permite resolver ecuaciones diferenciales. Se re-
comienda revisar la ayuda de la función para obtener varios ejemplos ilustrativos (Dig-
itar en la consola help ode). En particular, como en las secciones anteriores para una
entrada escalón, un sistema lineal se puede resolver de la siguiente manera:

58 /////////////////////////////////////////
59 //ecuaciones diferenciales ordinarias
60 function xdot=linear(t, x, A, u, B,ts,u0)
61 xdot=A*x+B*u(t,ts,u0)
62 endfunction
63 function ut=u(t, ts,u0)
64 if t<ts then
65 ut = u0;
66 else
67 ut = 1.5*u0;
68 end
69 endfunction
70 //definir tiempo de integraciOn
71 tini = 0;
72 tfin = 100;
73 t=tini:0.1:tfin;
74 //CI
75 u0 = 1;//condiciOn inicial arbitraria
76 x0 = −inv(A)*B*u0; //condiciOn incial para estado ...
estacionario
77 ts = 30;
78 // resolver ode
79 x = ode(x0,tini,t,list(linear,A,u,B,ts,u0))

Notar la sintaxis de la sentencia if then. Por supuesto, también se pueden obtener


resultados similares por discretización con prácticamente el mismo código que en los
lenguajes anteriores:

80 //EDO por discretizaciOn


81 //vector tiempo
82 tt = tini:T:tfin;
83 //vector de estados
84 xd = zeros(fil,length(tt)); //inicializaciOn
85 xd(:,1) = x0; //CI

MPC 2023-1 194 Análisis de Sistemas


86 //entrada escalonada arbitraria.
87 ud = u0*ones(1,length(tt)); //inicializaciOn
88 //recorrer el tiempo
89 for kk=2:length(tt),
90 //generar escalon de entrada
91 if tt(kk) ≥ ts then
92 ud(kk) = 1.5*u0;
93 end
94 //actualizar vector de estados
95 xd(:,kk) = eA*xd(:,kk−1) + Bdisc3*ud(kk−1);
96 end

El manejo de las figuras para imprimir los resultados es similar que en los lenguajes
anteriores, pero con algunas diferencias importantes que se muestran en el código más
abajo. Se recomienda usar el comando scf en vez de figure que parece presentar
algunos problemas de despliegue. Por otro lado, notar lo simple del comando para ex-
portar la figura en formato eps. Otros comandos similares existen para otros formatos
de imagen.

97 /////////////////////////////////////////
98 //Manejo de figurasfigure
99 scf(0); clf(); //en vez de figure que parece generar ...
problemas con los fondos
100 subplot(2,1,1)
101 plot(t,x(1,:),'r−') //un elemento de x
102 plot(tt,xd(1,:),'ko') //un elemento de x
103 xgrid(2)
104 a=gca() ;//get the current axes
105 a.box="on";
106 a.data_bounds=[tini tfin x(1,1)−0.1 ...
x(1,length(t))+0.1]; //define the bounds
107 xlabel('time [s]')
108 ylabel('x_1 [p.u.]')
109 legend('ode','discreto')
110
111 subplot(2,1,2)
112 plot(t,x(2,:),'r−') //un elemento de x
113 plot(tt,xd(2,:),'ko') //un elemento de x
114 xgrid(2)
115 a=gca() ;//get the current axes
116 a.box="on";
117 a.data_bounds=[tini tfin x(2,1)−0.05 ...
x(2,length(t))+0.05]; //define the bounds
118 xlabel('time [s]')
119 ylabel('x_2 [p.u.]')
120 legend('ode','discreto')
121 //exportar figura como eps
122 xs2eps(gcf(),'x_SciLab.eps','landscape')

Este código genera las siguientes imágenes:

MPC 2023-1 195 Análisis de Sistemas


1.2
ode
discreto
1

x_1 [p.u.]
0.8

0.6

0 10 20 30 40 50 60 70 80 90 100
time [s]

ode
0.2
discreto

0.15
x_2 [p.u.]

0.1

0.05

0 10 20 30 40 50 60 70 80 90 100
time [s]

A.3.4 Funciones de transferencia


El manejo de funciones de transferencia en SciLab es similar a los casos anteriores.
Sin embargo, la sitaxis de las funciones es distinta.

123 /////////////////////////////////////////
124 //Sistemas definidos en el espacio de estados
125 //definir salida arbitraria.
126 C = [1 0];
127 D = 0;
128 //sistema en tiempo continuo
129 SistCont = syslin('c',A,B,C,D); //sistema en tiempo continuo
130 Hcont = ss2tf(SistCont); //funciOn de transferencia
131 [zeroscont poloscont ] = tf2zp(Hcont); //encontrar zeros ...
y polos
132 Kdc_cont = repfreq(Hcont,0); //Ganancia DC
133
134 //sistema en tiempo discreto
135 SistDisc = syslin(T,eA,Bdisc3,C,D); //sistema en tiempo ...
discreto con muestreo T
136 Hdisc = ss2tf(SistDisc); //funciOn de transferencia
137 [zerosDisc polosDisc] = tf2zp(Hdisc); //encontrar zeros y ...
polos
138 Kdc_disc = repfreq(Hdisc,1); //Ganancia DC

También es posible generar diagramas de Bode teniendo el cuidado de las diferencias


en el manejo de figuras:

139 /////////////////////////////////////////
140 //Diagramas de Bode
141 scf(1); clf();
142 bode(Hcont)

MPC 2023-1 196 Análisis de Sistemas


143 title('Bode H_{uy}(s)')
144 //exportar figura como eps
145 xs2eps(gcf(),'BodeCont_SciLab.eps','landscape')
146
147 scf(2); clf();
148 bode(Hdisc)
149 title('Bode H_{uy}(z)')
150 //exportar figura como eps
151 xs2eps(gcf(),'BodeDisc_SciLab.eps','landscape')
152 /////////////////////////////////////////

Lo anterior genera las siguientes imágenes:


Bode H_{uy}(s)
0

−20
Magnitude (dB)

−40

−60

−3 −2 −1 0 1 2 3
10 10 10 10 10 10 10
Frequency (Hz)

−20
Phase (degree)

−40

−60

−80

−3 −2 −1 0 1 2 3
10 10 10 10 10 10 10
Frequency (Hz)

Bode H_{uy}(z)
−3

−3.2
Magnitude (dB)

−3.4

−3.6

−3.8
−3 −2 −1 0
10 10 10 10
Frequency (Hz)

−50
Phase (degree)

−100

−150

−3 −2 −1 0
10 10 10 10
Frequency (Hz)

MPC 2023-1 197 Análisis de Sistemas


B Métodos numéricos de resolución de EDOs
B.1 Aproximación por Taylor
Consideremos la ecuación diferencial

ẋ(t) = f(x(t), u(t),t)

Usando Taylor sobre su solución, x(t), tenemos:


!

1 d n x(t)
x(t) = ∑ n
(t − t0 )n
n=0 n! dt t=t0
1
= x(t0 ) + ẋ(t0 )(t − t0 ) + ẍ(t0 )(t − t0 )2 + . . .
2
N n
!
1 d x(t)
(t − t0 )n

≈∑
n=0 n! dt n t=t0

Eligiendo N = 1, tenemos una aproximación de primer orden de la solución del sistema:

x(t) ≈ x(t0 ) + ẋ(t0 )(t − t0 ) = x(t0 ) + f(x(t0 ), u(t0 ),t0 )(t − t0 )

Si t0 = kT y t = (k + 1)T , se obtiene el método de Euler:

x((k + 1)T ) ≈ x(kT ) + f(x(kT ), u(kT ), kT )T

Lo cual permite obtener una aproximación discreta de la solución continua del sistema.
Si f(·) es continuamente diferenciable, se pueden obtener aproximaciones de mayor
orden de exactitud. Con N = 2,
∂ f(x(t), u(t),t) ∂ f(x(t), u(t),t) ∂ f(x(t), u(t),t)
ẍ(t) = ẋ(t) + u̇(t) + ·1
∂ x(t) ∂ u(t) ∂t

∂ f(x(t), u(t),t) ∂ f(x(t), u(t),t) ∂ f(x(t), u(t),t)
ẍ(kT ) = f(x(kT ), u(kT ), kT ) + u̇(kT ) +
∂ x(t) ∂ u(t) ∂t
t=kT t=kT t=kT
∂ f(x(t), u(t),t)
ẍ(kT ) = f(x(kT ), u(kT ), kT )
∂ x(t)
t=kT

cuando la entrada es constante y f(·) no depende explícitamente del tiempo. Con ello:

1
x((k + 1)T ) ≈ x(kT ) + f(x(kT ), u(kT ), kT )T + ẍ(kT )T 2
2

B.2 Familia de métodos Runge-Kutta


Runge Kutta 4 (Runge Kutta clásico, RK4, el método de Runge Kutta) El método
clásico de RUnge Kutta considera una ecuación diferencial dada por

ẋ = f(t, x), x(0) = x0

MPC 2023-1 198 Análisis de Sistemas


y aproxima una solución discretizada a través de la siguiente expresión:

1
x(kT + T ) = x(kT ) + (m1 + 2m2 + 2m3 + m4 )
6

donde,

m1 = T · f(kT, x(kT ))
T m1
m2 = T · f(kT + , x(kT ) + )
2 2
T m2
m3 = T · f(kT + , x(kT ) + )
2 2
m4 = T · f(kT + T, x(kT ) + m3 )

Otros métodos Runge Kutta En general, los métodos RK son una familia de algo-
ritmos para resolver EDO de la forma:

ẋ = f (t, x)

Los métodos explícitos toman la forma:


s
x(tk+1 ) = x(tk ) + T ∑ bi mi
i=1

Donde s es el número de pasos del método, y

m1 = f (tk , x(tk ))
m2 = f (tk + c2 T, x(tk ) + T · (a21 m1 ))
m3 = f (tk + c3 T, x(tk ) + T · (a31 m1 + a32 m2 ))
..
.
i−1
mi = f (tk + ci T, x(tk ) + T · ∑ ai j m j )
j=1

Es habitual escribir los coeficientes de un método RK en una tabla llamada de Butcher


en la forma:
c1 0 0 0 ··· 0
c2 a21 0 0 ··· 0
c3 a31 a32 0 ··· 0
.. .. .. .. .. ..
. . . . . .
cs as1 as2 as3 ··· 0
b1 b2 b3 ... bs
Por ejemplo, el método clásico de RK tiene la siguiente tabla:

MPC 2023-1 199 Análisis de Sistemas


0 0 0 0 0
1/2 1/2 0 0 0
1/2 0 1/2 0 0
1 0 0 1 0
1/6 1/3 1/3 1/6

El método de tres pasos en la siguiente tabla


0 0 0 0
1 1 0 0
1/2 1/4 1/4 0
1/6 1/6 2/3

puede ser implementado haciendo

m1 = f (tk , x(tk ))
m2 = f (tk + T, x(tk ) + T · m1 )
m3 = f (tk + T /2, x(tk ) + T · (m1 /4 + m2 /4))

x(tk+1 ) = x(tk ) + T · (m1 /6 + m2 /6 + 2m3 /3)


Visítese el siguiente sitio web para más ejemplos: https://en.wikipedia.org
/wiki/List_of_Runge%E2%80%93Kutta_methods

MPC 2023-1 200 Análisis de Sistemas

También podría gustarte