a mi padres s
TRANSCRIPT
ESCUELA POLITÉCNICA NACIONAL
Facultad de Ingeniería Eléctrica
SOLUCIÓN DE LAS ECUACIONES DE RICATTI
- POR MÉTODOS COMPUTACIONALES
Tesis previa a la obtención del títulode Ingeniero en la especialidad deElectrónica y Telecomunicaciones
MARCO ARAUJO GRIJALVA
Quito, diciembre de 1980
CERTIFICACIÓN
Certifico que el presentetrabajo ha sido realizadopor el Sr. Marco AraujoGrijalva bajo mi dirección
_, OLLLCL,Ing. Marcad
A MIS PADRES
AGRADECIMIENTO
Mi agradecimiento sincero al Ing.
Marco Barragan por la ayuda eficaz y
oportuna que me ha brindado para rea-
lizar la presente tesis, al Ing. Efraín
del Pino por su colaboración y enseñan-
zas en la parte de programación y al
Dr. Kanti More por la ayuda y amistad
que supo ofrecerme cuando lo necesita-
ba.
ÍNDICE
CAPITULO PRIMERO: INTRODUCCIÓN
1.1 Introducción 1
1.2 Reseña histórica del problema de control 1
1.3 Objetivos de la presente tesis 3
1.4 Descripción por capítulos 4
CAPITULO SEGUNDO: EL PROBLEMA DE CONTROL ÓPTIMO
2.1 Requerimientos para la formulación del problema 6
2.1.1 El modelo matemático (. . 6
2.1.2 Las restricciones físicas 7
2.1.3 La medida a ser optimizada 8
2.2 Formulación del problema de control óptimo 13
2.2.1 Formulación del problema 13
2.2.2 Formas de control óptimo 14
2.3 Programación dinámica 15
2.3.1 El principio de optimalidad , . . , . . . . 16
2.3.2 Toma de decisiones aplicando el principio de optimalidad 17
2.3.3 Una relación recurrente de la programación dinámica.
La ecuación de Bellman 18i
2.4 Solución del problema para modelos continuos lineales con cri-
terio cuadratico . . . . . ' 21
2.4.1 La ecuación de Hamilton - Jacobi - Bellman 21
2.4.2 Problemas continuos de regulación lineal. La ecuación
diferencial matricial de Ricatti 24
11
2.4.3 Problemas continuos de regulación lineal. Sistemas in-
variantes en el tiempo; T = « . La ecuación matricial
' algébrica de Ricatti 26
CAPITULO TERCERO: SOLUCIÓN DE LAS ECUACIONES DE RICATTI
3.1 Solución de la ecuación diferencial y algébrica usando la for-
, muía de Adams 29
3.1.1 Planteamiento del problema 29
3.1.2 Los métodos predictores correctores. La fórmula de Adams 30
3.1.3 Programa "Adams": Diagrama general de bloques y diagra-
mas de flujo 32
3.1.4 Ejemplos 39
3.1.5 Observaciones y conclusiones 43
3.2 Solución de la ecuación diferencial y algébrica como un sistema
de ecuaciones diferenciales 44
3.2.1 Planteamiento del problema ._ 44
3.2.2 Transformación de la ecuación de Ricatti a un sistema de
ecuaciones diferenciales 44
3.2.3 Sistemas de primer-orden. Ecuación diferencial ordinaria
de Ricatti 45
3.2 .4 Programa "Runge - Kut ta" 46
3.2.5 Ejemplos 47
3.2.6 Observaciones y conclusiones 52
3.3 Solución analítica de un caso particular de la ecuación algébrica 52
APÉNDICE I.- Listado de los programas 55
APÉNDICE II.- Manual de utilización de los programas
BIBLIOGRAFÍA
71
72
CAPITULO I
INTRODUCCIÓN
1.1 Introducción
Los métodos de optimización han jugado un rol muy importante en todas
las áreas de Ingeniería en las ultimas décadas. La competición, más el de-
seo del hombre de actuar en forma óptima,, combinada cpn el hecho de la dis-
minución de recursos naturales representan algunas de las razones. Además
en la moderna tecnología nos encontramos frecuentemente en situaciones don-
de por varias razones tecnológicas, se puede aceptar sólo aquellas solucio-
nes que sean óptimas en algún sentido definido; esto es, si nosotros juz-i
gamos las varias soluciones en base de una función específica, cada posi -
ble solución es caracterizada por un diferente valor de esta función, la
solución asociada con el valor óptimo será la "solución óptima".
Una teoría general basada en la combinación de las técnicas variaciona-
les, en la teoría convencional de sistemas y en la alta velocidad de la com-
putación ha sido el resultado del considerable interés que ha despertado
el problema del control óptimo. Algunos tópicos de esta teoría serán desa-
rrollados en esta tesis como se indica en los párrafos 1.3 y 1.4 de este
capítulo introductorio.
1.2 Reseña histórica del problema del control
Antes de la segunda guerra mundial el diseño de sistemas de control
era ante todo un arte; durante y después de la guerra, considerables es-
fuerzos fueron gastados en el diseño de sistemas de control.
En la primera etapa, las herramientas teóricas usadas fueron basadas
en los trabajos de Bode y Nyquist. En particular, conceptos como respues-
ta de frecuencia, ancho de banda, ganancia y margen de fase, fueron usa-
dos para diseñar servomecanismos en el dominio de la frecuencia; esto era
el comienzo del moderno control automático.
La teoría de los servomecanismos se desarrolla rápidamente desde el
fin de la guerra hasta el comienzo de los años 50, los criterios en el do-
minio del tiempo son cada vez. más usados, y la introducción del método de
lugar( de las raíces por Evans en 1948 permite el enlace entre los métodos
en el dominio del tiempo y de la frecuencia, convirtiéndose en una nueva
herramienta de diseño. Durante este periodo la principal tarea de la in-
geniería de control es el diseño de servomecanismos lineales; leves no
•linealidades en la planta y en los elementos de amlificación de potencia
podían ser tolerados con el 'uso de la realimentación negativa haciendo que
el sistema tenga una respuesta relativamente insensible a las variaciones
y perturbaciones.
La era de la competición, de la rápida tecnología y la exploración es-
pacial exigieron una mayor exactitud y aumentó el interés en los sistemas
no lineales de control. Los métodos de la función descriptiva y del plano
de fase comenzaron a ser aplicados para hacer frente a los nuevos desafíos
del diseño. Estos métodos permitieron examinar la estabilidad de los sis-
temas no lineales de lazo cerrado en el dominio de la frecuencia y diseñar
sistemas no lineales de control en el dominio del tiempo, respectivamente.
La idea de determinar un sistema óptimo con respecto a un criterio es-
pecífico tomó vigencia y la formulación precisa del problema atrajo el in-
teres de los matemáticos. El problema del control óptimo en el tiempo, fue
extensamente estudiado por matemáticos de los Estados Unidos y de la Unión
Soviética. En el período de 1953 a 1957 Bellman, Gamkrelidze, Krasovskii y
La Salle desarrollaron la teoría básica de los problemas de tiempo mínimo
y presentaron resultados concernientes a la existencia, unicidad y propie-
dades generales del control óptimo en el tiempo. En 1958, en el Congreso
Internacional de Matemáticas en Edimburgo fue anunciado por primera vez el
principio del máximo de Pontriyagin que fue demostrado más tarde por Bol -
tyanskii y Gamkrelidze. El método de la programación dinámica, del cual
considerable uso ha hecho la técnica de los problemas de control, fue de-
sarrollado por Bellman alrededor de 1953 - 1957.
Simultáneamente con el rápido desenvolvimiento de la teoría de con-
trol se dio la continua revolución en la tecnología de las computadoras,
lo que dio una serie de facilidades e ideas. Así, la teoría moderna de
control puede ser vista como la confluencia de tres tendencias: la teo -
ría de servomecanismos, el cálculo de variaciones, y el desenvolvimiento
de las computadoras.
1.3 Objetivos de la presente tesis
Dos son los objetivos principales del presente estudio, el primero
dar una clara formulación del problema de control óptimo y dar la solu-
ción al problema para sistemas lineales con criterio cuadrático en términos
de la ecuación de Hamilton - Jacobi presentando el material necesario pa-
ra su clara comprensión. El segundo consiste en resolver las ecuaciones ma-
triciales algébrica y diferencial de Ricatti, ecuaciones a las que se lle-
ga al resolver la indicada ecuación de Hamilton - Jacobi y que requieren
de métodos computacionales para su resolución, salvo casos particulares.
1.4 Descripción por capítulos
Como todo problema en ingeniería, el de control óptimo requiere una
descripción matemática dual: simple y que adecuadamente prediga la respues-
ta del sistema físico a todo tipo de entrada; por tanto, el punto de parti-
da de las investigaciones de control óptimo es el modelo matemático en la
forma de variables de estado. Así el capítulo 2 comienza introduciendo la
notación y ciertas definiciones en esta forma de describir los sistemas;
se presupone un buen conocimiento de esta materia antes de abordar el pre-
sente estudio. Se pasa luego a plantear una serie de problemas con diferen-
tes criterios a optimizar que permiten comprender la forma matemática más
general tomada en la formulación del problema.
En el numeral 2.3 se describe el método de la programación dinámica
que a más de tener su valor propio en la resolución del problema dé con-
trol óptimo, permite una clara comprensión del método de resolución en
términos de la ecuación de Hamilton - Jacobi que se presenta en esta tesis.
En el numeral 2.4 se aborda el problema en su forma más general dando
la deducción de la ecuación de Hamilton - Jacobi _ Reliman. A continua-
ción esta ecuación es resuelta para los problemas de regulación lineal con
criterio cuadrático, lo que, para sistemas variables.en el tiempo sobre un
intervalo de tiempo finito nos lleva a la necesidad de resolver la ecuación
diferencial matricial de Ricatti y para sistemas invariantes en el tiempo
sobre un intervalo de tiempo infinito nos lleva a la ecuación algébrica.
La ecuación diferencial de Ricatti es no lineal, lo que hace necesa-
ria la utilización de un computador digital para su resolución. En el ca-
pítulo tercero se da la computación de la matriz solución de la ecuación
diferencial por dos métodos diferentes. En el primer método se ha tomado
la formula de Adams para la elaboración de un programa para sistemas inva-
riantes en el tiempo. El segundo método, válido también para sistemas va-
riables en el tiempo, se basa en una transformación previa de la ecuación
matricial a un sistema de ecuaciones diferenciales que es resuelto con el
programa "Runge Kutta" tomado del manual" PLOT 50. Mathematics. Volume 1"
de la Tektronic, Inc, la parte correspondiente a ecuaciones diferenciales.
Si el problema de control óptimo es resuelto, para sistemas lineales
invariantes en el tiempo, sobre un Intervalo Infinito de tiempo tenemos
la ecuación algébrica, por tanto, los programas indicados resuelven también
la ecuación algébrica tomando un tiempo suficientemente grande.
Por último se da la solución analítica de la ecuación algébrica parai
sistemas cuya matriz de estado A es simétrica, que en la práctica abarca
una gran cantidad de problemas.
Hay que aclarar que dada la abundancia de ecuaciones, sólo se las nu-
mera en donde es absolutamente necesario.
CAPITULO II
EL PROBLEMA DE CONTROL ÓPTIMO
2.1 Requerimientos para la formulación del problema
La formulación del problema de control óptimo requiere:
1. La descripción matemática, o sea el modelo, del proceso a ser con -
trolado.
2. La especificación de las restricciones físicas.
3. La especificación de la medida (criterio) a ser optimizada.
2.1.1- El modelo matemático:
Consiste en la descripción del sistema por medio de variables de es-
tado, siendo:
Def. 2.1 El estado de un sistema es el conjunto de cantidades
Xj(t),x2(t),...,xn(t) las cuales, si se conocen en t = to , son determina-
das para t * t0 al igual que la respuesta, especificando las entradas al
sistema para t > t0.
Notación:
->- Ax(t) =
xn(t)
es el vector de estado
•*"/4.\u(t) =
Ui(t)
es el vector dé control (o de entrada)
La ecuación diferencial vectorial que describe el sistema
x = a(x(t), u(t), t)
se llama ecuación de estado del sistema y de acuerdo a su forma los sis
temas se clasifican en:
- Sistemas no lineales y variables en el tiempo; su ecuación de estado
es de la forma:
?(t) = ?(?(t), ff(t), t)
- Sistemas no lineales invariantes en el tiempo; su ecuación de estado
es de la forma:
- Sistemas lineales variables en el tiempo:
*(t) = A(t)x(t) + B(t)u(t)
donde A(t) y B(t) son matrices, cuyos coeficientes son funciones del
tiempo.
- Sistemas lineales invariantes en el tiempo:
5(t) = Ax(t) + Bu(t)
donde A y B son matrices constantes.
Def. 2.2 La historia de los valores de las entradas de control, durante
el intervalo [t ,tf] s se representa por "u y es llamada la historia de
control o simplemente control .
Def. 2.3 La historia de los valores de estado en el intervalo [ t¿ stf ]
es llamada la trayectoria de estado, y se representa por x .
2.1.2 Las restricciones físicas
Generalmente se expresan como desigualdades que deben satisfacer las
entradas de control y las variables de estado, pues como es lógico en la
realidad tendrán valores .limites. También pueden ser desigualdades que de-
ben satisfacer ciertas funciones de las entradas de control y de las va-
riables de estado (por ejemplo consumo de combustible, etc.) que están
físicamente limitadas.
Def. 2.4 La historia de control que satisface las restricciones de control
durante el intervalo de tiempo [t0,tf] es llamada control admisible. El
conjunto de controles admisibles lo representamos por U , y la notación
u - e U significa que la historia u es admisible.
Def. 2.5 La trayectoria de estado que satisface las restricciones de es-
tado durante el intervalo de tiempo [t0,tf] es llamada trayectoria ad-
misible. El conjunto de trayectorias admisibles esta representado por Xs
y x e X significa que la trayectoria x" es admisible.
2.1.3 La medida a ser optimizada
Un control óptimo es definido como aquel que minimiza cierto crite-
rio. La selección de este criterio en algunos casos es evidente, pero en
general esta selección es subjetiva.
En general asumiremos que la medida a ser optimizada tiene la forma:. • tf
J = h(x(tf), tf) + / g(x(t), u(t), t)dto
donde t0 y tf son el tiempo inicial y final , h y g son funciones es-
calares, tf puede ser fijo o variable dependiendo del problema.
Comenzando en un estado inicial )t(t0) = ;<0 y aplicando una señal
de control u(t) para te [t0, tf] el sistema sigue alguna trayectoria
de estado. La medida J asigna un único valor real a cada trayectoria del
sistema.
En realidad existe una motivación física para escoger la medida J
de la forma indicada, daremos algunos ejemplos que ilustran lo dicho.
Problema de tiempo mínimo:
Se desea transferir un sistema de un estado arbitrario inicial-.>. -+X(t0) = x0 a un estado final en el mínimo tiempo (en general se impone
que el estado final de un sistema se encuentre en una región S del espa-
cio variables de estado - tiempo que tendrá dimensión n + 1 ; si el es-
tado final y el tiempo final son fijos, S es un punto).
La medida a ser minimizada es
tfJ = tf - t0 = / dt ;
to
tf es el primer instante de_ tiempo donde x(t) y S se intersectan.i
Problemas de control del estado final:
Se trata de minimizar la desviación del estado final de un sistema
del valor deseado r(tf)
Una posible medida de la desviación sera:
nJ = - .n(tf)]
Valores absolutos también pueden ser usados, pero la forma cuadráti-
ca es más fácil de manejar matemáticamente. Usando notación matricial te-
nemos:
J = It(tf) - ?(tf)]T[x(tf) -í(tf)]
o puede ser escrita como
J = x(tf) - r(tf)| 2 ,
donde ||x(tf) - r(tf)| es llamada la norma del vector x(t^) - r(t ).
10
Para generalizar, podemos insertar una matriz H, real simétrica, se-
midefinida positiva de orden n x n y obtenemos:
T I I I T~^ t= [í(tf) - r(tf)]_H[£(tf) - ?(tf)] H =
Si H es una matriz diagonal, el que H sea semidefinida positiva impli-
ca que todos los elementos de la diagonal son no negativos. Ajustando el
valor de estos elementos podemos pesar la relativa importancia de la des-
viación de cada uno de los estados de los valores deseados. Incrementan-
do h-j-j daremos mayor importancia a la desviación de x-(t-p), y si hacemos
hjj = O indicamos que no interesa cual sea el valor final de x,-.
Los elementos de H también son ajustados para normalizar el valor nu-
mérico encontrado (o sea hacer el cambio de unidades cuando sea necesario),
Problemas del mínimo esfuerzo:
Se trata de transferir un sistema de un estado inicial arbitrario
x(t0) = x0 a un especifico estado final S, con el mínimo "esfuerzo". El
significado del término "esfuerzo" depende de la aplicación particular
física; así, la medida a ser optimizada puede asumirse de varias formas:
1. Si esta medida es proporcional al control aplicado podríamos selec-
cionar:tf
O = / u(t)|dt .*o
Si hay algunos controles y la medida del "esfuerzo" del control i es
c- u.;(t) ; i = l,...,n (c.j son constantes de proporcionalidad) ,
entonces minimizando
t • io
2.
11
minimizaremos el esfuerzo total. Los 0. son-factores para balancear
la importancia de los diferentes "esfuerzos".
Existen casos en que el "esfuerzo" (por ejemplo la energía disipada
en un circuito que no tenga elementos que almacenan energía y que la
fuente de voltaje sea u(t) ) es proporcional al cuadrado del control
aplicado, entonces para minimizar el "esfuerzo" seleccionaríamos:
tfJ = / U2(t)dt
toPara algunos controles la forma general de la medida anterior será:
J = [uT(t) R ff(t)]dt
donde R es una matriz real simétrica definida positiva. Los elementos
de R pueden ser funciones del tiempo si se desea una variación del ba-
lance de cada esfuerzo durante el intervalo [t0,tf]
Problemas de rastreo:
Se trata de mantener el estado del sistema (x(t)) tanto como sea po-
sible en el estado deseado r(t) en el intervalo [t0,
Seleccionamos la siguiente medida a ser optimizada:
J = / [x(t) - ?(t)]dt
donde Q(t) es una matriz real, semidefinida positiva, simétrica de orden
n x n, para todo t e [t0 ,tf] . Los elementos de la matriz Q son selec -
cionados pesando la importancia relativa de los diferentes componentes del
vector de estado y normalizando los valores numéricos de la desviación.
12
Problemas de regulación:
Un problema de regulación es un caso especial de un problema de ras-
treo cuando los valores deseados de estado son ceros, o sea:
r(t) = O para todo t € [t0,tf]
Si unimos las medidas J de los problemas indicados tenemos:
• T tf TO = [*(tf) - r(tf)]]H[?(tf) -f(tf)] + / ([x(t) - r(t)]'Q(t)[x(t) - r(t)]
+ [íT(t)R(t)í(t)])dt
que es un caso particular de la medida J que asumimos a un comienzo.
tf(J = h(f(tf),tf) + / g(x(t),u(t),t)dt)
Como vemos, escoger criterio es una traslación de los requerimientos
del sistema físico a términos matemáticos. En particular supongamos que
dos historias admisibles de control, que hacen que el sistema siga trayec-
torias de estado admisibles, son especificadas y debemos seleccionar la
mejor. Para evaluar esos controles hacemos que pasen el examen que mues-
tra la fig. 2,1.
Figura 2.]
EVALUACIÓN DE CONTROLES ADMISIBLES DE UN SISTEMA
13
Primero aplicamos el control ir1' al sistema y determinamos el va-
lor de la medida J, este valor lo llamamos J^1' , repetimos este procedi-
miento con u'2) obteniendo J^2). Si J^'< jW designaremos a TP1) como
el mejor control . .
2.2 Formulación del problema de control óptimo:
2.2.1 Formulación del problema
Se trata de encontrar un control admisible u* que haga que el siste-
ma
siga la trayectoria admisible x* que minimiza la medida
tf -J = h(x(tf),tf) + / g(x(t),u(t),t)dt
0
u* es llamado "control óptimo" y
x* "trayectoria óptima".
Son necesarios los siguientes comentarios:
Primero: podemos desconocer de antemano que el control óptimo exista;
puede ser que sea imposible encontrar un control que sea admisible y que
haga que el sistema siga una trayectoria admisible. Hay algunos teoremas
de existencia y unicidad, aunque en la mayoría de los casos se tratarai
primero de encontrar el control óptimo antes de tratar de probar que el
existe.
Segundo: si el control óptimo existe, puede no ser único. Los varios con-
troles óptimos pueden complicar los procedimientos de computación pero ellos
dan la posibilidad de escoger entre varias configuraciones de control. Esta
es ciertamente una ayuda para el diseñador porque puede luego considerar
14
otros factores (costo por ejemplo) que pueden no haber estado incluidos
en J.
Tercero: cuando decimos que u* minimiza J, queremos decir que
J* = h(x*(tf),tf)) + / g(x*(t),u*(t),t)dt < h(x(tf),tf) +to
tf+ / g(x(t),í(t),t)dt
to
-V ->para todo u e U que hace x e X . O sea se trata, del mínimo absoluto
o mínimo global de J, y no de un mínimo local. Por supuesto una manera
de encontrar el mínimo absoluto es encontrar todos los mínimos locales
y luego tomar el menor.
Por último, si el objetivo es maximizar alguna medida, la teoría es
válida pues es equivalente a minimizar el valor negativo de esta medida.
2.2.2 Formas de control óptimo:
Def. 2.6 Si una relación funcional de la forma:
í*(t) = f(x(t),t)-*•
puede ser encontrada para el control óptimo, la función f se llama ley
del control óptimo o plan óptimo de control.
-*-Hay que notar que la ecuación implica que f es una regla que determi-
na el control óptimo en el tiempo t para cada valor admisible de estado
en el tiempo t. Por ejemplo si:
u*(t) = F.x(t)
donde F es una matriz de constantes reales diríamos que el "plan óptimo
de control" es lineal e invariante en el tiempo con respecto a Tos es-
tados.
15
Def. 2.7 Si el control óptimo es determinado como una función del tiempo
y de un valor especifico inicial de estado, esto es:
í*(t) = e(x(t0),t)
el control óptimo será en "lazo abierto".
Asi, el control óptimo en lazo abierto es óptimo sólo para un valor
inicial particular de estado, mientras que si el plan óptimo de control
es conocido, tenemos el control óptimo cualquiera que sea el estado ini-
cial .
Es una ayuda imaginar la diferencia entre un plan óptimo de control
y un control óptimo en lazo abierto como se muestra en la figura 2.2.
:(t)
colv
)'
procesov
se abre en t « t0
(a) control óptimo en lazo abierto (b) plan de control
Figura 2.2 .
FORMAS DEL CONTROL ÓPTIMO
2.3 Programación dinámica
Dos métodos son usados para determinar una función de control que mi-
nimice la medida seleccionada, el principio mínimo de Pontryagin y el de
programación dinámica desarrollado por Bel Imán. El último método como vere-
mos conduce a una ecuación funcional que es factible de resolver usando un
16
computador digital.
Hemos definido un control óptimo de la forma:
í* = f(5t(t),t)
como un control óptimo de lazo cerrado. Hay que notar que el plan óptimo
está especificado como un generador del valor del control al tiempo t
desde un valor de estado al tiempo t. La presencia de t como argumento de->f indica que el plan óptimo puede ser variable en el tiempo.
En el método de programación dinámica un plan óptimo es encontrado
empleando el concepto intuitivo llamado "el principio de optimalidad".
2.3.1 El principio de optimalidad
El camino óptimo para un proceso de varios estados de decisión es
mostrado en la figura 2.3 (a). Supongamos que la primera decisión ('toma-
da en a ) resulta ser el segmento a - b con un costo Jab y que la res-
tante decisión da el segmento b - e con un costo Jbe. El mínimo costo
Jcíe es entonces:
Jae = Jab + Jbe
b,---, C
(a)
FIGURA 2.3
(b)
Teorema: Si a - b - e es el camino óptimo de a a" e, entonces b - e
el el camino óptimo de b a e
17
Dem. (por el absurdo) Supongamos b - c - e (Fig. 2.3 (b)) es el cami-
no óptimo de b a e luego Jbce < Jbe y*
Jab + Jbce < Jab + Jbe = Jae
*lo que no puede ser puesto que Jae es la mínima Jae.
Corolario: b - e tiene que ser el camino óptimo de b a e para que
a - b - e pueda ser el camino óptimo de .a - e .
Bellman ha llamado a esta propiedad de un plan óptimo "el principio
de optimalidad".
2.3.2 Toma de decisiones aplicando el principio de optimalidadi
El siguiente ejemplo ilustra el procedimiento para tomar una decisión
óptima con la ayuda del principio de optimalidad.
Consideremos un proceso cuyo estado actual es b. Los caminos resul-
tantes de toda decisión admisible en b son mostrados en la fig. 2.4 (a).
Los caminos óptimos desde c, d y e al punto terminal f son mostrados en
la fig. 2.4 (b).
Jbe
(a) (b) (c)
FIGURA 2.4
El principio de optimalidad implica que si b - c es el segmento
inicial del camino óptimo de b a f , entonces c - f es el segmento
18
terminal de este camino. El mismo razonamiento aplicado a los segmentos
iniciales b - d y b - e indica que los caminos de la fig. 2.4 (c)
son los únicos candidatos para la trayectoria óptima de b a f . La
trayectoria óptima que parte de b es encontrada.comparando:* A *Cbcf = Jbc + Jcf* A *Cbdf = Jbd + Jdf
Cbef = Jbe + Jef
El mínimo de estos costos es asociado con la decisión óptima en el
punto b. La programación dinámica es una técnica de computación, la cual
extiende la manera expuesta de tomar una decisión a una secuencia de de-
cisiones las cuales definen un plan óptimo y una trayectoria.
2.3.3 Una relación recurrente de la programación dinámica:
Tenemos un sistema invariante en el tiempo de orden n, descrito por
la ecuación de estado:
x(t) = a(x(t),u(t)) (1)
Se desea determinar el plan óptimo de control, que minimice la medida
O = h(x(tf)) + / g(x(t),í(t))dto
(2)
donde t.e se asume fijo. Los controles están restringidos a ser elemen-
tos del conjunto U, o sea u e U .
Primero aproximaremos el sistema continuo de la ecuación (1) a un
sistema discreto, esto va acompañado de considerar N (igualmente espa-
ciados) incrementos de tiempo en el intervalo O < t < t*
At
19
Asumiremos que At es lo suficientemente pequeño tal que la señal de
control pueda ser aproximada a una función que cambie sólo en los instan-
tes t = 0,At,...,(N - l)At .
x(kAt) es el valor k-ésimo de x" y lo representaremos por x(k);
Entonces tenemos:
x(t + At) = x(t) + Att(x(t),lj(t))
= x(k) + Ata(x(k),u(k))
para t = kAt será:
x(k +
ecuación que puede ser escrita como:
x(k + 1) = lD(x(k),u(k))
Operando en forma similar en (2) obtenemos:
(3)
At 2At NAtJ = h(x(NAt)) + / gdt + / gdt + ... + / gdt
o At (N-l)At
N-lJ = h(x(N)) + At I g(x(k),í(k))
k=0
la cual denotaremos:
N-l f~^~ /1 \ /= h(x(N)) + I gD(x(k),í(k)) (4)k=o
Ahora, se requiere encontrar el plan óptimo u*(x(0),0),u*(x(l),1)
. ..,u"*(x(N - 1),N - 1) para el sistema dado por la ecuación (3) y que
minimice la medida dada en (4).
Comenzamos definiendo:
JNoN(x(N)) = h(x(N))
JM w es el costo asociado al estado final x(N)
20
0N_l>N(x(N - l),u(N - 1)) '= gD(x(N - l),u(N - 1))+ h(x(N))
(N - D»u(N - D) + JN,N(x(N)) •
el cual es el costo de la operación durante el intervalo de tiempo
(N - l)At < t < NAt ,
el valor de J^_} es dependiente solo de x(N - 1) y de u"(N - 1), ya que->- " * • - * -x(N) está relacionado con x(N - 1) y u(N - 1) por la ecuación (3), asi
tenemos:
JN_1)N(x(N - 1),Í(N - 1)) = gD(x(N - l),u(N - 1)) + JM(aD(x(N - l),u(N - 1))
El costo mínimo es por tanto:
J * N(x(N - 1)) = +min {gD(x(N - l)fu(N - 1))+ JN M(aD(í(N - l),u(N - 1))}N-i,n u(N-l) N'n
Vemos que el control óptimo depende de x(N - 1), por eso^lo denotamos
u*(x(N - 1),N - 1).
El costo de operación de los dos últimos intervalos está dado por:
0N.2jN(x(N - 2),u(N - 2),u(N - 1)) " gD(x(N - 2),Í(N - 2)) +
+ 9D(x(N - l),u(N - 1))+ h(x(N)) =
= 9D(J(N - 2),u(N - 2)) + JN_ljN(x(N - l),u(N - 1))
donde nuevamente es usada la dependencia de x(N) con x(N - 1) y Ia(N - 1).
Jw o M es el costo de un proceso de dos etapas con el estado inicial1 1 *~ t- ) i»
x(N - 2). El plan óptimo u"*(x(N - 2) ,N - 2) es encontrado de:
¡
+ JN.1>N(x(N - l),u(N - 1))}
El principio de optimalidad requiere:
J* 2 N(x(N - 2)) = min '{gD(x(N - 2},Í(N - 2)) + J* (Í(N - 1))}n ¿>n u(N-2) N'1)N
21
donde x(N - 1) está relacionado con x(N - 2) y u(N - 2) por la ecua-
ción de estado, con lo que obtenemos:
J* (x(N - 2)) = ->min {gn(x(N - 2),u(N - 2)) + J* u(an(x(N - 2) ,Í(N-N-2.N U(N_2) u N-l.N u
Siguiendo el mismo razonamiento para las últimas tres etapas tendre-
mos :^f i~^~ , \/ \/ " ^ "k ' t~^~ /"*" \/
N-3.N x J||3) gD x >u N_2)N aD X
Hasta que para k etapas tenemos:
,(x(N - k)) = min (h(x(N)
que aplicando el principio de optimalidad llega a ser:
J¿ k N(x(N - k)) = min {gD(x(N - k) ,u(N - k)) +N k'N ' fi(N-k)
+ J - - ^ ( ^ ( M - k),í(N - k)))}
N-l
, N- •
(x(N - k)) es el mínimo costo posible para las k últimas etapas de
un proceso de N etapas con el valor de estado x(N - k) al comienzo de la
etapa N - k o podemos decir también que es el mínimo costo posible para
un proceso de k etapas con estado inicial numéricamente igual al valor
x(N - k).i
2.4 Solución del problema para modelos continuos lineales con criterio
cuadrático.
2.4.1 La ecuación de Hamilton - Jacobi - Bellman:
La aproximación de sistemas continuos a sistemas discretos nos llevó
a una relación de recurrencia que es ideal para ser resuelta en un compu-
tador digital. Ahora consideraremos una aproximación alternativa la que
22
nos llevará a una ecuación lineal diferencial parcial, llamada ecuación
de Hamilton - Jacobi - Bellman. La deducción que daremos es paralela a la
de la ecuación funcional recurrente.
El proceso descrito por la ecuación de estado:
5t(t) = a(x(t),u(t),t) (1)
es controlado para minimizar la medida:
J = h(x(tf),tf) + / g(x(T),u(T)>T)dT (2)t0
donde h y g son funciones especificas» t0 y tf son fijos y T es
la variable de integración.
Definimos:
,í(T)) = h(x(tf),tf) + / g(x(T),u(T),T)dTt<T<tf - t
(3)
donde t puede ser cualquier valor menor o igual que tf y mayor que t0, y
x(t) puede ser cualquier valor admisible de estado. Notamos que J depende
del valor numérico de x(t) y t y de la historia del control óptimo en el
intervalo [t,tf]
Ahora se trata de encontrar el control que minimice (3) para todo
admisible x(t) y para todo t < tf. La función del mínimo costo será:
J*(x(t),t) = min {h(x(tf),tf) + / g(x(r) ,U(T) ,T)dT}u(t) t
t<T<tf
Subdividiendo el intervalo obtenemos:
* + -_ t+At tfJ (x(t),t) = min íh(x(tf),tf) + / gdr + / gdr}
Í(T) t t+At
23
de donde por el principio de óptima!idad:
* t+AtJ (x(t),t) = min { f gdT + J*(x(t + At),t + At)>
U(T) tt<T<t+At
donde J (x"(t + At),t + At) es el mínimo costo del proceso para el in -
tervalo de tiempo t + At < T < tf con estado inicial x(t + At).
Asumimos que hasta por lo menos las segundas derivadas parciales de
J existen y son continuas, entonces podemos expandir J (x(t + At) ,t + At)
en una serie de Taylor en el punto (x(t),t) obteniendo:
t+AtJ (*(t),t) =
U(T) t ,t<rlt+At
r(x(t),t)3t
(x(t),t)]Át
9J* -> T •> •>r ~ (x(t),t)] [x(t + At) - x(t)] + términos de orden mayor}
Para un pequeño At :
J*(*(t),t) = min {g(x(t),u(t),t)At + J*(jt(t),t) + JÍ(x(t),t)At
donde:
(x(t),t)[?(x(t),Ll(t)at)]At + o(At)}
o(At) es una función tal que lim —-—¿- = O ;A-í-.n At
.,*t
i*TX
r= [
3Xr
Sacando los términos que no dependen de Tj(t) y simplificando:
O - j£(x(t),t)At + min íg(5r(t),í(t),t)At + J*T(x(t) 5t)'tt(u(t)
+ o(At)}
tt)] At
24
dividiendo para At y tomando el limite cuando At -*- O :
*O =u(t)
(x(t),t)[a(x(t)su(t),t)]}
con la siguiente condición de borde:
J*(x(tf),tf) = h(x(tf),tf)
Definimos el Hamiltoniano JC como:
,J* t) '=" g(*(t),tf(t),t) + J*T(?(t),t)[íá(t),í(t),t)]. A
y Jtíx(t)>(x(t),J,t),J,t) =' minu(t)
,í(t)A,i
Usando estas definiciones obtenemos la ecuación de Hamilton'- Jacobi -
Reliman: i
O = J*(x(t),t) + ?C(?(t),lí*(5c(t),J*,t),J* t)
Esta ecuación es la análoga a la ecuación de.recurrencia de Bellman.
2.4.2 Problemas continuos de regulación lineal;
La ecuación diferencial matricial de Ricatti .
El proceso a ser controlado está descrito por la ecuación de estado;
x = A(t)x(t) + B(t)u(t)
y la medida a ser minimizada es:
J =|xT(tf) H x(tf) + f i[? R(t)í(t)]dt
iH y Q son matrices reales simétricas semidefinidas positivas, R es una
matriz real simétrica definida positiva; el tiempo inicial t0 y el tiem-
po final tf son especificados y x(t) y u"(t) no están restringidos por
ningún borde.
Para usar la ecuación de H - J - B partimos del Hamiltoniano:
25
T+ J(x(t),t).[A(t)x(t) + B(t)u(t)]. OT/1
La condición necesaria para u(t) que minimiza JC es __ = O
(x(t),u(t),Jy,t) - + B(t)TJx(x(t),t) = O
= R(t) (que por ser positiva definida, el valor encontrado es un mí
nimo).
Entonces: u*(t) = -R"1 (t)B(t)TJ*(x(t) ,t)
que sustituyendo en el Hamiltoniano
#(x(t)>(t)sJx3t) = -xT(t)Q(t)x(t) +Ij*T(x(t)st)B(t)R-1(t)BT(t)J* +
+ J* A(t)x(t) - J* B(t)R~1(t)BT(t)J* =
= i-xT(t)Q(t)x(t) - 1 J* B(t)R"1(t)BT(t)J* + J* A(t)x(t)
iLa ecuación de H - J - B será:
*T JO = J* + xT(t)Q(t)x(t) - JxlB(t)R"1(t)BT(t)J* + J*'A(t)x(t)
La condición de borde es
J*(*(tf),tf) = |x
Buscamos la solución de la forma:
J*(x(t),t) = -
donde K es una matriz real simétrica definida positiva que va a ser de-
terminada. Sustituyendo en la ecuación de H - J - B tenemos:
O = IxT(t)K(t)x(t) + IxT(t)Q(t)x(t) - IxT(t)K(t)B(t)R"1(t)BT(t)K(t)x(t)
xT(t)K(t)A(t)x(t)001906
26
KA puede ser escrita como:
KA = 1 [XA + (KA)7] + I [(KA) - (KA)T]
* fll
Entonces la ecuación queda:
O = jíT(t)K(t)x(t) + |xT(t)Q(t)?(t) - ixT(t)K(t)B(t)R-1(t)BT(t)K(t)x(t)
+ - JT(t)K(t)A(t)x(t) + ixT(t)AT(t)K(t)x~(t)
Esta ecuación se cumple para todo x(t) , asi tenemos:
O - K(t) + Q(t) - K(t)B(t)R-i(t)Bl(t)K(t) + K(t)A(t) + A!(t)K(t)
y la condición de borde est
K(tf) = H
que se conoce como ecuación diferencial matricial de Ricatti.
2,4.3 Problemas continuos de regulación lineal: Sistemas invariantes en
el tiempo; tf = « . La ecuación matricial algébrica de Ricatti.
Consideremos el sistema descrito por:
x(t) = a"(x'(t),u"{t),t) para t > t0 ;
con el estado inicial ?(t0) = x0 .
Def. 2.8 Si hay un tiempo finito tt '> t0 y un control u"(t)s t e [to,
en el cual se transfiere el estado x0 al origen al tiempo t , se dice que
el estado x0 es controlable al tiempo t0 . Si todos los valores de x0 son
controlables para todo t0 el sistema es completamente controlable o sim-
plemente controlable.
La controlabilidad es muy importante, porque estamos considerando
problemas en los cuales la finalidad es transferir un sistema desde un es-
tado inicial arbitrario al origen, minimizando algún criterio. O sea, la
27
controlabllidad es una condición necesaria para la existencia de una so-
lución.
Kalman muestra que un sistema lineal invariante en el tiempo es con-
trolable si y solo si la matriz de orden n x mn:
E = [&.A.B.A2...An~1B]
tiene rango n .
En los problemas de regulación lineal que estamos considerando tene-
mos que se cumple el siguiente teorema:
Sea el sistema controlable, lineal, invariante en el tiempo descrito
por: 4-,x(t) = Ax(t) + Bu(t)
•se quiere encontrar el control que minimiza
00 . '.
•J(t) = / [xT(OQx(-r) + LIT(T)RLÍ(t
donde Q y R son matrices constantes definidas positivas.
Bajo estas condiciones el control óptimo existe, es único y está da-
do por la ecuación
ti*(t) = -ír^Kxít) ,
donde K es una matriz constante de orden n x n , simétrica3 definida po-
sitiva y es solución de la ecuación algébrica, matricial de Ricatti:
KA + ATK - KBR"1BTK + Q = O
Primero se requiere que el sistema sea controlable, lo que como he-
mos dicho representa la condición necesaria para la existencia del control
óptimo, y, en segundo lugar Kalman muestra que la suposición de controla-
28
bilidad y de que H = O implica que "lim K(t-r) existe, es único e igualtf->« T
a K . Donde K es una matriz constante, definida positiva y que es solu-
ción de la ecuación algébrica de Ricatti, ya que es constante y debe ser
solución de la ecuación diferencial de Ricatti.
CAPITULO III
SOLUCIÓN DE LAS ECUACIONES DE RICATTI
3.1 Solución de la ecuación diferencial y algébrica usando la fórmula
de Adams.
3.1.1 Planteamiento del problema
A manera de resumen de lo visto en el capítulo II, si el sistema es
descrito por
x" = Ax + BÍí
y 36 cíes 85 encontrar el control cjU6
J = H 5?(tf) + 1 .tf
Q x(t) R í(t)]dt
donde:
x(t) es el vector de estado (de orden n)
u(t) es el vector de control (de orden m)
A matriz real de orden n x n
B matriz real de orden n x m
Q matriz real simétrica semidefinida positiva de orden n x m
R matriz real simétrica definida positiva de orden m x m
H matriz real simétrica semidefinida positiva de orden n x n
iLa solución al problema planteado es:
= -R-iBT J*(x(t),t) ;
= ltT(t)K(t)S(t)
29
30
donde K(t) es la solución de la ecuación
O = K(t) + Q - K(t)BÍT BTK(t) + K(t)A + ATK(t)
con la condición de borde K(t-p) = H
A continuación determinaremos K(t); para esto se usará el método
iterativo predictor-corrector que se expone en el siguiente párrafo.
i3.1.2 Los métodos predictores correctores. La fórmula de Adams
Escribiremos la ecuación de Ricatti de la forma
K(t) = f(K(t),t) ; K(tf) = H
Los métodos predictores correctores implican el uso de una fórmula
para hacer la primera predicción del siguiente valor de K (el siguiente
al valor conocido K(tf) = H), seguida de la aplicación de una fórmula
correctora que da una mejor aproximación, dando entonces mejoramientos su-
cesivos (método iterativo); Aunque son ligeramente complicados, tales mé-
todos tienen la ventaja que a partir de aproximaciones sucesivas a cada
valor de K puede hacerse un estimativo del error. Una pareja predictora-
correctora es:
K(t - At) ^ K(t) - AtK(t)
K(t - At) = K(t) - At[K(t) + (t - At)]
(En nuestro caso nos interesa calcular con el tiempo corriendo para atrás,
por eso los signos negativos) . •
El predictor es la fórmula de Euler y el corrector se conoce como
fórmula de Euler modificada, o fórmula de Adams. Como
K(t) = f(K(t),t) y
K(t - vrt) = f(K(t - At),t - At),
31 "
el predictor estima primero K(t - At), este estimativo conduce entonces
a un valor K(t - At), luego a uno de K(t - At) corregido. Se hacen lue-
go más correcciones de K(t - At) y de K(t - At) sucesivamente hasta
obtener un resultado satisfactorio.
La teoría de ecuaciones diferenciales indica que este método siempre
1 converge, y la precisión que permite el método es del orden de (At)2 .
32
3.1.3 Programa "Adams": Diagrama general de bloques y diagramas de flujo
DIAGRAMA GENERAL DE BLOQUES
1 Entrada de datos:Orden del vector de estado:nOrden del vector de control :mMatrices: A, B, H, R, Q
2 Prueba de estabilidad y cálculo delas constantes de tiempo del sistema paraescoger intervalos de tiempo que permitanobservar los transitorios del sistema
Subrutina para elcálculo de los va-lores propios de lamatriz de estado A
3 Cálculo de los coeficientes de laecuación de Ricatti:K = Kzl + z2K + Kz3K + z4con la condición de borde K(tf) = H
Tzl = - A; z2 = zl; z3 = z4 - -Q
4 Solución de la ecuación por el mé-todo predictor - corrector:Predictor (fórmula de Euler):K(t - At) = K(t) - AtK(t)Corrector (Fórmula de Adams):
K(t - At) = K(t) - |-At[K(t)+ K(t - At)]
Subrutina para el
cálculo de K.
33
DIAGRAMA DE FLUJO DEL BLOQUE • 2
EO = A(l,l)
El sistema esinestable
inicialmente
N y A hansido entradosen 1
Subrutina paracalcular los va-lores propios deA. Sus partes rea_les son devueltasen EO(N)
El sistema es es-table
/
E - 10~6
EO = ABS(EO)
_J
34
FOR MI * 1 T0 N
E = E MAX EO(M1)
Ul
v
Se recomienda ca}_cular con 1nterva_los de tiempo Ul
35
DIAGRAMAS DEL BLOQUE 4
- DIAGRAMA DE BLOQUES
Entrar: tiempo final, tiempo inicial, e in-tervalo de tiempo para la escritura, estedebe ser el valor calculado en el bloque 2
V
Entrar la precisión.La precisión requerida debe serun valor menor o igual a At/10
Encontrar el intervalo de tiempopara los cálculos y el numero decálculos a realizarse (W)
Condicionesde borde
vFOR J = 1 To W
Cálculo por la fór-mula de Euler delpredictor
Escribir valor cal-culado con intervalode tiempo entrado alcomienzo de este dia_grama
Cálculo de K
Calculo del valorcorregido, con lafórmula de Adams
. Pruebade
convergencia
36
DIAGRAMA DE FLUJO
EntrarF, T0, U
V = 10*V1
EscribirCl, T, K
Subrutlna para elcálculo de KR = Kzl + z2K ++ Kz3K + z4
D = O
- S =
A
A - 1 = 1
X = SU - TS
I + Q = O
M oí I = l
38
Subrutina para elcálculo de 2K = Kzl -+ z2K +
+ Kz3K + z4
Cl = Cl + 1
Ll = K
/_<~ A r.
Ll = K - LlLl = ABS(Ll)C = SUM(Ll)
EscribirCl, TÍ K
39
3.1.4 Ejemplos
Ejemplo 1:
Deseamos resolver la ecuación de Ricatti que permita encontrar la
ley de control que hace que el sistema de control descrito por
x,('t) = x2(t)
x2(t) = -Xjft) + 2x2(t) + u(t)
minimice el criterio
J = 10 x^CT) + i j[xf(t) + 2x22(t) + u2(t)]dt2 o
el tiempo final T es 10 y las variables de estado y señales de control no
tienen ninguna restricción.
Ejemplo 2:
Lo mismo pero para el sistema descrito por
Xjft)' - X2(t)
x2(t) = -x.Ct) - 2x2(t) + u(t)
Solución:
La ecuación de Ricatti a resolverse es
K(t) + ATK(t) + K(t)A - K(t)BR-1BTK(t) + Q
donde para el ejmplo 1 se tiene:
= O
A =O 1
-1R = 1
Q =i o
O 2H =
20 O
O O
y para el ejemplo 2
A *
Q -
40
0 1
t-l -2j
' 1 0'
0 2
• ; B =
H =
0;
\0 0'
0 . 0
R = 1
A continuación presentamos las soluciones encontradas con el progra-
ma "Adams".
SOLUCIÓN PC LA ECUACIDÍJ DIFERCMCI/U. MATFÍICIAL DE RICATI
USANDO LA FORMULA PE APAHS
EL SISTEMA ES ESTARÉ
GE RECOMIENDA CALCULAK CON INTERVALOS DE TIEMPO! 0,1JJ-OCT-BO I?!10!17
INTERVALO-0,1 PRECISIOlí-1 ,OE-3
HUH0222211t11111
' 1111I11111111111111111I111111
, 1111111111
1 111I111111111111111111111111111111111111111111111
IT T10.007.909,BO
' 9.707.609.50?,409.309,209.107.008.90e.eo8.70B.¿08.50B.408.308.208.108.007.907.BO7,707,¿07.507.407.307.207.10 '7.006.706.BO6.706.606.50¿.406.306.206.106.005.905,803,705,605.505.405.305.205.105.004.704.604.704.604.504.404.304.204.104.003,903. 803.703.603,503.403.303.203. 103.002,902. SO2.702.60'2,502.402.302,202.102.001 .901.801.701.601.501.401 .301 .201.10 '1 .000.900,800.700.600.500.40
0.300.200,100.00
31-OCT-80 19144)20
MATRIZ K POR20.000000019.B01¿91418,796719917.041045614.B94967712,730148910.77738339. 12199007. 76370946.665B-M35.7B281405.072041B4.49777544.03139113.65043083. 33754293.07909982.86457392,68569232.53592652.4100B732, 30-401932.21437102. 13B42022.07394202.019106?1.97240231.93257131 .B9B56531 ,86950541.B4465271.82338411.80517271.78957191.77620241,76474131.75491381.74648511,73925511.73305221.72773011.72316321,71924421.71588091.71299441.71051721.70839101.70656621 .70500001.70365581,70250201.70151181 .70066201 .49993261 .69930661.67S7673 '¿.¿9830821 .69791231.69757291,69728151. ¿9703131.69681671 .¿9663251. ¿9647441 .69633871 , ¿°£22231.6961224I .¿9¿03671 .69596311 .¿9590001 .¿95B4581 ,¿9377931. ¿9575941.6957252l.¿95¿9581.69567061. ¿956*891 .¿9S¿3041. -6 7361441 .69560081.69SSB911.67557901.69557031.69556291.69555661 .69553111.69554641. ¿9354241 ,69553901.6955360I .¿9553351.69553131.69552941.69552781.69552651.69552531.69552431. ¿9552341.69552261 ,69552201. '¿955215
FILAS0.00000001.77746733.03179183.7123¿¿83.90652673.77764733,48208033. 12610592,76920852,43943892. 14709121.89353451.67614631 .47084121 .333278?1 . 19939191 ,08557860.98B73930.90624600, 83588580.77580150.72443440.6804756 .0.642B2320.61054BO0.58286440,55910670.53870930.52119100.50614140.49321010.4B207730.47254640,46433740.45728160,45121700.44600450.44152460,43767440.43436570.43152250.42907950.4267B050.42517720.42362810.42227740,42115450,42017280.41932980.41B60590.4179B4I0.41745030.41¿99200.41659850.4162607'0,41597060.41572170.41550790.41332450.4151¿700.41503180.414915B0.4MB1620.41473080.41465740,41459450.41454040.4144941
0.41445430.41442010.41439080.41436570.4143.4410.41432360.41430970.41429600.4Í428430.41427430.4142¿570.41425830.4142519
• 0.41424650.41424180.41423780.41423440.43423140.41422890.4I422¿70,41422480,41422320.41422190,41-»22070.41421970.41421BB0.41421H10.41421740.41421¿90.41421640.41421600.41421570.4142154
0.00000001.77746733,03179183.71236683.90¿52673.77764753.4B208033.12610592.76920852.439438?2. 14709121 .89353431 ,67614631 ,49084121.33327891.19939191.0B557B60.98873930.9062460O.B35B85B0.7758015 •0,72443440.68047S¿0.642B2320,61054800, 58286440.55910670.53870930.52119100.50¿14140.49321010.4B209730,47254640.46433740,4572B1¿
. 0,45121700.44¿00450.44152460.43767440.43436570.43152250.42907950.4269B050.42517720.423¿2810.42229740.42115450,42017280,41932980.41B60580.41798410.41745030,41699200,41657850. 4162¿070,41597060.41572170.41550790,41532450.41516700.41503180.41491580.414B1620.41473080,41465740.41439450.41454040.41449410.41445430.41442010.4J439080.41436570.41434410.41432560.41430970.41429600.4142S430.41427430,41426570.41425830,41425190,41424¿50.41424180.41423780.41423440.41423140.41 422B90.41422670,41422480.41422320.41422190.4142207 .0.41421770.4142Í BB0. -4)421810.41421740.41421690.41421640.41421600.41421570.4142154
0.00000000,32456130,76634801.16427481 .43563041.57264391 .¿0¿¿2851.57529651 .50847861.42597621 .33757861.25573181,17770171 .10685441 .04331010.9B743380.9381 1B30.8949433O.B5726290.82445190.77572880.77116460.74966570,73107150.7149S120.70099930.68893070.67849660.667*7970.66167120.65496640.64916250.64415530.639B3700.636U4I0.632905Í0.63014130,62776040.6257103
• 0,62374530.62242670.62111970. 61797570.61902890.61819760.61748280.61¿B¿840.61634030. 61586650.61549660.61516170. ¿1487390.614¿2¿70.61441440.61423210,61407550.61394110.¿13B2570.61372650.6136415O.¿135¿840.¿ 1350570. ¿1345170.61340570.61336600. ¿1333200. ¿1330280. ¿1327770. 61325620.61323770.61322180.61320820.61319660.6131B650. ¿1317790.61317060.61316420,61315080. ¿1315410.61315010.61314670.61314380.61314120.61313910.61313720,613135¿0. ¿1313<20. ¿1313300. ¿1313200. ¿1313120.6I3I3040.61312780. ¿1312920,¿1312B80.61312840. ¿1312800.61312770.61312730.61312730.61312710, 6131267
¿ O Í T I E T 9 ' » -O O C I C I 9 - V
991TEI9**
C E I I E I 9 * *in tEr? -*"
98AOEI9 '» -tviocr?1»-
TEEOEI? ' r8ÍIOET9'»-
99CAZI9 '*-9£AaZT9->
¿ O I B E I 9 ' f
IBÓ9EI9-K
8¿EOOT9->
£0£A809'>
ZEÍS88G**-1
OAESOSC-r-
E8I90CE*»-
0¿£09¿»*>
¿9C79E^'t-E£.0¿£TV*>
0000000*0
¿ V O C H V ' O
C t - O E U V - ' O
S Q O E U k - ' O
E 9 B I V T V O¿ T B I * T * ' 0
O C t - O U t ' O
E O B A E í ^ ' O
E t E E E T ^ ' OI C E t r E I f c - ' O
S A E T E I f r ' O
E C B A A O b - ' O9 B B C A O t r ' 0
Et't'SiOVOCSSt-90^'0A A B I E O ^ ' O
1910^0^-06BEOOOÍ* '0
8¿9t-8BE'0
T9¿B¿9£'0.098909£*0
S r O A A I E ' O¿¿¿áEOE'O
I T E £ B I T ' 0
7£uBBt '0>0t - A B i I T O ' 0ISEÓSCO-0-99£t-E90'0-
£ I20 t9T '0 -
E O ^ O E A t ' O -
90¿I89fO-.OSSEISfO-
9T8EE80-0
0£l-Bt-E£'09 B E T > - T á > 0
0000000 '0
E C O E t r l t - ' OC t - O C V I V ' O
V E i l t - l í ' OT O A T V - T k ' O
T T I A t l f OrEESt I t r ' 0
9C60EAE-0t-OCOCÍE'OB¿9V-a8E'0
0¿¿IZEE'0BlOiAIE'O¿6¿A£OE*0
T I C E B I I ' O
£TEOI9T'0-(•CEIZBI'O-EO^OEAI'O-I7S6A8I-0-90¿T89t'0-OECEICI'O-
9IBEE80'0
OEOCt 'S t 'C0 6 ¿ A B E t ' E
CEOCCA9-CBOOCEA9*C
CA>fSA9*CtB£^5A9'!:
I7V-EEA9-E¿¿IEE69-E
AOOC5¿9'£
tr¿BOSA9*£
EEEAl-67 '5
TTSE069'C6C£¿689'S
90£EB¿£*£¿80009C*££ESÍB£Í:'£
92£9ABá'E
A¿¿8TZT¿'E
E C C A T B E ' E¿ O C O A T E - EEV-0¿EIE 'ET09E80V--E
¿069989'OT
9090¿E¿'AT0000000'OC
yod N
B O Í O Ü I O C 08-iDQ-rE00'O t
OC'Ooc*o
OE'O09'00¿*008 "O04*000' tO l ' tOC' tOC*T
09 T
OB*TOiT00'C01'Soz*cOE'COV- 'C
09 *C
08 *COi'C00-EOT*EOC'EOE'COlr*£0£*C09'E0¿'E08'EO A ' E00 **•
OE'A
OC'A09 'A0¿*AOB--AO A ' Aoo'or
OC'V-'
OÍ'V'OE1 V '09** 'o¿*y03'^OA'y-00 *SO E ' EOC'ffOC'SOi-'E;
09 *COi'COB'S 'OA'C00'9OT-POC*?OE'?Ot*?OC'909'?OL"t08'?Oí*-?O0'¿01 'COt*¿lOE*^¿Ok*¿.OS*"¿.09 *¿0¿*£
OA'¿oo-aor -sOC'SOE'SO k ' B0£'B09'S0¿'808*8O A ' B00' A-Ot 'A
^
t. r
r. , i
r.rirrrE
rr
. r* t. trrT:rrr'tTCCrrrrrrr
rrTtTTrr
• rrrrr
OB-Í30-TCyaH3iH033a 39
Norot»n33 vi 3a Horomos
43
i3.1.5 Observaciones y conclusiones
El programa expuesto resuelve el problema para sistemas invariantes
en el tiempo, los que representan la mayoría de los casos prácticos.
Las constantes de tiempo del sistema se encuentran con la subrutina
para el cálculo de los valores propios de la matriz de estado A tomada
1 del manual "PLOT 50. Mathematics. Volume Z" de la Tektronix Inc., de la
parte correspondiente a ETGENANALYSIS, programa para matrices reales cua-
lesquiera. El intervalo de tiempo que se recomienda para observar los
transitorios del sistema ha sido escogido como la décima parte del menor,
en valor absoluto, de los inversos de las partes reales de los valores
propios de A, o sea de las constantes de tiempo del sistema. Este valor
es el encontrado en el bloque 2 del diagrama general.
No se da el diagrama de flujo de la subrutina indicada, ni de la en-
trada de datos, ni del cálculo de los coeficientes de la ecuación pues pe-
se a ser cálculos más o menos complicados no corresponden a tratarse en
este trabajo.
La solución de la ecuación, propiamente se hace en el bloque 4, del
cual se da primero un diagrama de bloques y luego el diagrama de flujo.
La precisión que permite la formula de Adams es del orden de
y en el programa se realizan los cálculos con intervalos de tiempo igua-
les a diez veces la precisión requerida, por lo cual la precisión de la
solución es igual o mejor que la deseada.
Los resultados pueden considerarse satisfactorios por el corto tiem-
po que se requiere para una buena precisión y porque permite resolver pro-
44
blemas que presentan grandes variaciones en la parte transitoria, como
en los ejemplos presentados. Por último, para poder hacer una estimativa
del tiempo que se demora el programa hay que tener en cuenta el número
de cálculos W .
Por último hay que anotar que para una comprensión detallada de los
diagramas de flujo, se debe recurrir a los apéndices ,1 y II.
3.2 Solución de la ecuación diferencial y algébrica como un sistema de
ecuaciones diferenciales.
3.2.1 Planteamiento del problema
Sea el sistema descrito por la ecuación de estado
5 = A(t)jt(t) + B(t)u(t)
Trataremos de encontrar el control que minimice el criterio
J = i-F(tf) H t(tf) + I /f[1P'(t)Q(t)x(t) + uT(t)R(t)í(t)]dt¿ ' ' 2 t
donde:
A(t) es una matriz de orden n x n
B(t) es una matriz de orden n x m
Q(t) "es una matriz simétrica semidefinida positiva de orden n x n
R(t) es una matriz simétrica definida positiva de orden m x m
H es una matriz real simétrica semidefinida positiva n x n
Como hemos.visto para esto tenemos que resolver la ecuación diferen-
cial matricial de Ricatti; lo haremos ahora transformando la ecuación a
un sistema de ecuaciones diferenciales como se expone a continuación.
3.2.-2 Transformación de la ecuación de Ricatti a un sistema de ecuacio-
nes diferenciales.
Si el sistema es de primer orden la ecuación diferencial de Ricatti:
45
K(t) + Q(t) - K(t)B(t)R-1(t)BT(t)K(t) + K(t)A(t) + AT(t)K(t) = O re-
presenta una ecuación diferencial ordinaria, de primer orden de la forma:
k + a{t)k + b(t)k2 = c(t)
Si el sistema es de segundo orden tenemos:
Sea primero
B(t)R-1(t)BT(t) =b12'(t)
entonces la ecuación puede escribirse como:
O O
O O
k12(t)
k12'(t) 922 (t)
kn"(t) k
kii'(t) k22(t).
fbn'(t) b12'(t)
b12(t) b2
kia(t)l
kaa(t)
ku(t) (t) a22
a21 (t)'
Realizando las respectivas operaciones llegamos a un sistema de tres ecua-
ciones diferenciales ordinarias.i
En general si el sistema es de orden n, tendremos un sistema de2n + Cn ecuaciones diferenciales, ya que con las condiciones dadas la ma-
triz K será simétrica.
3.2.3 Sistemas de primer orden. Ecuación diferencial ordinaria de Ricatti,
Como hemos dicho si n = 1 tenemos que resolver una ecuación'diferen-
cial ordinaria de la forma
46
y1 + a(t)y + b(t)y2 = c(t),
que se conoce como ecuación de Ricatti.
Esta ecuación en general no siempre tiene solución en funciones ele-
mentales y no existe un método general para su resolución. Si se conoce
una solución particular y!(t) entonces la transformación
y = yi(t) + z
nos lleva a una ecuación diferencial de Bernoulli de la forma:
y1 + a(t)y = b(t)yn
la cual se resuelve de la siguiente manera: primero se divide para yn y1se hace
yn-i= z con lo que se obtiene una ecuación lineal, o sea de
la forma
y' + a(t)y =.b(t)
cuya solución general es la suma de la solución de la ecuación homogénea
más una solución particular. A veces la solución particular de la ecua-
ción de Ricatti se puede obtener partiendo de la forma del término c(t)
de la ecuación.
3.2.4 Programa "Runge - Kutta"
Como se había indicado este programa ha sido tomado de las subruti-
nas de la Tektronix Inc., y resuelve sistemas de ecuaciones diferenciales
de primer orden con valores iniciales dados y sin singularidades. Se re-
quiere escribir una subrutina especial para evaluar las ecuaciones.
La fórmula de cuarto orden de Runge - Kutta es usada. El método con-
siste en lo siguiente:
Sea la ecuación diferencial
& = f(y,t)dt
47
con las condiciones iniciales tn 3 yn
Se evalúan primero los coeficientes
ko = Atf(tn,yn)
k, = Atf (tn |L
2 " 2
k3 = Atf (tn + At , yn + k )
con los que se obtiene el siguiente valor de y
tn+, '= tn + Atn+1 = n
762k
3.2.5 Ejemplos
A fin de comparación, los ejemplos a resolverse son los mismos del
numeral 3.1.4
Ejemplo 1:
Sea el sistema descrito por:
XiCt) = X2(t)
Xjít) = -xjt) + 2xa(t) + u(t)
Deseamos resolver la ecuación de Ricatti que permite encontrar la ley de
control que minimice el criterio
J = 10 xf(T) + i- / [xf(t) + 2x22(t) + u2(t)]dt , T = 102 o
Tenemos que resolver la ecuación siguiente
48
fif ' k i ri niKI i KI 2 i U
+
k k 0 2. * * 2 2 J y^
kj j kj 2 0 1
h
ki2 k22 1 1-1 2
-
+
C:; 3Ch ')'o -l]fkn' k12] ío
1 2J[kI2 ' k2 2 1 lo
KI i
^KI 2
0"
0
con la condición de borde
k12(10)'
.k,2(10) k21(10)-
20 O
O O
lo que lleva al sistemai r,
O = kn' '+ 1 - k12 - 2ki2
O — \f — \f V 4- \f 4 - 9 U V~ *^\ "•! 2 ^2 2 N-l 1 £- NI 2 "~ N2 2
. 2 -
con la condición de borde
kn'(10) = 20
kn'(10) = O
k»(10) = O
Ejemplo 2
La ecuación de estado es:
Xi(t) = X2(t)
x2( t ) = -xi(t) - 2x2 (t) + u(t)
El criterio es el mismo del ejemplo anterior.
En este caso se tiene que resolver la ecuación:
49
XI 2
(i) i)M I
N2 2
f o U
-1 -2
fO -1
1 -2 2 2
ío o
o o
con la condic ión de borde:
ku(10)] Í20 O
k22 (10)J [ O O
lo que lleva al sistemai 2
O = kj i ' + 1 - kii - 2kl2'
O = ki2 ~ k i2 k22 "*" ki ! - ¿kj2 ~ k22
2n = l ^ + 9 - l r + ? l r - A kU — N2 2 - * 2 2 ^-^12 " 2 2
con lai- condición^ de borde
= 20
= 0
k22(10) = O
La resolución de los dos ejemplos con el programa "Runge - Kutta"
se presenta a continuación. Hay que aclarar que el programa usa la si-
guiente notación:
x para el tiempo
y(l) para kn , y(2) para k12 > y(3) para k22
0(1) para kn , 0(2) para ki2 , 0(3) para k22
SOLUCIÓN DE LAS 3 ECUACIONES IUFERENCIALES SIGUIENTESSEGÚN flETODO HE RUHGE-KUTTft
J040 RErt **t».»tí1030 RErt EJEMPLO PE SUPRUTINA PARA EVALUAR DERIVADAS1032 H( I ) - - l fY(2)MYC:H2)1054 r i t 2 > - Y { 2 ) » Y U > - Y < l ) + 2 * Y ( 2 H Y ( 3 )1056 11(3)— 2 I Y t 3 ) - 2 - 2 » Y C 2 H 4 * Y ( 3 )1090 RETURN
DESDE x- 10 HASTA x- o
EN INTERVALOS DE -0.1 CON PRECISIÓN l.OE-51 -«BIS.
0
i 2
2. 22211
^ 11j1
110000000
! 0; o
00
! o0
; o00
; o00000
T 000o00
1, 000000000
i 00
• o0000000000000000
*~> °0
; 000000
; o: • o
000
, ' 000
¡ 00000000000
X
109.?9.B7.79.67.59.49.39.2?.t98.?a. ea. 78.6a. 3a, -48.38.28.1B7.?7.87-77.6 '7.37.47-37.Z7.176.76. Bó. 76.a6.56.46.36.26.163.95.B3.75.65.55.45.33.25.154.94.84.74.64.54.*4.34.24.143.93.83.73.63.53.43.33.23. L32.92.82.72. A2.S2.4-2,32.22.121.9i.a1.71 .61.51.41.31.21.110.90000000000-)O.B000000000040.7000000000040.6000000000040.5000000000040.4000000000040.3000000000040.2000000000040.100000000004
Yl
2017.8020464481IB. 776721717617.040872274414.89459577112.73QA72B76B10.7779370B19.12220087227.763511947946.A65337B7B875.782116039175.071244372894.49694579654.0305731B2833,649677057533,336815728173.07B431B3B672.863966357-512.6B514445732.535435oó6382. -107649611652.303630394762.214026260532.138115342762.073672901092.018B69706771.97219346731.9323B7734931 .B784039B5271.PÓ93A3746771.8445284418?1 ,823275212421.80507734741.789408433851 .77612?320671.764677442311 .754857956381.746436387781.737212481951.733015056181.727697666041.72313474997! .7192195366?3 .715859422631.712975743651 .710500B7B251 .708376830821 .706553B51631 .7049872577-11 ,703646424671 .702493923511.701504781741 .700655850251.699727260491.697301759151 .6987653091,69830474647
. 1.6979074B7B41.697570277151.6972771A9761,677029346691. ¿96814955141.676630971681 .696473084771.6963375941.696221323351,676121547091.69603572587I .695762452021.695999402511.A75B4S298Ó71,695790871-*?.1.675759031871 .695724345351.695695509831.695670337061,675048736421 .675630201051 .695614296031 .695600648111 ,695588937021.69557888791I.A755702A4931.675562863721 ,69555651661 . 695551068551 .6955463937I .675542382321.695538940251.69553590671.695533452331 .695531277651,69552941162I.67S527B10431.6755264364?1.69552525756I .695524245951.673523377911 .695522633081 ,69552199396
Y2
0 ' -1.777573548523.0318740458B3.712495748163.906266267813.77794B569333.4B2622066073, 12A6294B0052.767573286262.439661301342.147170173431.893502540051,67603562074
' 1 ,490678856461.333085677511.199183664181.0853AS97B490.9BB52B¿73560,9060429761430.835674037050.775622S577710.7242698628750,6803251909360.6426866632870.610424753541O.SB2753AA10090,5590073123320.53B6207924090.32111222952?0.5060714892320.493148J-W7380,4820425330450.4724980494290,464294780782
• 0.4572440B24220.4511B4026070.4457755408260,4414??1360370,437652111420.4343461768840.43150S41B1440.4270645552010.4269074496110.4251658236430.423618160332"0.4222BB7582330,4211469187280.4201662470.419324050640,4186008221470.4177777935730.4174465532370.4169887158670.4165756367270.41625B1773430.4159684753210.4157177835220.4155063045070,4153230587470.4151657675650.4150307641940.4149148887160.4148154347360.4117300775310.4146S6B20030.41459394B3740,4145399911350.4144936850410.4144537457470.4144198424440,4143905761030,4143654611190.4143439086990,4143254137030.4143095425340.4142759230580,4142842358790,4142742069630,4142656010210.4142SB2162020,4142518792680.4142464413470.4I424177545B0.4142377715170.4142343357720.4142313875980.414228857810.414226AB70370.4142240243340.4142232257830.414221B54470.4142206776040.4142196677Í20.414218B01240,414218057698 .0,4142374196840.414216872220. -1142164024560.4142159993650,414215633483
Y3
00.3247247061160.76ASB598134?1 .164469274761 .435710A79991 ,372805804771 .6068B7776011.575591680111 .50B7697640A1 ,426213353221 .339733A31421 ,235828567891 , 177749287711.106863302311,04349000070.9B73930642370.9380636737410.8°4879152B530.857173B091B6
• O.B243B12757660.79585B8882770.771077093B9B0.7476215580930.7310113778410.71489551A504.0.7009481074430,6888840107740.67B4S41B12S2O.ÓA9441472070.6616567B979AO.A549336378320.6491350507570.6441308531A80.639B1S2B1891O.A36094B692610.6328B8597BB10.6301262834050,627747160412O.A25698647116O.A23935267249 "0.6224177077140.021112010382O.A19968B3AB23 'O.A17022B67760.6181722625A70.61747B172B040.616B64355353O.AI6336B094830.615BB34728910.6134937566560,615157315771O.A14B7185062O.Ó14A24935303
. 0.614412BA72920,6142307472910,6140743586130.61374007174 '0.6138247719760.6137257B04?0,613640795134O.A135A78377530.61350520B7970.61345144B2A10.6134053020380.613365A730010.6133316761010.6133025167640.613277473475O.Ó132559799A20.613237533381 I0.6132217026330.6132081165150,6131764570830.61318645125O.A13177B645760.6131704959140.613IA41725070.6131587461460.6131540B7A130,613150093727O.A13146A64779 1
0.6131437223490,613141197421O.A13139030767O.A131371715570,6131355761730.613I342071B10,613133032460.6131320244440,6131311594770.6131304172620,61312778037?O.A131292338920,613128764942O.A131283625550.6131280172760,6131277210,6131274667720.61312724B62A0.61312706144
¿t^uC 1 ü» l-¿ t-fts 3 ECU/lCIDfíES tUFERENCIALES SIGUIENTES¿EGUN nEIDEiO DE RUNG
1040 Ktn Hl I* t » »
1050 REri ¿JtnfLO tiE SUfcRUTINA PARA EVALUAR DERIVADAS1052 Di 1 ) a - I t Y ( 2 ) * O (2H2Í1054 H < 2 í - V ( 2 ) i - 1 (3 ) -V( l í -2n ' í2UV(3)1051 Di3i*-2m10ÍO REOiRN
DESDE X- 10 HASTA X- O
£N IMEfcVALQS DE -0.1 CON PRECISIÓN l.OE-5
• 115.
02222
--22211:iiii0000 .0 "0000000000000000000000000000000000000000000000000000000000000000000000000000000
X
109.99.39.79.o9.59.49.39,29.193,9a. a3.73.a8.5a. 4a. 3a. 28.167.97.87.77.¿7.57.47.37.27.17o.?6.8o.7a . oo . 5ó. 4¿.3o.20.1
a5.?5.85.75. ó5.55.45.35,25.154.94.S
4.74.a4.54.44 .34 .24 . 143.93.a3.73. A3.53.43.33.23. 132.92,62.72.¿2,52.42.3i p t
2 . 121 .9i.a1.71 .6
1 .5I .41.31 .21 . 110.9000000000040.dO00000000040.700000000004O.C.OOOOOOO0004O.SOOOOOOOOO040,4000000000040.3000000000040,2000000000040. 1000000000044.15á45t JMC-12
TI '
. 20• 19.73786362318.073216109714.702Í84A906I0.682l4l7á¿B7.451781978475.40Á128343414.26S¿7247?423,6794557-llU3.408259-107053.313636732833,318995146843.361937930663.47850156943.574691259043.721983081153.854917139963.98979721023•4.I23977202B24.255479210114.382762260224,504709411824.620366062244.729103532764.8304?33¿6534,92430464418,5.010480754935.089114670055. 100423059025.22472016641S.28239.27V3993.333B7718B195.37963868565S.42015-H8-tóí5.455899¿¿¿945.4B7336359085.514905759445.539022665365,540072093355.5784075B7I?5.ii?435083óá¿5.60819227352S. 620192361875.630583351165.639571308235.647338286885.654044530225.659830Í30175.664B19592B35,¿á9UB776B5.Í72821ÍS5465. ¿76009¿04995.678753087065.681113280525.68314311965.6848883783-»5,686388602055.6B7677926B45.688785796395.689737600395. ¿90555202865.691257439355.69ie¿0521¿75,692378399615.692823072645. ¿93204859595.093532631785,693814014415,674055560235.694262B99495.¿944-(OS¿9015. ¿94593623435,694724731035.694637256145. ¿74933830095.695016712185.¿950B7B421¿5,695148885315.695201271193,6952462^6975.6952848065. ¿95317912435.695346322295.¿95370701¿25.695391¿22095. ¿9540957433.69542497935.695438190435.Ó9S447S4185.695457275535.Ó95467Ó20015.69547479525.67548094533.695-Í86222625. ¿75490751015.675474636755.695497771035.675500B32115. 6955032871 45.695505393755. ¿9550720138 .
Y2
02. 137654957194.270454630145.472427052795.314315175-154.310¿70B01913, 157399545482.183010961651.446653075140.913507193BOB0,5342914423140.267647209657O.Ó829680Í3191B-0,04I60259¿¿552-0. 121¿43760095-0,168405090543-0.190172211155-0.193182579187-0. 1B223Ó5-U505-0.1¿10?299632-1-0.132735279555-0.09954BU74441-0.0¿34385B¿372-0.025921915A7250.01131438181350.048B595725¿260.0345368702640.11B3Ó59272450, 13002913056?0. 17934135802
. 0.206222853-H20,2306753725590.2527¿13B07330.2725B7¿5¿¿15
. 0.2902889453820.3060184284190.3199376996480.33221011A7930.3429957B3650.3524480350930.3¿07111244 140,3¿791884B5080.37419386S4Í20.3776476571350. 33-53805664510.38848248797-}0,3720334210170.3951042343260.3777574311730.4000480379270,4020241706350,4037279¿28¿70.4051961446610.406460ÓB7190.4075493712650.40B4863001560.4092923588620.4099856229-50.4I0581720A220.4110941521830.4115345706030.4119130274510.4122361877320.4125175171920,4127574452870,412963506740.4131404643170,4132924151760.413422B02B850.4I3534B969S50.413631061538O.>413713¿147070.4137B447957B0,4138453083810.4130975204180,4139423347310. 4139807983420.4140138102620.414042142513 '0.4140¿64579390.4140873256210.4141052341120.4H1206028090.4141337917250.4141451078820.414154822530, 4 H 16315733!0,4UÍ703O?¿ü50.4H17644729¿0. 4141817140940.4M1862336030,41419011 1D320.4141934397560.4H19Ó27544B0.41419B745V090.4I420084B6330,4142026527630.4U20420I2370,414205529790.414206669B0.4M207648023
Y3
00,4820746727271,620730473923,18114656154.50857959A1:5,223210904715.43B10642031 ,5.392491B00935.246737613B55.079140821734.922085283334.786BÓ8397784. ¿7574369974.587390363224,51924508954.46B470939754.432339256324.40B3Ó1517S24.394329076074.3BB297392344.388573439684.393Ó957872B4.402415784914.4136B0041S14.41*00135792:54,44050304244.454779636554.46700174384.482B384B4584.496051087344.50B478B¿71I4.320023536374.530A3¿237414.540306014764.549050041414.556903477474.563722883144.570161009274,57568278354 ,580552304414.584B32664364.5B0584438254.591B¿4694964.594726410324.59721B1B0614.57938415544. ¿01264124774.602893710764.¿04304¿24724.6055249¿17B4.606579511714.607490071144.¿OB275747084.608953245074. ¿09337137864.¿10040112¿44.ál047319¿03 .4.610845956994. ¿11166688574. ¿114425677?4.¿11¿79S08944.611883770074.612059084164 ,¿12209746544. ¿12339202024. ¿12450419144-61254395481 14,612¿2B010474.¿12¿9B480774. ¿1275899384, ¿12810957634,¿12055571B74,612893874974.¿1292A7577B4, ¿12954985854.¿1297921¿954.613000016164,, 613017868894.613033192034.613046343624.¿13057¿3114.6130¿7318474 .613075632374,613082767414.6130BBB90¿34.613091145454,613098654954 ,¿13102524814.61310584^714.613108695514.013111141014, ¿13113239554. ¿13115040354.¿13116SB5¿4 . ,4. ¿1311791 1664.6131 17047534,613120025934.613120863784.6131215B2734.¿13122199¿ó-4.61312272904
52
3.2.6 Observaciones y conclusiones
El programa indicado permite encontrar la solución para sistemas va-
riables en el tiempo, lo que le da una ventaja teórica sobre el primer
programa realizado. Aunque en este caso, previa la ejecución del progra-
ma hay que hacer el cálculo de las constantes de tiempo manualmente, lo
mismo que la transformación de la ecuación matricial a un sistema de ecua-
ciones diferenciales, lo que representaría una desventaja.
El programa es bastante rápido y permite precisiones altas, habiendo
obtenido resultados que pueden considerarse satisfactorios. Además, si
se desea, gráfica los resultados obtenidos, lo que para nuestro propósito
no tiene ninguna utilidad, pero podría servir para otras aplicaciones.
3.3 Solución analítica de un caso particular de la ecuación algébrica.
El problema de"la ecuación algébrica de Ricatti es reformulado para
dar una solución simple cuando la matriz de estado A del sistema es simé-
trica y se hace una restricción en la selección de Q .
Conocemos que el problema de minimizar
1J = i / [• 2 i
uT(t) Rí(t)]dt
sujeto a
í(t) = AJ(t) + Btf(t) ; *(t0) =*0
donde A, B, R, Q son matrices reales constantes, tales que R y Q = QtQ:
son simétricas y definidas positivas y (A,B) es controlable, requiere la
solución de la ecuación algébrica -de Ricatti
Q^Qi + KA + ATK - KBR-1BTK = O
(Qi se puede encontrar ya que Q es simétrica)
53
Será presentado un procedimiento de resolución, basado en que A y Qi
conmutan y A es simétrica.
El problema será formulado en un sistema adecuado de coordenadas ha-
ciendo el cambio de bases en el espacio de variables de estado:
y(t) = q^Ct)(Q-1 existe ya que Q es simétrica y definida positiva)
Luego de la sustitución el problema se transforma en minimizar:
, \- r ,•« - ro = f J [
*- tLO
sujeto a
y(t) = QiAQ^yít) + QiBu(t) = Ay(t) + QiBu(t) ; y (t0 ) = QiX0
que admite como solución:
u*(t) = -R-^qjKyCt)
donde K es única, simétrica y definida positiva y solución de
i + KA + ATK - KQIBR-IBTQ[K = o (4)
Ahora, como K es definida positiva, su inversa existe y multiplicando por
K'1, por ambos lados a esta ecuación, se tiene:
K'2 + AK'1 +
que puede ser escrita como
-1 + A)T = Q1 AAT
La notación puede ser abreviada definiendo las siguientes dos matrices
S = Q.BR-
P = K"1 + A
AAT
y el problema se transforma en encontrar P tal que
PPT = S
•¿•:i"'*'
v*Y••&.
54
P - P = A - A (o sea P - A sea simétrica)
y P - A sea definida positiva.
Ahora, si A es simétrica, la solución es sencilla porque primero 5
es simétrica y por tanto puede ser diagonitable: S = HDH donde D es
estrictamente diagonal. Luego la raíz cuadrada positiva definida P es da-
ncf
K = (P - A)'1
1/2 Tda por P = HD H . Entonces tenemos que
APÉNDICE I
LISTADO DE LOS PROGRAMAS
1. Programa "Adams"
Lista de variables:
De entrada
2!, 22, z3, 24 Matrices coeficientes de la ecuación
N orden del vector variables de estado
M orden del vector de control
EO(N) vector que contiene las partes reales de los valores propios de
la matrÍ2 de estado A
F tiempo final
TfS tiempo inicial
U intervalo de tiempo para la escritura
VI precisión
De salida
K matri2 solución de la ecuación
T tiempo
Cl número de iteraciones realÍ2adas para pasar prueba de convergencia
Ul intervalo de tiempo recomendado para la escritura
I i 55
PROGRAMA 'ADAHS'4 GO TO 100100 REtt110 REfí120 REM SOLUCIÓN DE LA ECUACIÓN DIFERENCIAL HATRICIAL DE RICATT1130 REH • USANDO LA FORMULA DE ADAHS140 REH150 REH***************** ENTRADA DE DATOS *****:•.**************.***l¿0 REH170 PRINT 'ENTRAR EL ORDEN DEL LECTOR VARIABLES DE ESTADO •;180 INPUT N190 PRINT 'ENTRAR EL ORDEN DEL VECTOR DE CONTROL •;200 INPUT H210 DELETE Z > ll > 22, 23 , Z4 , A - Al , H > R220 DIH Z Í ( N » N ) i Z 2 < H i N > i Z 3 í N r M > f Z - í < N » N ) » H < N f N ) i A < N r N >2 3 0 DIM Z Í N í H ^ R Í H . M í r A K H i N )240 PRINT ' E N T R A R LA nATRIZ DE ESTADO A POR FILAS-250 INPUT 21260 PRINT 'ENTRAR LA MATRIZ B POR FILAS' " '270 INPUT Z280 PRINT 'ENTRAR LA MATRIZ DE BALANCE R POR FILAS'290 INPUT R300 PRINT 'ENTRAR LA MATRIZ DE BALANCE O POR FILAS'310 INPUT Z4320 PRINT 'ENTRAR LA HATRIZ DE CONDICIONES INICIALES H POR FILAS'330 INPUT H340 A=2l350 PRINT 'DESEA ESCRIBIR EN EL IMPRESOR? (SI O NO) : ' í360 INPUT Bt370 IF Bt-'SI' THEN 400380 Z8=32390 GO TO 410400 Z8=5i410 PRINT ezs420 PRINT t?Z8430 REM•440 REH********* FIN DE LA ENTRADA DE DATOS450 REM400 REH*****ESTABILIDAD Y CONSTANTES DE TIEMPO DEL470 REM480 REM CALCULO DE LOS VALORES PROPIOS DE LA MATRIZ DE ESTADO490 REM USANDO LA SUBRUTINA VALORES PROPIOS500 IF N=l THEN 570'510 GDSUB 2940520 EO=Q4*EO530 FOR 1=1 TO N ' -540 IF EO(I)>0 THEN 630550 NEXT I560 GO TO 610570 DELETE EO580 DIH EO(N)S90 EOÍN)=ACN»N)¿00 IF A(NiN)>0 THEN 630¿10 PRINT eZSI'JEL SISTEMA ES ESTABLE'620 GO TO OSO630 PRINT GZB;-JEL SISTEMA ES INESTABLE INICIALMEHTE-640 PRINT 'EL SISTEMA ES INESTABLE INICIALHENTE'650 E=1,OE-Ó660 EO=ABSÍEO)670 FDF; m=l TD NÓBO E=E MAX EO(Ml)690 NEXT MI700 U1=1/C10*£)710 PRINT ezei'JSE RECOMIENDA CALCULAR CON INTERVALOS DE TIEMPO! 'íUl720 PRINT 'SE RECOMIENDA CALCULAR CON INTERVALOS DE TIEHPOI ' fUl730 REM**********FIN DEL CALCULO DE LAS CONSTANTES DE TIEMPO************
LSOLUCION DE LA ECUACIÓN DIFERENCIAL MATRICIAL DE RICATI'J USANDO LA FORMULA DE ñDAMS•
710 REM i****.** ****•***: Y DE LA PRUEBA DE750- REM760 REHM******** CALCULO DE LOS COEFICIENTES DE LA ECUACIÓN770 .REH
CALCULO DE LA MATRIZ INVERSA DE RPARÁMETROS:R — MATRIZ DE ENTRADA I TAMAÑO M X H)H — ORDEN DE MATRIZ RB — MATRIZ INVERSA DE R9 — TOLERANCIA PARA COMPARACIÓN CON CERO (1E-12)
VARIABLES INTERNAS COMIENZAN CON O
MÉTODO! REDUCCIÓN DE GAUSS-JORDAN
780 REH790 REH800 REM810 REM
. 820 REM830 REH840 REH850 REH860 REH870 REH880 REHB90 07=1.05-12900 QO=H930 DELETE B920 DIH B(00,GO)"930 8=0910 FOR 01=1 TO 00 '950 BC01iCU) = l960 NEXT 01970 FOR 01=1 TO 00980 OB=ABS(R<01>01))990 07=011000 IF 01=00 THEN 10001010 FOR 02=01+1 TO 001020 IF Q8=>ABS<R(02í01)3 THEN 10561030 QB=ABS(R(02.01))1040 07=021050 NEXT 021060 IF Q8>09 THEN 10901070 PRINT 'MATRIZ R ES SINGULflRGGGG1080 END1090 IF 07=01 THEN 11801100 FOR 02=1 TD 001110 08=R(Q1,02)1120 R(01fQ2>=RÍQ7f02)1130 R(G7f02>=081240 OB=B(Q11150 BÍ01fn21160 B(07.02)=08 ,1170 NEXT 021180 REH1190 08=R(01f01)1200 FOR 02=1 TO 001210 RC01>Q2)=RÍ01fa2>/081220 BC01íQ2)=BÍOlf02)/081230 NEXT 021240 FOR 02=1 TO 001250 IF 02-Q1 THEN 13101260 08— R(Q2>G1)1270 FOR 03=1 TO 001280 R(02.Q3)=R(02fQ3)-í-a8*RÍQlf03)1290 B(a2f03)=B(02fG3)-fnB*B<01,03)-1300 NEXT 031310 NEXT 021320 NEXT 011330 REM -FIN DEL CALCULO DE LA MATRIZ INVERSA BE R1340 REH1350 Z1=-Z11360 Z4=-Z4 '1370 FOR 1=1 TO M1380 FOR J=l TO N1390 AlíIfJ)=0
,02)
FOR L-l TO H1410 ftlíl.J)=AlíI»J)4BÍIfL)*ZCJ.Lí1420 NEXT L1430 NEXT J1440 NEXT I1450 FOR 1=1 TO N;14ÓO FOR J=l TO N1470 Z3ÍI,J)=01480 FOR L=l TO H1490 Z3ÍIrJ)=Z3(I,J)-fZ(I,L>*AlCLf J)1500 NEXT L1510 NEXT J1520 NEXT I1530 FOR 1=1 TO N1540 FOR J=l TO N1550 Z2(Ii J)=ZKJf I)1560 NEXT J1570 NEXT I1580 PRINT 'Zl»Z2iZ3iZ4íSON:i»Zl,Z2»Z3,Z4.1590 DELETE ZiAtAI1600 REH1610 REH***** FIN DEL CALCULO BE LOS COEFICIENTES DE LA1620 REH1630 REH*****--* SOLUCIÓN DE LA ECUACIÓN x*********************** •1640 REH1650 C*="NUM IT-1660 H$=p T '1670 E*=-MATRIZ K POR FILAS11680 CALL 'TIME',A*1690 PRINT GZ8:At1700 DELETE SrSl(S2-Ll1710 DIH S(N»N)fSKNiN)íS2(N»N)»UCNfN)1720 DELETE KfKlrK2*K31730 DIH K(N-N)fKltNtN)rK2CN>N)-K'3<NfNí1740 PRINT -ENTRAR EL TIEHPO FINñL! '!1750 INPUT F'1760 PRINT 'ENTRAR EL TIEHPO INICIAL: 'í1770 INPUT TO1780 PRINT 'ENTRAR DELTA T: • /'1790 INPUT U1800 PRINT 'LA PRECISIÓN REQUERIDA DEBE SER UN VALOR HENOR A: 'íU/101810 PRINT 'ENTRAR LA PRECISIÓN ",1820 INPUT VI1830 PRINT eZB:'JINTERVALO=*íU:'1840 PRINT eze: USING i85o;c*fB*rE'1850 IHAGE /2XfÓA.7A,10X>IBA1BÓO V=10#V11B70 U=(F-TO)/U1880 B1=U/V1890 A2=l1900 T=F1910 K=H1920 Cl«01930 Z6=01940 PRINT eZB: USING 1950IClfT1950 IHAGE 3Xt2D.3Xf2n.2Dr10XiS1960 FOR 1=1 TD N1970 FDR J=l TO N1980 Z6=Z6+11990 PRINT eZB: USING 2000:K(I,J)2000 IHAGE 4D.7D.6X,S2010 IF Z¿<5 THEN 20402020 PRINT GZB:2030 Z6=02040 NEXT J20SO NEXT I
PRECISIÓN*'ÍV1
2060 PRINT 0281.. 2070 GOSUB 2030" 2050 "P=02090 FOR J=l TO U2100 [i=Ii+i2110 S1=K12120 S=K2130 T=T-V2140 K--V*S12150 K=S+K2160 Cl = 02170 GOSUB 25302160 C1=C1+12190 L1=K2200 K=0.5*K12210 K=-V*K2220 K=S+K2230 52=0.5*512240 S2=-V*S22250 K=K+S22260 L1=K-L1
" 2270 L1=ABS(L1)2280 C=SUHCL1)2290 IF C/N~2>V1 THEN 21702300 IF D=Bi*A2 THEN 23202310 GQ TO 24802320 ñ2=ñ2fl2330 26=02340 PRINT eZSI USING 2350ÍClfT2350 IHñGE 3Xr2D,3X,2B.2D,10XrS2360 FOR 1=1 TO N2370 FOR J=l TO N2380 26=26+12390 PRINT 0281 USING 2400IKÍI.J)2400 IMAGE 4n.7D.ÓXrS '2410 IF 2¿<5 THEN 24402420 PRINT 028:2430 26=02440 NEXT J2450 NEXT I2460 PRINT 02812470 IF ti=>U THEN 24902480 NEXT J2490 CALL 'TIME1,A*2500 PRINT 02B:fl*2510 ENH2520 REH2530 REM#****SUBRUTINfi PARA EL CALCULO DE LA DERIVADA HE K******x*2540 REH2550 FOR 1=1 TO N2560 FOR J=l TO N2570 K1CI»J)=02580 FOR L=l TO N2590 Kidf J)-KKIf J)+KCIf L)*21(Lr J)2600 NEXT L2010 NEXT J2620 NEXT I2630 FOR 1=1 TO N
• 2610 FOR J=l TO N2650 K2(I.JJ=02660 FOR L«l TO N2670 KaíliJ)=K2CI,Jj+22CIiL)*K(L.J)2680 NEXT L2Ó?0 NEXT J2700 HEXT I2710 K1-KH-K2
U U U W U U U W W U U W U W W W U U W W U U U U W U W EJ W W W U W W W U U W (O [O 10 tO K
J JO (O 10 10 M ÍJ tO ÍO ÍO IO 10
ÍO M
t-J 10 10 10 U
KJ (0 K) 10 M
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOC
70
C1
Q7
3Q
TJ
T¿
nr
Tlf
Tir
r1
O>
-<
CJ
t3T
jTj;
rj;
rjT
jTj
_„._
-.
. .
.._
- 'i u
w
u IM
tu x
i -T
I o r
o N
I a •
& w
M >
- ¡'i
— m
w u
a n
m
o o
n o
>-
^>
w w
>-
o •*
-< ~
n M
m m
¡r\
m m
m r
n rñ
>-'
>-•^ m
n rn
t-J¡
CD t
-j o a
I m
m r
n w
CD
6¡ c
i c
n X
iiu
3?
H
n P
? n
n n
u x
^ x
—
?? T
J 3:
3:
i/>3:
n M
—
-^
3:
3:r
3:3
:a:3
:3:3
:3:H
iiii
xx
x^
pj
— 7
J?
?X
XX
"7
:"^
7:
iQ
QC
DQ
HO
Qt!
OO
O
Ot-'O
H'-
'HT
í M
C
—1
*•*
-»•»
H>
M
)-•
2;
pl
t*
->t
CZ 7
1 ?
! H
—i H
>-<
>-
t —
I H
H M
M
• W
WN
ISJ
CD
NI>
-T?
T
J •
-
- M
-U
T;
OO
TM
-O
M--^
-^
rn
Vm
M
H
*í
7J t
-1 f
-r"-C
_l-t
-.[—
-
C_
M•
VA
X*
Tj-
+-
T-
nu
t-
us
jTj[
.j-T
;-.r
ji-.
jí--
H
^t
^M
t-n
iiij
k-o
m-H
x
-K
-2:4
-T->
-"t_
r~t_
ii[_
iiii
>H
ur-
t_H
L.i
i[i
•O
OO
aU
l>
l>
T3
l|
II
U U
I-
M T
í 11
II •*
*-
W U *
U
ll^^O
I»
^.
--*
^
*^
H
Nr:
W
|_
VM
W
^.^^.i-
'i-
ro M
co
co
w t
u t
-J»-
•-
n
w
-
>-•
K íí
s; >
- K
vj
td
n 11
^ >
- -i
2;
m K
w
«
J* t
o
u n
11 u
nu
icn
t-
^-
K -M
- w J
» -H
w
ot-'M
-X
'-o
^í
C"
T]
TC
HO
-ÍH
T
I-IO
H-'
-H
0«
IH
H
ll-1
-l-H
^O
OX
O
-M
m-
'-
K-
WM
I
OO
OO
W
OO
OX
X
2>
J-X
O
O
!fr O
O •?
*• -H
H
>— "
2C R
[ti ít
5^
2:
' "
—
-K-
«-
—-
>-1-
ít
c M
21
2:2:
»-<
2:
xz
WW
2:
--
U
- M
W W
T
I T
J [j
TJ
01 «
•C
OC
OU
IO
^H
' 10
O
H-O
O
W
~
— O
•"
I>H
o m
-k «-3»
ít x-
H H
*-«
•K íí
*r -M
-.
-w ^
-K X
•K «
-«
K-
« X
OSOtr N3H1 í CEd't'd)y)S8y<>TO diTd 1X3N
í (£d< Td>y )sgy íTo=ToC E d ' T d > y = ( £ d ' T d ) £ 3
N 01 bd=Td yOdO=TO
Ti£d=t'dGd 01 T=£d yod
2-H=GdOótb- 01 03
C T ' £ > y = ( £ ' T ) dOSÓ£ N3HJL 2<N diOií't- H3H1 2>N JI
********* wsy
0£0b-020 1-
OOOb-066£
.****»****
********************** ********** H3yTd 1X3N
0¿8£ 01 09IOHT. iNiyd
098£ N3HJ. 0<XT'Td)d dii . . 'Td IHiyd
íí 01 T=Td ÍÍOJiy3yi*
0¿ó£0961:OSÓEOt-ÓE"0£ó£OCóEOTÓ£oo¿zOÓSE088E0¿8£09B£OG8Eovez0£8£OSBEOT8EOOOE
.************** s3niynN39i3 indino ************oo¿£
******************* S3myrtH3£3I3 ONU *# ******#******:** H3y*********** sNnyas jo UNS ********* wsy
08¿E0¿¿Eo?¿£
Td 1X3N
2d 1X3N
N 01 l=ZdT = ( E ' T
N 01 T=td
0£¿£0¿¿£OT¿ZOO¿EOÓ9EOS9£0¿9£099EOS9COt-9£OE9E
Td 1X3H OT9£cd 1X3N 009£E:d'Td)y OáSE
N oí i=cd yoj oas£N oí r=id yoj o¿sc-
Ct'0>yüS=t'0 09S£Td 1X3M OSE£cd 1X3H OtS£
a 0£E£0 OCEE
N 01 T=cd yod OTSEN oí T=rd yod OOSE
0=^0 OátE0£££ N3H1 N>M JI OSt-E
0£?£ N3H1 OE<£d diT+£d=EdTd 1X3N
tTd JLX3N 0£b£60/(id'cd)y=ctd'E:d)y ost-E
V£ H3H1 cd=Td diN 01 T=cd yod Oó£E
(£0)yüS=¿0" OSEE
P C P 3 f 3 ) = A ( P 4 f P 3 >|4050 E 3 ( P 4 > P 3 ) = 014060 GO TO 4440.4070 REH ****}, *¡4090 03=0!4090 FOR P1=P4 TO N-1100 G 2 = A f P l f P 3 ) / G l
•4120 G3=03t02*02¡4130 NEXT Pl¡4140 a2=SCIR(03)¡4150 IF ACP4/P3XO THEN 41704160 G2=-G21170 03=G3-G2*A(P4fP3>4180 A<P4»P3)=A(P4.P3)-Q2[4190 PCP3,3)=G2*G14200 E3(P4fP3)=E3ÍP4>P3)-PCP3í3)4210 Ci7=Gl*SGR(Q3)4220 FOR P1=P4 TO H4230 E3(P1/P3)=E3(P1,P3)/G74240 P(P1,3J=A(P1>P3)/G342SO NEXT Pl4200 FOR P2=P4 TO N4270 02=042BO FOR P1=P4 TO N4290 G 2 = G 2 + A ( P 1 , P 3 ) * A ( P 1 Í P 2 )4300 HEXT Pl4310 FOR P1=P4 TO N
4330 NEXT Pl4340 NEXT P24350 FOR P2=l TO N4360 G2=04370 FOR P1=P4 TO N380 Q2=R2-fñ(P2IPl)*AÍPlíP3)4390 HEXT Pl4400 FOR P1=P4 TO H4410 A<P2iPl)=A(P2íPl)-P(PlI3)*G24420 NEXT Pl4430 NEXT P24440 NEXT P34450 FOR P3=l TO P54460 A(P3+1,P3)=PCP3Í3)4470 NEXT P34480 PCN-lr3)»A(NfN-l)4490 05=04500 FOR P3=l TO N4510 P(p3il)=04520 IF P3=N THEN 45404530 G5=05iP{P3,3)"24540 FOR P1=P3 TO N4550 E3ÍP3,Pl)=fifP3rpl)4560 05=G5+A(P3-P1)"24570 NEXT- Pl4580 NEXT P34590 Q5=G6*SGR(05)4600 REM tt-X'*:*: GR JTERATION4610 R2=AÍNfN-l)4620 IF N<=2 THEN 46704630 IF A(NrN)<>0 THEN 46704640 IF ñ(N-lfN><>0 THEN 46704650 IF A<N-1-N-1)<>0 THEN 46704660 GO TO 46804670 R2=04á80 P5=N4690 PS=0
L£
-i-
rj
ML¿
i.* in
^fl
4- 10
O
d, -.
+
v> „
,~
<r
on
H
i
n T
o. i
ú.
2:
-z.
in
« <
r n
O
Uí
UJ
d.
^ +
ÍL
c-i
x
n:
PÍ
a
—OD
H
'
H
í£ <
E I
f)
-1T
•+
• I
« ü
. -f
in
in
"•"
n
- to
3:
cs
cs
r^
r^
-C
uw
íi.U
J H
ll
OC
L£
L-
fL
-^
0 —
x
oo
vo
vo
-i-
.-
i'j
— m
n
<c
10
H
^-
tiT
n 1/1
>-(
*r
-^
—
<t -
H tn
n2:
3: A
2:
CL
a.
ü.
v
- 2:2
: -
2;
-i-<
- ^
ii
io
1
<r
<r
[s
^^
a.^
-i-
c:o
-tÑ
+Z
lil!-H
l-l-H
ll~
llll-»
r*
OO
^-P
I-H
-'
'MÍu
Iíllp
'-M
fl'-
'Alíl^rM
H
ih-i
- >
^iL
iÁ,h
-r3
ü-i
XC
i.^
i^<
ri^
ci^
^ü
_<
r«n
<r<
r<ri
^«
H<
EO
^~
LL
L^
íL<
t<to
^<
c<
rbc
;c:;
c2
Uic
3í_
. _
__
H t¿
¿e
x x
í¿ a
. ^- ^
x
h- u
u
u n
11 H
ii u.
n
ti n
u u
i! ti
ü: u
i¡
n n
u u
ti a
u u
ti n
n ú.
u
ii u
ii ü:
u
oo
oo
oo
oo
oo
oo
oo
oo
oo
ob
oo
oo
oo
oo
oo
oo
oo
oo
oo
oo
oo
oo
oo
oo
oo
oo
oo
oo
oo
oo
oo
oo
oo
_ _
--C
D-CD
-CD-
CD C
D-O
D-C
D-C
D-Q
3-CN
-Ch-
£^-tN
CK
-Ch-
O>-
(>."
(>«-
tK-O
~O~O
~O~O
~O"O
"O~O
~O~H
~H"i
-í *
H rt ^
-M
"^"M
'^'C
1) C
NE
ÑÍÑ
NT
T T
<T
'f
T T
'T T
V T
T T
T T
T ^
T T
T T
T T
T T
T T
T T
m I
D '
jl !
i1 I
O 1
0 10
10
IH I
jT
UT I
H 1
O b
l 1O
IO
IH
in
li")
in
IH 1
0 IH
L")
lil. l
iT 1
0 liT
liT
in
ÜT l
(T b
T 11
t)T
l
3360 Ql«ai+A(R5,P2)*QB5370 01=011025380 A(P1 .P2)=A(P1 .P2J -G15390 A<R4fP2)=A(R4rP2)-GUG7S-ÍOO IF RS>P5 THEN 5-1205410 A(R5,P2) = A(R5.P2)-Cll*n85^20 NEXT P25^30 P4=R55440 IF PKP7 THEN 5400S-450 P4=P55-460 FOR P2=P3 TO P45-470 Gl = A ( P 2 f p l ) 4 - A C P 2 i R 4 ) * 0 75-180 IF R5>PS THEN 55005490 Gl=Cíl+ACP2fR5)*G85500 01=01*025510 A(P2,Pn=A(P2íPi>-015520 A<F2fR4)=A<P2fR4)--01*G75530 IF R5>P5 THEN 55505540 AÍF2fR5)=ACP2»R5)-01*CJ85550 NEXT P255¿0 IF Pl-f3>P5 THEN 56205570 Q1=-A(P1+3.R5J*08*025580 PO=pl+35590 A(POfpl)=01SéOO A<PO,FM)=G1*075610 ACPOiR5)=Ql*Q8+AtPO,R5)5620 NEXT Pl ' i5630 IF F8>P6 THEN 59205¿40 GO TO 48205650 EOCP5)=A(P5IP5)5660 El(PS)=0SÍ70 P<P5f1)=15680 REM PRINT P5f EO(F'5)*Q'l. El(P5)*Q45690 P5=P35700 GO TO 48205710 Rl=0.5*(A(P3fp3)+A(P5fP5)>5720 Ql=:O.S*(ACPSf PS)-A(P3»P3) )5730 Ql=Ql*ni+ACP3.P5)*AÍP5»P3)5740 PCPS,!)^!5750 P<PSrl)-l5?iO IF QKO THEN 58305770 R3=SQR<01)57BO EOCP3)=R1-R35790 EOÍP5)=Rl-fR35800 E1ÍP3)=05810 El(P5)=05820 GO TO 58805830 R3=SGR(-G1)5840 EO(P3)=R15850 El(P3)=R35860 EO(P5)=R15870 E1CP5)=~R35B80 REM PRIHT P3, EO(P3>*Q4- El<P3)*Gt PRIMTS EIGENÜñLUES5890 REM PRINT P5/ EO(P5)*Q4- E1CP5)*G4 AS FOUND5900 P5=P5-25910 GO TO 18205920 RETURN5930 REM ****:*:*:*:*##* ENO OF E1GENVALUE ****xí;* ******5940 REM *** T'4:#*xf.**r**** 4:*********a: ** **í:*x-í:a:*a:*:xí:*.*#**:*:*:***:**;*#*
• 4 GO TO 100B GO TO 344012 PAGE13 GO TO 324016 GO TO 30020 GO TO 312024 GO TO 75036 GO TO 3700100 REH. PROGRAMA RUNGEKUTTA110 REH SAMPLE USER URITTEN DRIVER FOR RUNGE-KUTTA *120 GOSUB 140130 GO TO 210140 REH #**** *i*t*i.****A-**-** **AÜ*4.-*- .jt.%-***x150 PRINT 'JUNIDAD DONDE ESTA EL DISCO? <0 o l)í *í160 INPUT H8170 CALL 'UNIT1,H81BO REH — H8 DIRECCIÓN DE ARCHIVO DE DATOS190 RETURN200 REM ¥**********'*** ******=fc********* ******"210 PAGE220 PRINT -LSOLUCIDN DE UN SISTEMA DE ''N1' EC, DIFERECIALES'230 PRINT 'J DE PRIMER ORDEN POR MÉTODO DE RUNGE-KUTTAGGGG'240 PRINT -JJJTECLA 4 — RESOLUCIÓN DE UN SISTEMA DE EC. DIF.250 PRINT 'JTECLA 5 — GRÁFICO BE Y(I) EN FUNCIÓN DE X'260 FRINT 'JTECLA 9 — GRÁFICO DE YÍI) EN FUNCIÓN DE YCJ)•270.PRINT ' (PLANO DE FASE)'280 PRINT 'J APLASTE TECLA DESEADAGGGG'
. 290 EN»300 PRINT 'JNUHERO DE ECUACIONES: 'í310 INPUT N320 PRINT 'JVALOR INICIAL DE330 INPUT A340 DELETE YjD350 DIM Y<N),D(N)360 PRINT 'JVALOR FINAL DE •370 INPUT B380 PRINT * JINTERVALO DE "X390 INPUT H400 PRINT 'J* DE DÍGITOS DE PRECISIÓN: •;410 INPUT E420 E=10"-E430 F0=0440 FOR J=l TO N450 PRINT ' JVALOR INICIAL DE "YCjJí')" 'f460 INPUT Y<J)'470 NEXT J480 D=1/N490 H9=5l500 PRINT 'JIMPRESION EN PAPEL? ÍSI O NO): 'í510 INPUT A*520 IF Al='SI' THEN 540530 H9=32540 PAGE550 GOSUB 570560 GO TO 600570 PRINT 'NOMBRE DEL ARCHIVO PARA ALMACENAR DATOS: GGGG'580 INPUT OJ590 RETURN000 CALL 'FILE'iHBfOíiX*610 IF Xí=p' THEN 670620 PRINT 'JYA EXISTE EL ARCHIVO: •íO*630 PRINT 'JDESEA DESTRUIR SU CONTENIDO? (SI O NO).1 GGG'Í640 "INPUT X*650 IF Xl='NO' THEN 570660 KILL Oí
PARA INTEGRACIÓN:
• • PARA INTEGRACIÓN:
PARA SALIDA: • f
HASTA x= *;B1 ;H;• CON PRECISIÓN
670 CRÉATE 0*!bOOO,06SO PRINT 'LPROGRAhE LAS DERIVADAS DE LAS DIFERENTES FUNCIONES YÍI>> ''690 PRINT '1 = 1, ' ÍN700 -PRI NT 'JA PARTIR DE LA LINEA 1100 HASTA 1199'710.PRINT 'JLUEGO PARA SOLUCIÓN APLASTE LA TECLA ÓGGGG1
720 PRINT730 LIST 1050,1199740 END
760 PAGE770 FRINT GH9: USING 7BOÍN780 IHAGE P/'SQLUCION DE LAS 'FD' ECUACIONES DIFERENCIALES SIGUIENTES1790 PRINT 6H9:1SEGÚN MÉTODO DE RUNGE-KUTTAJ1800 IF H9=32 THEN 830810 SAVE GH9:i040,1199820'GO TO 840830 LIST f?H9:i05Q,1199840 PRINT PH9:'JDESDE.X= 'fAf'850 PRINT SH9:'JEN INTERVALOS DE860 PRINT 0H9I USING ' 120 ( •'-")/':870 PRINT CH9: USING 880:880 IHAGE 'tBIS. X'17X,S890 FOR J=l TO N900 PRINT PH9: USING ''"Y''FD.16XS':J910 NEXT J920 PRINT 0H9I930 PRINT CH9I USING '/".940 GOSUB 1680
' 950 IF B0<=10 THEN 970960 PRINT 'JJERROR FLAG = •fBOí'JJ"970 PRINT 'FIN DE CALCULOGGGG1
980 CALL 'REUIND',1990 READ *i:N1000 URITE 4l':UOíUl,U2»RO1010 CLOSE1020 GO TO 3120Í030 REM END OF DRIVER • '-104.0 REM ****¥***1050 REM EJEMPLO DE SUBRUTINA PARA EVALUAR DERIVADAS1061 U=120#PI1062 L=0.1921063 R=3.51064 K0=9.3331065 J0=0.8*0.4536*0.3048 21066 K1=89.12681070 DC1) = (115*SQRC2)-«SIN(U*X)-Y<1)*R-KO*YÍ2))/L1080 rK2)=(Kl*YCl)-2.2591)/JO1090 RETURN1200 REM FIN DE SUBRUTINA PARA EVALUAR DERIVADAS1210 REM #*:****•**1220 REM ÍSAMPLE) OUTPUT ROUTINE FOR RUNGA-KUTTA .1230 REM THIS ROUTINE PRINTS Y DNLY IF XO=A, A-Í-H. A-f2Hf . . , , OR B1240 REM GOTO 1310 IF AUL Y VALÚES ARE nESIRED*****1250 REM PARAMETERS: PASSED B1,XO, AND Y TO BE 'PRINTED'. THIS1260 REM ROUTINE COULD EASILY BE HODIFIED TOr EG.f URITE1270 REM XO AND THE Y ARRAY ONTO TAPE,12BO IF XO=B THEN 13301270 F9=CXO-A)/H+8.333E~41300 P8=INT(P9)1310 IF ABSÍP9-P8XO.001667 THEN 13301320 RETURN1330 PRINT eH9¡ USING '3D,4XfS':Bl1340 PRINT eH9:XOf"Ó';1350 FOR Pl=l TO N1360 PRINT GH9:Y(Pl)•'&' 11370 NEXT Pl
380 PRINT GH9I1390 REM OPTIONAL: IHPUT F1100 -JF XOOfl THEN 15101110 DELETE U O , U i , U 21-120 niH U0(2) f U K N ) i U 2 < N >1-130 Ul=l,OEi3001440 U2=-UÍ1150 UO(1)=U1(1)
1470 OPEN 0$U, ' U ' í X S1480 CALL 'REUIND'»11490 R0=01500 U R I T E 4 i : N r U O ) U l , U 2 , R O1510 URITE * i : X O » Y1520 U O U ) = U O ( 1 > MIN XO1530 UOC2)=UOÍ2) MAX XO1540 FOR U3=l TO N1550 U l ( U 3 > = U l ( U 3 ) MIN Y Í U 3 )1560 U2(U3)=U2(U3) MAX Y Í U 3 )1_570 NEXT U31580 RO=RO+11590 RETURN1600 REM EHD OF OUTPUT ROUTINE1610 REM1620 REM1630 REM1640 REM1650 REM1660 REM1670 REM
START OF RUHGA-KUTTA ROUTINE 'PARAMETERS:USER DRIUER: IfíPUTSI A , B, H> E» FO» Y. D,N 4 RECEIVES:'OUTPUT ROUTINE ' í 1200) : RECEIUES; BlíXOíY CrifEiF,N)
RETURHS: F-G05UB 1100': RECEIVES: X.Y í RETURNS; D
1680 HELETE P?PO1690 FUZ2 10íl.OE-101700 Din P(NrB) »PO(ia>1710 P9=l/151720 FOR Pl=l TO N1730 P(PlfS)-P9*D<Pl>1740 NEXT Pl1750 X=A1*7 A O P3=H1770 F=01780 GOSUB 10401790 P9=P3*<B-A>1800 IF P9<0 THEH 30501810 IF P9=0 THEH 30301820 IF F0>0 THEN 19601830 FO=Í1840 P0(l)=0.51850 P O C 2 ) = 0 . 29289321881860 P0(3)=l. 7071067811870 PO(4)=0.166Ó6ÓÓÓ66671880 P 0 ( 5 ) = 21890 PO<6)=11900 P O ( 7 ) = P O ( Ó )1910 P O ( B ) = P O C 5 )1920 P0t9)=0,51930 P O ( 1 0 J = P O C 2 )1940 POU1 ) = P O ( 3 )1950 P0<12)=0.51960 FOR Pl=l TD N1970 P í P l t l ) a Y ( P l )1980 P(P1,2)=D(P1)1990 P ( P l r 3 ) = 02000 P C P l r ó ) = 02010 NEXT Pl2020 P4=02030 P3=P3+P3
-_2040 BO—I2050 01=02060 03=02070 P9=fX+P3-B)*H2080 IF P?<0 THEH 21202090 IF PV=0 THEH 21102100 P3=B-X2110 03=12120 XO=X2130 B1=P42140 G05UB 12202150 IF FOO THEN Sl'OO2160 00=02170 01=Glrl21BO P2=l2190 P7=PO(P2)2200 F8=PO(P2+4)2210 P9=POÍP2+8)2220 FOR Pl=l TO N2230 P5=P3*níPl>2240 P6=P7*:(P5-P8TP(Pitó) )2250 YCPl)=YCPl)-fF62260 P6=3*F62270 PCPlf6)=P<P1,Ó>+PÓ-P?*P52280 NEXT Pl2290 IF P2=>4 THEN 23502300 F2=P2+12310 IF P2=3 THEN 23302320 X=X+0.5*P32330 GDSUB 10402310 GO TO 21902350 IF 00>0 THEH 25002360 FOR Pl=l TO N2370 PCP1,4)=YCP1Í23BO NEXT Pl2390 00=12400 CU=2*íai-l)2410 BO=BO-H2420 X=X-P32430 P3=0.5*P32440 FOR Pl=l TO H2450 Y(P1)=P<P1,1)2460 D(Pl)=PCPli2)2470 P<Pl,¿)-P(Plf3)2480 HEXT Pl2490 GO TO 21702500 04=IHT<0.5*01)2510 IF 01=04+04 THEH 25802520 GOSUB 10402530 FOR Pl=l TO N2540 P(P1,5)=YÍP1)2550 PíFlf7)=D(pl>2560 HEXT Pl2570 GO TO 21702580 02=02590 FOR Pl=l TO H2¿00 Q2=02+P(P1.B)*A&S(P<P1,4)-YÍP1))"2610 HEXT Pl2620 JF 02<=E THEH 27lO2630 IF B0=>10 THEH 30002640 FOR Pl=l TO H'2650 P(P1,4)=P(P1.5)2660 HEXT Pl2670 Ql=2*(Oi-2)2680 X=X-P32690 03=0
- 2700 GU TO 241027lO~GOSU[l 10402720 FOR Pl=l TO H2730 PÍPlrl)=YCFl>27-íO P(Pl,2)=nCpl)2750 P(P1.3)=P(P1TÓ)2760 YÍPl)=P(PlfS)2770 D(P1)=P(P1,7)2780 NEXT Pl2790 XO=X~P32800 B1 = BO2810 GOSUB 12202820 IF FOO THEN 3100
- 2330 FOR Pl=l TO N2840 Y(Pl)=P(PXil)'2850 BCP1)=P(P1.2)2860 NEXT Pl2870 P4 = BO2880 IF C13>0 THEH 3060
- 2890 BO=BO-12900 G1 = INT(0.5*CU) .2910 P3=P3iP32920 IF B0<0 THEH 2070
2940 IF G1O2*G4 THEN 20702950 IF Q2>0.02*E THEN 20702960 BO=BO-12970 B1=IHTC0.5*G1)2980 P3=P3+P32990 GO TO 20703000 B0=ll3010 GOSUB 10403020 GO TO 30603030 B0=123040 GO TO 30603050 B0=133000 XO=X3070 B1=BO3080 GOSUB 12203090 DELETE P3100 RETURN3110 REH *****:*£NB OF RUNGA3120 REH je** *******#*:*:* GRÁFICO3130 GOSUB 1403140 PAGE3150 GOSUB 31703160 GO TO 33203170 GOSUB 5703180 OPEN 0*!li'R'>Xí3390 BELETE Y1,Y2,Y3200 READ ti:H3210 DIH Y1(N)»Y2(N)»Y(H)3220 REAIi t i : X l f X 2 f Y l » Y 2 t R O3230 GLOSE3240 PRIHT *JHAY 'fROÍ' PUNTOS PñRA GRÁFICO1
3250 PRIHT 'JXMIN= '1X13260 PRINT 'XHAX= 'ÍX2
" 3270 FOR J-l TO H3280 PRIHT USIHG 3290:J»YltJ),Y2<J)3290 IMAGE/3D,2X'YMIN= •FD.FD/5X'YHAX= 'FD.FD3300 NEXT J
' 3310 RETURH3320 PRIHT 'JCURUA DESEADA: GGGG'í3330 INPUT NO3340 DELETE G•3350 DIH GU)
3360 PRINT 'JPARAHETROS PARA GRÁFICO: (XMINtXMAX, YHIN.YhAX) 'í3370 INPUT G3380 PRINT 'JINTERVALOS ENTRE MARCAS EN EJE 11X" T3390 INPUT Gl3400 P-RINT 'JINTERVALOS ENTRE MARCAS EN EJE ''Y" '!3410 INPUT G23420 PRINT 'JCQQRDENADAS DEL ORIGEN! 'i3430 INPUT G3.G43440 PRINT 'JGRAFICO EN PAPEL? (SI O NO) 'f3450 INPUT Al3460 H7=Í3470 VIEUPORT 0*150,0,1003480 IF AJ'-'SI' THEN 3520
. 3490 H7=323500 VIEUPORT 0,130,0,1003510 GO TO 35403520 FR:NT -jAtisTt GRAFIZAHOR ÍPQNGA PAPED Y APLASTE RETURNGGGG-3530 IHPUT At-3540 REM3550 PAGE3560 UINOOU Q(l)rG<23,GC3),G(4)3570 OPEN OSil»'R* »X*3580 REftP 41!N»XlfX2fYltY2FRO l3590 READ *l!XiY3600 MOVE eH7:XtYCNO)3610 FOR J=2 TO RO3620 READ *i:X,Y
. 3630 URrtU eH7:X,YCNO)3040 NEXT J3650 AXIS £?H7:Gl,G2,G3fG4
- 3060 HOrtE QH7:3670 PRINT 'PARA REPETIR CURVA TECLA 213680 PRINT 'JPARA OTRñ CURVA TECLA 3GGGG'3690 ENE"3700 REri *** GRÁFICO DE YÍI) EN FUNCIÓN HE Y(D) **¥3710 PftGE3720 GOSUB 31703730 DELETE G3740 DJfi G(4)3750 PRINT 'EN ARCHIVO -fD*?' HAY 'fNí 1 FUNCIONES'3760 PRINT -JFUNCION DESEADA EN EJE HORIZONTAL: É í3770 INPUT Jl37BO PRINT 'JFUNCION DESEADA EN EJE VERTICAL;3790 INPUT J23SOO PRINT 'JJGRAF1CO EN PAPEL? (SI O NO)! GGG'Í?CJO KíPUT XI3620 IF Xí='SI' OR X*='S< THEN 38603830 VIEUPORT 15,ll5,OtlOO3840 P8=323850 GO TO 388038¿0 VIEUPORT 25,125,0,1003B70 P8=l38BO RErt3890 PRINT 'JPARAMETROS PARA GRÁFICO CXMIN» XMAXfYMIN,YHAX): GGG'I3900 IHPUT G3910 FAGE3720 OPEN OM1> 'R' *X*3930 REflI" í i:N,XlrX2rYl,Y2/RO3940 UINDOU G C 1 ) , G C 2 ) , G C 3 ) , G ( 4 )3910 READ *1 :X.Y396Ü MOUE 0PB:Y(Jl),YÍJ2)3970 FOR K=2 TO RO3980 REñD *i:X,Y3990 DIíAU ePB:YÍ J1),YÍJ2)4000 NEXT K4010 AXI5
APÉNDICE II
MANUAL DE UTILIZACIÓN DE LOS PROGRAMAS
1. Programa "Adams"
(1) Insértese el disco correspondiente, y cargúese en la máquina
(2) Para seleccionar el programa correspondiente, ejecútese la instrucción
OLD "ADAMS"-
(3) Sigúese las instrucciones que se dan en pantalla para entrada de da-
tos y obtención de resultados.
2. Programa "Runge - Kutta"
(1) Insértese el disco correspondiente, y cargúese en la máquina
(2) Para seleccionar el programa correspondiente, ejecútese la instrucción
OLD "RUNGEKUTTA"
(3) Aplastar tecla 1 y seguir instrucciones dadas en la pantalla
(4) Aplastar tecla 4
(5) Borrar las instrucciones, de la 1051 a 1089
DELETE 1051, 1089
(6) Entrar el sistema de ecuaciones usando instrucciones numeradas del
1051 al 1089 (usar notación indicada anteriormente)
(7) Aplastar tecla 6 para continuar y seguir instrucciones de la pantalla
71
BIBLIOGRAFÍA
Athans, M., Falb, P. L., "Optimal Control: An Introduction to the Theoryand its Applications". Me Graw Hill Book Company, 1966. United States.
Jones, E.L., "A RTformu lation of the Algebric Ricatti Equation Problem",IEEE Trans. Automatic Control (correspondence), 1976.
Kirk, D.E., "Optimal Control Theory: An Introduction". Prentice - Hall,1970. Englewood Cliffs, New Jersey.
Spencer, D.D., "A Guide to Basic Programming: A Time - Sharing Language",Addison - Wesley Publishing Company, 1970. United States.
72