ESCUELA POLITÉCNICA NACIONAL
FACULTAD DE INGENIERÍA ELÉCTRICA
'ANÁLISIS DE SISTEMAS DE CONTROL DISCRETO EN EL ESPACIO DE ESTADO11
LUIS ALFONSO ROMERO SIERRA
TESIS PREVIA A LA OBTENCIÓN DEL TITULO DE INGE
NIERO EN ELECTRÓNICA Y CONTROL
AGOSTO - 1986
AGRADECIMIENTO
Agradezco al Ing. Patricio Burbano por la dedj_
cación y colaboración prestada en la realiza-
ción de este trabajo; adicionalmente quiero a-
gradecer a todas las personas que de alguna ma_
ñera han participado en el desarrollo de esta
tesis.
Certifico que el presente trabajo
ha sido real izado" en su totalidad
por el señor Luis Alfonso Romero
Sierra.
Ing. Patricio Burbano R.
Director
ÍNDICE
Pag
Capítulo I : INTRODUCCIÓN
1.1. Descripción de Sistemas Discretos a Variables de Estado - 1
'1.2. Matriz Transición de Estado 12
1.3. Estados y Salidas —. ——— 25
1.4. Discretización de las Ecuaciones de Estado . 33
Capítulo II: ANÁLISIS EN EL ESPACIO DE ESTADO
2.1. Estabilidad — — 43
2.2. Controlabilidad . 49
2.3. Observabilidad 57
2.4. Diseño en el Espacio de Estado 64
2.5. Control ador — 78
2.6. Estimadores — 93
Capítulo III: BIBLIOTECA DE PROGRAMAS
3.1. Estructura General de la Biblioteca de Programas 93
3.2. Ingreso de Datos 103
3.3. Discretización 112
3.4. Análisis en el Espacio de Estado 123
3.5. Estados y Salidas -• 129
3.6. Realimentación Discreta de Estado 136
Pag.
Capítulo IV: RESULTADOS Y CONCLUSIONES
4.1. Resultados 142
4.2. Conclusiones —
Apéndice A: Manual de Uso.
Apéndice B: Listado de los Programas.
Bibliografía. :
INTRODUCCIÓN
El desarrollo de gran cantidad de aplicaciones.de control, para las com_
putadoras digitales y la introducción del microcontrolador, conceden -
gran importancia a los Sistemas de Control Discreto; sobre todo, porque
la teoría puede ser aplicada indistintamente a sistemas discretos o co_n
tinuos con la correspondiente discretización..
En esta tesis se dan los conceptos necesarios para el análisis de siste_
mas de control discreto en el espacio de estado; y, en base a estos con_
ceptos se implementan un conjunto de programas que permiten la aplica-
ción de la teoría a la solución de problemas prácticos.
En el primer capítulo se introducen los conceptos fundamentales; en prj_
mer lugar, se indica el modelo matemático de un sistema discreto en va_
Hables de estado, consistente de un par de ecuaciones matriciales lla_
madas ecuaciones de estado y salida; para los casos en los que se dispo_
ne de una ecuación de diferencias como modelo, se desarrolla un procedj_
miento que permite escribir las ecuaciones de estado y salida de cual-
quiera de las formas canónicas de la representación en variables de es_
tado; a continuación, se define la matriz de transición de estado como
solución de la ecuación de estado homogénea, se dan las propiedades fun_
damentales de esta matriz y las formas de calcularla; en el siguiente -
numeral se obtiene la .solución completa de las ecuaciones de estado y
salida que permite conocer los estados y la salida para cualquier ins-
tante a partir de la condición inicial de los estados y de la señal de
entrada; y finalmente se desarrolla la teoría de la discretización de
las ecuaciones de estado y salida de tiempo continuo que permite el ana
Tisis de sistemas de control discreto en los que la planta es continua.
En el segundo capitulo se dan los tres conceptos más Importantes del
análisis de sistemas de control: la estabilidad, la controlabilldad y
la observabilldad; la estabilidad se define en función de la ubicación
de los polos del sistema en el plano z; los conceptos de controlabill-
dad y observabilldad son relacionados y por tanto se los aborda en fO£_
ma similar, en cada caso se da un par de definiciones y en base a una
de ellas, se desarrolla un criterio que permite saber si un sistema d1s_
creto es o no controlable u observable. En este capitulo se Introduce
el diseño de sistemas de control discreto en el espacio de estado revj_
sando la relación entre la ubicación de los polos en el plano z y el
comportamiento transitorio de la respuesta; se aborda el problema del
diseño de la Ley de control;y, para terminar se Introduce el problema
del regulador o controlador y la estimación de estado.
En el capitulo tres, se Incluye una biblioteca de todos los programas
desarrollados, Indicando algunas de sus características, los conceptos
matemáticos utilizados, las variables más Importantes y los diagramas
de flujo. El capitulo cuatro se dedica exclusivamente a la aplicación
de los programas al análisis de algunos sistemas; y, de los resultados
obtenidos se escriben varias conclusiones. Al final se adjuntan: un
apéndice A que contiene el manual de uso, en donde se dan las Indica-
ciones necesarias para encender el computador y para utilizar los pro_
gramas; y, un apéndice B con los listados completos de todos los pro-
gramas.
La tesis está orientada al análisis de sistemas lineales, Invariantes
en el tiempo y de una entrada y una salida. Para el desarrollo teóri-
co se parte del conocimiento de algunos tópicos .como sons por ejemplo,
el concepto y las propiedades de las variables de estado.
Capítulo I : INTRODUCCIÓN
1.1. Descripción de Sistemas Discretos a Variables de Estado,
1.2. Matriz Transición de Estado.
1.3. Estados y Salidas.
1.4. Dlscretlzación de las Ecuaciones de Estado.
1.1. DESCRIPCIÓN DE SISTEMAS DISCRETOS A VARIABLES DE ESTADO
Para realizar el análisis de cualquier sistema real, se requiere de un
modelo matemático que relacione la respuesta con la excitación; los mo_
délos más conocidos son las ecuaciones diferenciales y las ecuaciones
de diferencias para sistemas continuos y discretos respectivamente. Una
forma alternativa de representar matemáticamente a un sistema real es
el uso de las llamadas ecuaciones de estado que también relacionan la
respuesta de un sistema con la excitación pero, a diferencia de las
formas anteriores, mediante un conjunto de variables intermedias, in-
ternas al sistema, llamadas variables de estado. El concepto de varia^
bles de estado, sus características y propiedades se suponen conocidas
Si un sistema lineal tiene m señales de entrada discretas, 1. salidas, n
variables de estado y todos sus componentes son discretos, las ecuacio_
nes de estado que lo describen tienen la siguiente forma:
x.(k+l) = I x.(k) + £ u_(k) (1.1)
+üu.(k) . '(1.2)
Donde:
x_(k) = vector de estado de orden nxl
j¿(k) = vector de entrada de orden Tnxl
= vector de salida de orden 1x1
La ecuación 1.1. representa a un set de ecuaciones de diferencias de
primer orden y se la conoce como la ecuación de estado; mientras que
1.2. es la forma matricial de un conjunto de ecuaciones algebraicas que
relaciona las salidas con las entradas y los estados, se la llama ecua
clon de salida. Las matrices _E5 £, _G y H_ tienen órdenes nxn, nxm, Ixn,
y Ixm respectivamente; para sistemas variantes los elementos de estas -
matrices dependen del tiempo, pero en este caso nos dedicaremos al estu_
dio de sistemas invariantes, es decir que, las matrices tienen elemen-
tos constantes. En la figura 1.1. se traza un diagrama de bloques, en
base a las ecuaciones 1.1. y 1.2., que representa la estructura interna
del sistema y relaciona en forma gráfica las matrices anteriores con
las variables de estado, las salidas y las señales de entrada; adicio-
nalmente, se incluye un bloque de retardos cuya respuesta es el valor
anterior de las señales de entrada.
u(k)
Fig. 1.1. Diagrama de bloques de las ecuaciones de estado
Si un sistema tiene solamente una señal de entrada y una salida, la
ma de las ecuaciones de estado 1,1. y 1.2. se mantiene; pero, las matri_
ces £ Y _G se transforman en vectores de órdenes nxl y Ixn resp.ectivamen_
te, mientras que ti_ se convierte en un escalar y para la mayoría de los
casos es cero por los retardos inherentes de los sistemas reales; esta
aclaración se hace, porque en adelante consideraremos solamente siste_
mas- de una entrada y una salida; sin embargo, los mismos conceptos se
aplican para sistemas de múltiples entradas y múltiples salidas.
En general, resulta complicado obtener directamente la descripción a va_
riables de estado de un sistema y muchas veces, es más sencillo escri_
bir la correspondiente ecuación de diferencias; sin embargo, esto no i_m
pide que se pueda aplicar la técnica del espacio de estado (mediante las
variables de estado), para el análisis, porque sin mayor esfuerzo es p_o_
sible escribir las ecuaciones de estado a partir de una ecuación de dj_
ferencias; la transformación, es especialmente sencilla cuando se escri_
ben las ecuaciones de las formas canónicas de la representación a varia_
bles de estado: Controlable, Observable y de Jordán. A continuación se
detalla un procedimiento que permite pasar de una ecuación de diferen_
cias de la forma:
y(k+3) + ay(k+Z) + by(k+l) + cy(k)=du(k+3) + eu(k+2) + fu(k+l) + gu(k)
a las ecuaciones de estado de las tres formas canónicas. Veamos en pri_
mer lugar como encontrar la forma observable. Si se extrae la transfoj^
mada Z a la ecuación anterior se tiene que:
z3Y(z) + az2Y(z) + bzY(z) + cY(z) =dz3U(z) + ez2U(z) + fzU(z) + gU(z) .
' - (1-3)
Pasando todos los términos al lado izquierdo de la ecuación y agrupando
aquellos de igual exponente en z, se llega a la expresión:
z3[Y(z)~dU(z)] + z2[aY(z)-eU(z)] + z[bY(z) - f u(z)] + cY(z) - g U(z)=0
Dividiendo por z3 la ecuación anterior se obtiene:
y(z) - dU(z) + i[aY(z)-eU(z)] + [bY(z)-fU(z)] + [cY(z)-gU(z)] = O
De donde:
'Y(Z) = dU(z) + z-1[eU(z)-aY(z)] + z;2[fU(z)-bY(z)] + z"3 [gU(z)-cY(z)]
El término z~a constituye un retardo unitario. Asi z"1 u(k) representa,
en el tiempo, la señal u(k-l). En base a la última ecuación se puede de_
sarrollar un diagrama de bloques que relacione los parámetros de Ta ecua_
ción de diferencias, la entrada u(k)s la salida y(k) y los diferentes
retardos; este diagrama se indica en la Fig. 1.2. Si se define una va_
r-iable de estado a la salida de cada retardo como se indica en el gráfi
Fig. 1.2. Diagrama de bloques de la fo'rma canónica observable
co, se deducen las ecuaciones:
= - c y(k) + g u(k)
x2(k+l) = - b y(k) + f u(k)
x3(k+l) = - a y (k ) + e u(k) + x 2 ( k )
y(k) = x 3 ( k ) + d u(k) .
Reemplazando el valor de y(k) en las otras .ecuaciones y si se agrupan los
términos semejantes, se tiene que:
xi(k+l) = - c x a ( k ) + (g - cd) u(k)
x¿(k+l) = xi(k) - b x 3 ( k j + (f - bd) u(k)f
x3(k+l) = x 2 (k ) - a x 3 ( k ) + (e - ad) u(k) .
Para obtener las ecuaciones de estado 1.1. y de salida 1.2. se escriben
las ecuaciones anteriores en forma matrlcial de la siguiente manera:
Xiík+l)
x2(k+l)
,x3(k+l) .
=
0 0 -c
1 0 -b
0 1 -a m
" x x ( k ) "
x a (k )
. x 3 ( k ) ^
+
g - cd
f - bd
,e ~ a^
u(k)
y(k) 0 0 1 x,(k)
x2(k)
x3(k)
d u(k) ;
éstas expresiones matriciales corresponden a la forma canónica observa^
'ble, nótese que dada la relación entre los elementos de las matrices y
los coeficientes de la ecuación de diferencias, las ecuaciones de esta_
do se pueden escribir directamente. Una característica muy particular
de esta forma canónica es que la salida se realimenta a todos los esta_
dos como se ve en la Fig. 1.2.
Aplicando el concepto de que el problema del observador es el dual del
problema del controlador, es factible obtener un diagrama de bloques
dual al diagrama de la Fig. 1.2. intercambiando la dirección delasfle_
chas, los puntos por sumatorios y la entrada con la salida; adicional-
mente, se invierte todo el gráfico para obtener el diagrama de bloques
de la Fig. 1.3. Nuevamente se asigna una variable de estado a la salj_
r+
--rOX2(k+l) (k) X|(k)
Fig. 1.3. Diagrama de bloques de la forma canónica controlable
da de cada retardo y las ecuaciones resultantes son:
= x2(k)
x2(k+l) = x3(k)
x3(k+l) = - c xi(k) - b x2(k) - a x3(k) + u(k)
y(k) = g xi(k) + f x2(k) + e x3(k) + d[-c Xl(k) - b xz(k) - a x3(k)
+ u(k)]
= (9 - de) Xl(k) + (f - db) x2(k) + (e - da) x3(k) + d u(k) .
En forma matricial:
x2(k+i)
x3(k+i) J L"c ~b "a
ch ÜCL °\>r^°
f-bcf e-ad
xjk)
x2(k) u(k)
y(k) ='[g-cd
oa
\2(k)x3(k)
d u(k) .
Estas ecuaciones de estado y salida corresponden a la forma canónica con_
trolable y como en el caso anterior se obtienen directamente de la ecua_
ción de diferencias; tiene especial importancia porque facilita realizar
la realiment'ación de estado y se caracteriza porque todos los estados se
realimentan a la entrada como se ve en la Fig. 1.3.
La forma canónica de Jordán ya no se puede encontrar directamente como
las anteriores, sino que.se requiere de un proceso matemático que se
complica conforme aumenta el orden de la ecuación de diferencias, sin
embargo, esta forma tiene la ventaja de que permite saber si el siste_
ma es controlable y observable directamente del valor de los elementos
de las matrices, como se verá en el siguiente capítulo. Con referen-
cia a la ecuación 1.3.:
dz3 + ez2 + fz + gY(z) = = : U(z) ;
z3 + az2 + bz + c
esta relación es impropia y para continuar el análisis se requiere efec_
tuar la división, la expresión resultante es:
p:z2 + p2z + - p g
Y(z) = dU(z) + U(z) ,z3 + az2 + bz + c
si se descompone el segundo término en fracciones parciales se llega a
la expresión:
cti c¿2 o¿3
Y(z ) = dU(z) + U(z) + u ( z ) + — -U(z ) .z + Ai z + A? z + A 3
Donde AI, A2 y A3 son los polos del sistema, que por el momento vamos
a considerar de distinto valor. Se eligen los estados de la siguiente
manera:
ai U(z)Xl(2) = .
z + AI
a2.U(z)X2(z) =
z + A2
a3 U(z)x3(z) = -2-J-lz + A3
Operando sobre las ecuaciones anteriores y sacando la transformada z
inversa se obtiene:
xx(k+l) = - A! Xi(k) + ai.u(k)
x2(k+l) = - \ x2(k) + c¿2 u(k)
x3(k+l) = - X3 x3(k) + a3 u(k)
y(k) = Xi(k) + x,(k) + x3(k) + d u(k)
En este caso, los estados están desacoplados porque dependen solamente
de si mismos y de la señal de entrada; el diagrama de bloques para es_
te caso se indica en la Fig. 1.4. utilizando nuevamente los bloques de
retardo. Las- ecuaciones matriciales 'son:
x2(k+l)
x3(k+l)
-Ai O -O
O -A2 O
o o -A:
x2(k) a-z u(k)
y(k) = [l 1 l]
xjk)
x3(k)
d u(k)
10
La forma diagonal de E_1e da ventajas adicionales que veremos más ade_
Fig. 1.4. Diagrama de bloques de la forma canónica de Jordán
lante. Apliquemos al caso en el cual se tiene un polo AI de multiplicj_
dad dos y un polo simple X2; la descomposición en fracciones parciales
sería:
Y(z) = d U(z)
si los estados son:
Xi(z) =
X2(z) =
X3(z) =
U(z)
U(z)
2 +
Z' + X:
11
Se llega a las siguientes ecuaciones temporales
i xi(k) + x2(k)
x2(k+l) = - Ai x2(k) + u(k)
x3(k+l) = - X2 x3(k) + u(k)
y(k) = ÉI xi(k) + £,2 xz(k) + ?3 x3(k) + d u(k)
En forma matricial:
xi(k+l)
X2(k+l)
x3(k+l)
•
=
-Xi 1 ¡ 0111
0 -Xi ¡ 0• I
111
0 0 l -X2
X i (k )
x 2 ( k )
_ X 3 ( k ) _
+
0
1
1
u(k)
y(k) Xi(k)
x3(k)
d u(k)
El efecto de la multiplicidad de polos es la pérdida del desacoplamien_
to entre los estados, de ahí que, Xi depende de x2, el diagrama de blo_
ques correspondiente se realiza en la Fig. 1.5.; la matriz £ deja de
12
ser diagonal y pueden identificarse dos bloques en la diagonal principal,
delimitados por lineas segmentadas, que se denominan bloques de Jordán.
u 1
Fig. 1.5. Forma canónica de Jordán con'un valor propio repetido.
El desarrollo se ha hecho en base a un caso particular; sin embargo, los
resultados obtenidos pueden ser generalizados para una ecuación de .dife_
rencias de cualquier orden; cuando se quiere únicamente obtener la des_
cripción a variables de estado a partir de una ecuación de diferencias,
lo más conveniente es usar las formas controlable u observable. La for_
ma de Jordán se ha introducido porque sirve de soporte para el desarro_
lio de los conceptos que veremos a continuación.
1.2. MATRIZ DE TRANSICIÓN DE ESTADO
En el punto anterior vimos que un sistema discreto lineal e invariante
de una entrada y una salida puede ser descrito por las siguientes ecua_
ciones matriciales:
13
x_(k+l) = i x_(k) + £ u(k)
y(k) = G_^(k) + H_ u(k)
Si queremos determinar el valor de los estados y las salidas para cual-
quier instante de tiempo k a partir de la condición inicial del estado
x_(0) y la señal de entrada u(k)s se debe resolver en primer lugar la
ecuación de estado; en este punto nos dedicaremos a la solución de la
ecuación homogénea:
x_(k+l) = i x.(k) ;
esta ecuación permite conocer el siguiente valor de estado a partir de
su valor anterior cuando el sistema está libre de excitación; pero, en
forma iterativa se puede ir calculando los sucesivos valores del estado
a partir del valor inicial, es decir:
jc(l) = £ x_(0)
A(2) = Ix(l) =I2_x(0)
x.(3) = Ix.(2) = i3 x_(0)
2((k) = ik x.(0) .
Si G_(k,0) = E_ , la solución de la ecuación de estado homogénea es:
x(k) = 0(k,0) x(0) .
14
Donde 9.(k,0) -es la matriz de transición de estado; _si existen n varia-
bles de estado el orden de 0_ es nxn. En forma general,para cualquier
-estado inicial _x(r)> el estado al tiempo k está dado por:
x(k) = £(k,r) x.(r) (1.4)
= 'r x(r). .
La matriz de transición tiene las siguientes propiedades:
1.- 0_(k,k) = 1 .
Donde _!_ es la matriz identidad; esta propiedad se demuestra fácil-
mente ya que:
y(k} = T y(\(} "A ^ Í N / 1 A ^ N / )
si en la ecuación 1.4. k = r, se obtiene:
x.(k) - 9_(k,k) x_(k) .
De donde: 9_(k,k) = l_ .
2.- _9(k,m) = £(k,l) O.(l,m), para m £ 1 5 k .
Podemos escribir que:
v ( V\ ÜÍL- ~\ ( ~\y O ^ N j i y A \ l y
15
x(l) = 0(1,m) x(m) .
Combinando las dos ecuaciones anteriores
x(k) - 9(k,l) 0(1 ,m) x(m)
x_(k) = £(k,m) x.(m) .
Igualando las dos ultimas expresiones se concluye que;
£(k,m) = i(k,l) 0(1 ,m) .
3.- 9_(k,m) = O^ínijk)"1, para todo m, k .
En base a 1.4. se escribe:
= ,0(k,m) x_(m)
= 0_(msk)
Combinando las dos ecuaciones:
x(k) = 0(k,m) 9(m,k) x(k)
De donde:
0(k,m) G(m,k) = I
16
Por tanto:
£(k,m) = £~l(m,k) .
La matriz de transición discreta 0_, como en el caso continuo, es una
parte fundamental de la solución de las ecuaciones de estado que vere-
mos más adelante cuando determinemos los estados y las salidas para un
ksistema con excitación. Para el calculo de E_ existen los siguientes -
métodos:
1. Utilizando la forma canónica de Jordán; para lo cual se hace la
transformación de semejanza:
x(k) = 1 yjk).
Donde T es una matriz cuyas columnas son los vectores propios de I;
la ecuación de estado homogénea seria:
v.(k+l) = r1 II v_(k)
. Donde $_ es una matriz diagonal de orden nxn con sus elementos igua-
les a los valores propios de E_. La matriz de transición para este
caso estaría dada por:
17
pero
= T"1 E T T'1 E T T"1 E T ... T"1 E T
= I'1 Ek T
entonces: Ek = T sák T"1
uLa ventaja de la ultima expresión es que para determinar no se
requieren productos matriciales, sino que es suficiente elevar cada
uno de los elementos de ¿ a la potencia k; siempre y cuando los va_
• lores propios de E_ sean distintos o la matriz de Jordán $_ sea exac-
tamente diagonal.'
2. Otro método para calcular la matriz de transición discreta se desa_
rrolla mediante la aplicación del teorema de Caley - Hamilton, de
la siguiente forma:
. n-1= E Ti E1. (1.5)
i=0
Donde n es el orden del sistema y los coeficientes Y-¡ se pueden caj_
cular a partir de una expresión similar a la anterior pero en base
a la matriz diagonal de Jordán ¿. Usando la misma transformación -
de semejanza T_ anterior, tenemos que:
Ek = ükr'.
Reemplazando en 1.5.,
18
n-1T r r1 = £ Y,- T ¿' T
1=0 n ~"fc T- 1 != V^ „ T «í ' T- 1
Extrayendo los factores comunes X y J. a] sumatorio,
k "-1 iTTT-^T E YÍ ¿ r1
1=0 ™ "
De donde:
k n~1 i
La última expresión es un sistema de ecuaciones lineal cuya solu_u'
clon permite determinar los y- y,como antes,¿_ se encuentra fác1J_
mente elevando todos sus elementos al exponente_ k,s1 _0 es diagonal.
Este método como el anterior, presentan la ventaja de que para k
grandes los productos matriciales requeridos son mínimos y adicio_
nalmente en este último, no es necesario calcular los vectores prp_
píos.
3. Otra forma de determinar la matriz de transición consiste en usar
la transformada z. Consideremos la ecuación de estado homogénea:
_x(k+l) = i x(k) -
Su transformada z es:
z'x(z) - z x.(0) = £X,(z) .
De donde:
19
[21 -I D 2K2) = z x.(o) ;
y, £(z) = [z i- i]'1 z x.(o) .
El vector de estado se determina calculando la transformada z inve_r
sa de la ecuación anterior; la matriz inversa de z _!_ - £ se encuen_
tra fácilmente aplicando el algoritmo de Leverrier que dice lo sj_
guíente:
Adj [z I - E 1z I - E' " ~ ~
Det [z 1 - i]
Donde:
Adj |z I - E |.= zn-1 Fj + zn"2 F2 + ... + z Fn , + Fn— — —n~i — u
Det z I - E = zn + Ol z0'1 +....+ an_1 2 +
La inversa de z _I_ - E_ es la relación entre la matriz adjunta y el
determinante; donde la adjunta es una matriz cuyos elementos son
los determinantes de los menores de z l^ - £; es decir, polinomios
de grado n-1, n es el orden de la matriz _E_, por lo tanto, la adjun_
ta se puede escribir como un polinomio matricial del mismo grado.
Las matrices _F-j y los coeficientes a-¡, con i = l,...,n, se calcu-
lan de las siguientes .expresiones:
Fi = I cii = - tr E Fi/1
20
F2 = E F! + ai I a2 = - tr E F2/2
Vi I "b"- trEF n/n
tr = traza .
Si los cálculos están bien realizados se debe cumplir la condición:
De los tres métodos que hemos visto, los dos primeros pueden ser i
mentados en un computador digital con relativa facilidad, si es que los
polos del sistema son diferentes, en especial, el segundo que no re-
quiere de la determinación de los vectores propios; en cuanto al -ültj_
mo método es un procedimiento exclusivamente manual porque requiere
del cálculo de la transformada inversa de_X(z). Para finalizar, este
punto, desarrollemos un ejemplo de aplicación.
Ejemplo 1.1. Sea la ecuación de diferencias:
y(k+2) + 5 y(k+l) + 6 y(k) = u(k) .
Calculemos la matriz de transición de estado G_ usando los tres méto-
dos anteriores; en primer lugar, debemos encontrar la descripción a
variables de estado de la ecuación, recordando las explicaciones da-
das en el numeral 1.1. podemos escribir directamente las ecuaciones -
de estado de la forma canónica controlable:
21
. x 2 (k+0 .
=
" o . i "
. x 2 ( k ) .
*' 0 "
_ 1
y(k) = [ i o] xi(k)
x2(k)
u(k)
1. Para usar el primer método, es necesario calcular los valores y vec_
tores propios; la ecuación característica del sistema es:-
X I - E = X(X + 5) + 6 = O
De donde Ai = - 2 y A 2 : = - 3 son los valores propios y como son di'
ferentes, la matriz de Jordán es:
-2
-3
usando la expresión:
Se puede encontrar los vectores propios jc-j asociados a cada valor
propio X-j para estructurar la matriz de transformación de semejanza
T que en este caso es:
22
T =
1 1
-2 -3 -2 -1
La matriz 9 se encuentra en la expresión:
0(k,0) = _E = l¿ T
Donde:
(-2) 0
(-3)
Realizando los productos matriciales:
e(k,0) =
-2(-3)k + 3(-2)k
-6(-2)k + 6(-3)k -2(-2)k + 3(-3)k
2. Aplicando el teorema de CALLEY - HAMILTON ;
9(k,0) = Yo I + Y! E (1-6)
= Yo 1 + Yi
reemplazando valores en la última ecuación,
23
(-2)k 0
_ 0 ( -3)k_
= Yo
1 0
L ° 1.
+ Yl-
-2 0
_ 0 -3
Se obtiene un sistema de ecuaciones con las incógnitas y0 y YI que
al ser resuelto, da los siguientes resultados:
Yo = 3(-2)k - 2(-3)k
Yl = (-2)k - (-3)k
Usando estos valores en la ecuación 1.6. y real-izando operaciones:
e(k,0) =
3(-2)k - 2(-3)k (-2)
6(-3)k - 6(-2)k 3(-3)k - 2( -2) k
3. Por último, apliquemos la transformada z a la solución del problema,
entonces:
0(k,0) = Z'1
Para ilustrar la aplicación del algoritmo de Leverrier, vamos a usa_r
lo para calcular (z J_ - E_)"1.
(z I - E) •i _ Adj (z 1 - £)
Det (z I - E)
Adj (z I - E) = z Fi + F2
24
Det (z I - E) = z2 + a: z
De acuerdo con el algoritmo
= - tr E F!/! = - tr E = 5
.2 =
= - tr E F2/2 = 6
5 1
-6 O
De donde:
Adj (z I - E) =
z+5 1
-6
Det (z I - E) = z2 + 5z + 6 :
(z I - E)
z + 5
zz+5z+6 zz+5z+6
Descomponiendo en fracciones parciales cada elemento:
z(z 1- E)
3zz +
6zz + 3
2zz +
6zz +
3zz + 3
zz +
2zz +
25
Usando una tabla de transformadas z:
£(k,o) = Z-J[z(z 1- E)1
3(_2)k - 2(-3)k (-2)k - (-3)k
6(-3)k - 6(-2)k 3(-3)k - 2(-2)k
Los tres métodos utilizados dan exactamente los mismos resultados, pero
aun en este ejemplo simple se ve que el método más apropiado por su sen_
cillez y rapidez es el segundo; sin embargo, el tercero tiene la venta_
ja "de que los valores propios pueden o no ser diferentes; aunque en es_
te ejemplo no se aprecia la bondad del algoritmo de Leverrier porque el
orden del sistema es pequeño y resulta más simple calcular la inversa
directamente, esto no sucede cuando el orden es mayor o igual a 3; ade_
más, el algoritmo permite determinar directamente los coeficientes de
la ecuación característica cuyas raíces son los polos del sistema.
1.3. ESTADOS Y SALIDAS
En esta parte vamos a introducir la solución de las ecuaciones de esta_
do discretas que permite conocer el valor de los estados y la salida
para cualquier instante de tiempo k a partir del valor inicial del es_
tado _x(0) Y los valores de la señal de entrada u(i), para i = 0,l,..,k.
Consideremos en primer lugar la ecuación de estado:
£(k+l) = i x(k) +£u(k) . . 29-92
De donde, el valor del estado se obtiene de su valor anterior y del
26
valor anterior de la señal de entrada; usando un procedimiento iteratj_
vo se pueden calcular los sucesivos valores del estado, a partir del
inicial x_(0)» de la siguiente manera:
2((1) = 1 x.(0) + £ u(0)
x(2) - £ x.(l) + £ u(l) = £2 jc(0) + ££ u(0) + £ u(l)
'21(3) = E. x.(2) + £ u(Z) = £3 x,(0) + £2 £ u(0) + ££ u(l) + £ u(2)
_x(k) = i x.(k-l) + £ u(k-l) - £k (0) + £k"1 £ u(0) +...+ ££ u(k-2) +
+ F u(k-l)
Es decir:
k-1= £k x(Q) + E E 1"1 £u(i)
i=0
En función de la matriz de transición de estado:
k-1 'x.(k) = 9. (k,0) x(0) + E i(k-l, i) £ u(i) ;
i=0
se identifican claramente dos partes en esta expresión: la una que de_
pende solamente de la condición inicial y de la matriz 9_ correspondiera
te a la solución de la ecuación de estado homogénea que vimos en el nu_
meral anterior; y, el sumatorio en función de la matriz de transición,
la matriz £y los valores de la señal de entrada que representa las va_
riaciones sufridas por los estados a causa de la excitación del siste_
ma u(k).
27
Una vez que se ha resuelto la ecuación de estado, la ecuación de sali-
da:
y(k) = G_x_(k) + H_u(k)
está también resuelta y lo que restaría es reemplazar la solución ante;
rlor; entonces:
k-1y(k) = G_ 9_(k,0) x.(0) + G. E 6_(k-l, 1) u(1) £_ + H_ u(k) ,
1=0
Como en el caso anterior, se aprecian dos tipos de respuesta, una debi-
da a la condición Inicial del estado y la otra producida exclusivamente
por la señal de entrada,
El cálculo de los estados y las salidas se usa para representar gráfica_
mente el comportamiento de un sistema discreto lineal e Invariante; efec_
tivamente, si los valores de cada estado y de la salida se utilizan para
trazar los gráficos de señal correspondiente^ pueden obtener, al Igual
que en el caso continuo, datos como el sobreimpulso, el tiempo de subi_
da, el tiempo de establecimiento, etc,
Dado que la solución de las ecuaciones de estado se puede hacer en fo_r_
ma Iterativa, resulta sencillo implementar un programa computaclonal pa_
ra realizar los cálculos correspondientes y presentar los resultados en
forma gráfica; en realidad, los gráficos deberían ser señales de tiempo
discreto, pero resulta más conveniente presentar los resultados en fo_r
ma de señales cuantizadas; en la Fig. 1.7. se Indica un ejemplo dé seña_
les continuas, discretas y cuantizadas.
28
Una señal cuantizada se obtiene mediante un dispositivo llamado retene.
dor de orden cero (Zero Order Hold) que es excitado con una señal de
u(k) z o H u*(t)
Fig. 1.6. Cuantización de una señal discreta mediante un rete_nedor.
tiempo discreto como se indica esquemáticamente en la Fig. 1.6.
utt)
uíkt)
i b )
u*(t)
( c)
_] 1_T 2T 3T 4'T 5T
Fig. 1.7. (a) Señal continua, (b) Señal discreta, (c) Señal cuantizada.
Con el objeto de aplicar las ideas anteriores y de ilustrar el tipo de
respuesta que se obtendrá con el programa de estados y salidas se desa-
29
rrolla el siguiente ejemplo.
Ejemplo 1.2. Considérese un sistema discreto cuya ecuación de diferen_
cías se Indica a continuación:
y(k+2) + 0.8 y(k+l) + 0.15 y(k) = u(k) .
Usando la teoría vista en el numeral 1.1. las ecuaciones de estado y
salida de la forma canónica observable serían:
x^k+1)
xz (k+ l )
=
0 -0.15
1 -0.8
1 *1
0
u(k)
y(k) - [ o i]
x(k)
Supongamos que la señal de entrada u vale uno para cualquier Instante
k _> O y que el sistema está Iniclalmente en reposo, es decir, la condj_
clon Inicial del vector de estado _x(°) es cero. Bajo estas condicio-
nes calculemos los valores desde el Instante k = O hasta k = 10 (-a una
entrada escalón unitaria),
k = O x(l) = E x(0) + F u(0)
x(D = E
0
0* L M -
1
b 0 .
30
y(0) = £ x_(°) = O
k = 1 x(2) = E x(l) + F u(l)
x(2) = E
1
_ 0 _* t [ . ] . 1
. 1 .
En adelante no se harán los cálculos de la salida porque para este ejem_
pío: y(k) = x2(k).
k = 5
1
1*,M-
0.85
0.2
k = 2 x(3) = E x(2) + F u(2)
k = 4
x(3) = E
k = 3 x(4) = E x(3) + F u(3)
x(4) = E
" 0.85"
. 0.2* r .H.
" 0 .97*
. 0.69.
" 0 . 9 7 "
. 0.69,
* £ [ ' ] •
" 0.90 "
. 0.42 .
x(5) = E
x(6) = i x(5) + £ u(5)
x(6) = E
0.90"
0.42.
. « [ o -0 . 9 4 "
0 . 5 6 _
" ig ' o
Z6 '0
= ['] I9"0
Z6 '0
.= ( T T ) x
( O I ) n d + (Oí)* 3 = ( T I ) * 01 =
" I9'0 "
. ^6*0 _
= N ^ +
"I9 '0 "
. Z6"0 _
3 = ( O T ) x
(6)n d + (6)x 3 = (Ol)x 6 =
' 19*0 "
Z6 '0
- [*]-*+.
" e s ' o "
_ £ 6 ' 0 _
3 = (6)x
(8)n j + (8)x 3 = (6)x 8 =
es*o
£6*0
3 = (8)x
+ (¿)x 3 = (s)x
" 61? '0 "
Z6 '0
= [*]-* + '^ 9 S ' 0
1?6*Ó
3 = ( Z ) x
(9)n J + (g)x 3 = ( / )x 9 =
32
En la Fig. 1.8. se indican los valores sucesivos del estado xi y.de la
salida y en forma de.señales cuantizadass notar que el estado x2 coincj_
de con la salida. Del gráfico de la salida y se ve que la similitud en_
tre la respuesta obtenida y la respuesta de un sistema continuo estable
de segundo orden cuyos polos son complejos y es excitado con una señal
paso.
X|ík)
10
b )
.4 10
Fig. 1.8. Gráficos de los estados y salida para el ejemplo 1.2.
33
De los resultados obtenidos en este ejemplo se ve la importancia de te
ner a la mano los estados y las salidas en forma gráfica, porque permi_
te el análisis más objetivo del comportamiento, tanto en el período
transitorio como en el estacionario.
1.4. DISCRETIZACION DE LAS ECUACIONES DE ESTADO
Con el objeto de que la teoría y los programas que se desarrollan en
esta tesis sirvan tanto para el análisis de sistemas discretos como pa_
ra el análisis de sistemas continuos, es necesario encontrar un equiv^
lente discreto, para el sistema continuo que se desea analizar, median_
te la discretización de las ecuaciones de estado y salida continuas:
x(t) = A.2L(t) + B u(t)
y(t) = C.2L(t) +1 u(t) -
Donde x. es el vector de estado de orden nxl; u e y son escalares en sis_
temas de una entrada y una salida; A_, B_, C_ y D_ son matrices y en este
caso tienen órdenes nxn, nxl, Ixn y 1x1 respectivamente.
En esta parte se revisará la teorfa necesaria que sirva de soporte para
la implementación de un programa computacional que realice la discretj_
zación de las ecuaciones de estado. En pocas palabras, discretizar un
sistema continuo es encontrar las matrices E_, "£, G_ y ti_ de las ecuacio_
nes de estado discretas en función de A_, B_, C_ y D_.
Para una mejor comprensión del desarrollo matemático, consideremos el
sistema de control discreto de la Fig. 1.10. en el que la planta es con
34
tinua; evidentemente, un sistema continuo no puede trabajar con señales
discretas y por eso se utiliza un retenedor de orden cero (ZOH) para
transformar u(kT) en una señal cuantizada u*(t)s continua a segmentos;
la salida y(t) es continua y se la convierte en la señal discreta y(kl)
usando un muestreador que puede considerarse como un interruptor que
se cierra cada intervalo de tiempo T, donde T se conoce como el perío-
do de muestreo, permaneciendo cerrado un tiempo infinitecimal, de tal
manera que, en este instante y(t) y y(kT) tienen exactamente el mismo
valor. El lazo de control se cierra mediante un compensador discreto.
Tanto el retenedor, como el muestreador deben trabajar a la misma fre_
cuencia de la señal de referencia r(kT).
ríkT)
u(kT)7 OH
^\)
Pt-ANTA CONTINUAX = A X + B u
MU
u / t \ vi i
MUESTREADOR
COMPENSADOR
y (kT )
Fig. 1.10. Sistema de control discreto para una planta continua
Para la discretización de las ecuaciones continuas vamos a partir del
conocimiento de la solución de la ecuación de estado continua:
x(t) - e.
la misma que nos permite calcular el valor del vector de estado para
cualquier instante t > t0 a partir del conocimiento del valor inicial
de los estados _x_(t0), la señal de entrada u(t) para t >_ t0 y la matriz
de transición de estado continua o_ — " °' para sistemas invariantes en
35
el tiempo.
Como se dijo anteriormente, la excitación de la planta análoga u*(t) es
una señal cuantizada que matemáticamente se la puede definir así:
u*(t) = u(kT) kT <_ t < (k+l)T .
Es decir, que permanece constante durante todo el periodo de muestreo T,
e igual al valor de la señal discreta u(k), gracias a la acción del re_
tenedor de orden cero (ZOH). Consideremos _x(kT) como el valor inicial
del estado al tiempo t0 = kT, utilizando la ecuación 1.7. el valor del
estado para cualquier instante kT <_ t <_ (k+l)T estaría dado por:
t
x(t) = e *(t-kT) x(kT) + [ JL-(1>T) i u- (T) d T.
kT
Donde U*(T) es constante, igual a u(kT) y se la puede sacar fuera1 de
la integral; entonces:
x(t) = e>(t-kT) x(kT) + i e A(t-T) id T u(kT)
kT
De donde se puede calcular x_(t) para cualquier instante de tiempo t en
el intervalo kT < t _< (k+i)T;sin embargo, el muestreador que se ha coloca-
do después de la planta se cierra solamente en t = (k+l)T, por tanto,
este es el único valor del estado que interesa conocer desde el punto
36
del sistema de control discreto.
kT
La ecuación anterior describe completamente la dinámica de la planta con_
tinua dentro de un modelo discreto. Examinando su estructura vemos que,
como la ecuación de estado discreta, permite determinar el estado en ba_
se a su valor anterior y al anterior de la señal de entrada,se concluye
entonces, que las matrices £ y £ del equivalente discreto dependen de A_
y B_ de la siguiente forma:
= e-T : (1.8)
kT
La expresión de £ se simplifica significativamente introduciendo el cam_
bio de variable: t = (k+l)T •- T y recordando que para sistemas invarian_
tes _B es constante.
T
£= f e -1 dt B . (1.9)J ~ ~~
•O
En cuanto a la ecuación de salida,dada su estructura, para discretizarla
basta reemplazar t por kT, obteniéndose:
y(kT) - C x(kT) + D u(kT) .
37
De donde G_ = C_ y H_ = D_ para el equivalente discreto. En resumen, la
discretización de las ecuaciones de estado continuas requiere de la so^
lución matemática de las funciones matriciales 1.8. y 1.9.; de 1.8. se
deduce que £ coincide con la matriz de transición de estado continuo y
por tanto, todos los métodos desarrollados para la determinación de es_
ta matriz pueden ser usados para calcular F_; de esos, el más práctico -
desde el punto de vista computacional es el que se basa en el desarro-
llo en series de Taylor, para funciones escalares, aplicado al caso m^
tricial; para este método 1.8. puede escribirse como la siguiente suma
infinita:
E *> T r n T i _rV i M= e — = I + AT + — — + ~o
Evidentemente, el método es aproximado porque la serie debe ser trunca_
da cuando los términos empiezan a tener valores despreciables. La.ecua^
ción anterior se reescribe así: •
E = I + A T E ,
AT A2T2Donde, 2 = 1 + + +
2! 3¡
La integral de 1.9. para determinar F_, se puede evaluar por varios m£
todos aproximados como el método rectangular o el método de trapecios
usados para la integración de funciones escalares. Otro camino para
evaluar 1.9. es utilizar el desarrollo de series anterior, es decir:
T
" I I + At + =—- + ~ + . . - dt B_J I 2! 3!O
38
Integrando cada término:
A T2 A2T3 A3!1*I T +
2! ' 31 4!
utilizando la matriz _E_ la expresión anterior se simplifica asi
La discretización mediante series se reduce entonces a calcular la ma_
triz 2 ; este cálculo puede simplificarse, usando la serie truncada:
ATT +X r
2
ATT -i
L" 3
ATT 4-1 T^ . . .
P-l
ATT !1 1
L P....
Donde P es el numero de términos al cual se ha truncado la'serie; el va_di
lor de P se obtiene mediante un criterio desarrollado por H.M. Paynter
que consiste en resolver, en forma aproximada, la inecuación:
-i- (nq)P enq £ 0.001Pl
El parámetro q es el producto del período de muestreo T y el valor abso_
luto del elemento de mayor magnitud de la matriz A_; y, n es el orden de
la matriz A.
Para efectos de comparación, tanto para comparar los resultados, como
para evaluar el tiempo de procesamiento, el programa de discretización
permite calcular la integral 1.9. por dos métodos; el de series ante-
rior y el método de trapecios,que se explica a continuación, extendien-
do al álgebra matricial el,método trapezoidal para la integración numé_
^'Revisar: Control and Dynamic Systems, Takahashi, 1970, p. 103.
39
rica de funciones escalares reales.
La Integral de la función escalar de la Flg. 1.11. en el Intervalo
O <_ t £ T requiere dividir el área bajo la curva en k trapecios de
Igual longitud At y de área a-j, entonces:
T
I f(t) dt = ¿ ais
J 1-0 .
f(t;
Flg. 1.11. Aproximación trapezoidal de la Integral de una función- esca_lar
donde, a-j = - - [f[(i+l)At] - f (.lAt) ] At + f(iAt) At
simplificando, an- = ~ [f [(i+l)At] + f(iAt)] At ,
usando estos resultados,la Integral sería:
/f(t) dt = C ~ \ f(1+l) At] + f(iAt) 1 At1=0 ¿ L J
SI se extiende la fórmula anterior al caso matrlclal para la Integral -
40
de 1.9.:
F = e^dtk-1£1=0
e/\jAt I At .
Los desarrollos matemáticos que se han realizado tienen como finalidad
permitir la implementación de algoritmos computacionales. Para fina-
lizar, desarrollemos un ejemplo de discretización usando el método de
series para evaluar la integral 1.9.
Ejemplo 1.3. Discretizar el sistema continuo
X l ( t )
*z(t)
0 1
0 -2
X i ( t )
x 2 ( t )
*0
1u(t) ,
con T = Is1 .
De acuerdo con el método descrito, debemos calcular la matriz;
ATL = i + —
'2I + ...
AT
P-l
AT—P
Donde P se determina de la formula de Paynter:
(2q)P e2q < 0.001 .
El elemento de mayor valor absoluto de A es -2, por tanto,
q = T -2 = 2 ;
41
entonces,la inecuación es:Pl
P 44 e < 0.001 .
Partiendo de un valor inicial pequeño para P que podría ser eventualmej^
te cero, se incrementa P de uno en uno hasta que se cumpla con la ine-
cuación de Paynter; aplicando este procedimiento a la inecuación ant£
rior, se encuentra que P = 18. Con el objeto de revisar la precisión -
que permite alcanzar esta fórmula; se indican a continuación los valo-
res de 2 para P = 14 y P = 15.
(P=14) = I +AT AT AT
"13
AT
0.283839
0.432332
I (P=15) =
0.283839
0.432332
Con una precisión de 6 decimales los resultados para P = 14 y P = 15
son exactamente los mismos; es decir, que la fórmula de Paynter permite
realizar cálculos muy exactos. Para finalizar, se presentan las matri_
ees E y F del sistema discreto resultante.
E = I + AT
0.432
0.135
Capítulo II : ANÁLISIS EN EL ESPACIO DE ESTADO
2.1. Estabilidad.
2.2. Controlabili dad.
2.3. Observabilidad.
2.4. Diseno en el Espacio de Estado,
2.5. Controlador.
2.6. Estimadores.'
43
2.1. ESTABILIDAD
En el análisis de sistemas de control, .sean éstos, cont-inuos o discre_
tos, el primer paso a seguirse es determinar si el sistema es estable
o no, como un criterio básico para el diseño del tipo de controlador a
implementarse; porque en ultimo término, un sistema inestable requerj_
rá de un controlador más complejo.
En la prácticas existen una gran variedad de criterios para analizar -
la estabilidad de un sistema discreto^ ' que, en su mayor parte, son
una extensión de los criterios desarrollados para los sistemas conti_
nuo's. En el presente estudio, no se hace un análisis profundo de los
criterios existentes, pero en cambio, se deduce la región de inestabi-
lidad en el plano z en base al conocimiento de las correspondientes re_
giones de plano sy a la relación que existe entre ellos.
En definitiva, la estabilidad del sistema discreto se determina como
consecuencia de la posición de sus polos en el plano z; para el cálcu_
lo de los polos se encuentran los coeficientes de la ecuación caracte_
rística usando el algoritmo de Leverrier visto en el numeral 1.2. , si-
guiendo un procedimiento similar al utilizado en el ejemplo 1.1.
Es muy conocido, que para un sistema continuo, la estabilidad depende
de la posición de los polos en el planos; si al calcular las raices
del polinomio característico, los polos se ubican en la parte izquier-
da del plano complejo, el sistema en análisis es estable, de otra mane
(1) Revisar la tesis MÉTODOS Y PROGRAMAS COMPUTACIONALES PARA EL ANAL^SIS DE ESTABILIDAD DE SISTEMAS DISCRETOS, Bernardo Morales, E.P.N.,1983.
44
ra, el sistema será inestable. Para el caso de los sistemas discretos,
la estabilidad se determina utilizando el plano z, pero la región de
inestabilidad es diferente como veremos a continuación. •
Consideremos la función f(kT) que se indica en la Fig. 2.1; la transfor.
mada Z correspondiente está dada por:
F(z) = E f(kT) z'k . (2.1)
Para ver la relación que existe entre el plano z y el plano s, obtenga-
mos la transformada de Laplace de f(kT), para lo cual es necesario ex-
presarla como una función de t:
f(t) = E f(kT) 6(t-kT) ,k=0
Donde 6(t-kT) es la función impulso unitario; entonces, la transformada
de Laplace esta dada por: , - .
F(s) = E f(kT) e*kTs . (2.2)
En todas las ecuaciones se puede considerar que T es el período de mues_
treo. Comparando las expresiones de 2.1. y 2.2. se concluye inmediata-
mente "que la relación entre la transformada Z y la transformada de La-
place de f(kT) es:
= esT
Esta misma relación permite pasar del plano s al plano zy viceversa. En
la Fig. 2.2. se indica un gráfico del plano s con las respectivas regio
45
f í k r ) A
T 2T 3T 4T 5T 6T 7T
Fíg. 2.1 Seña l de t i e m p o d i s c r e t o
KT
Fig. 2.2. Plano complejo S
nes de estabilidad e inestabilidad; en base a este gráfico y mediante -
la transformación anterior, vamos a obtener lo propio para el plano com_
piejo 2, tomemos un punto cualquiera del plano s:
s = a + jw
La proyección de este punto en el plano z seria:
2 = e
46
oí jwTz = e e°
De donde el módulo esta dado por e0 y ej es'el desplazamiento angu-
lar del vector que une al punto z con el origen, a partir del eje real
positivo. Si a es negativo el es menor que uno y cuando a tiende
a menos infinito el | z | tiende a cero; si por el contrario, a > O enton_
ees | z | > 1; y, para c = O, z | = 1. Dada la relación entre cualquier
valor de a y el módulo de z, tenemos que un punto de la parte izquierda
del plano s se proyecta en el plano z dentro de un circulo de radio unj_
PLANO z
Real Z
Fig. 2.3. Plano complejo z
tario, mientras que, cualquier punto de la parte derecha del plano s se
proyecta fuera del círculo unitario; y, el eje jw de s corresponde exac_
tamente a la circunferencia de radio uno del plano z, que es también, el
límite entre estabilidad e inestabilidad como se ve en la Fig. 2.3. En
conclusión, un sistema discreto lineal e invariante es estable, si sus
polos se ubican dentro del círculo unitario; en otras palabras, se tie_
ne estabilidad cuando las raíces de la ecuación característica:
det [ z l_ - E;] = O ,
47
tienen su módulo menor que uno.
Ejemplo 2.1. Consideremos un sistema discreto cuya descripción a varia-
bles de estado es:
x2(k+l)
o i
y(k) = [o i]
u(k)
Para saber si el sistema es estable o no encontremos el polinomio ca-
racterístico usando el algoritmo de Leverrier:
Det (z _!_ - E) = z2 + oí! z + ct2
ai = - tr E Fi/1 = - tr E F! .
Fi = I ;
entonces = - tr E = - (O + 2) = -2
"o r
1 2
+ (-2)
" l 0 *
_ 0 1 _
=
"-2 1 "
1 0
tr E F2 = - 1 tr2 tr
" 0
1
r
2
r -2
1
1 "
0
tr
48
Para comprobar se debe c u m p l i r que:
£ F_2 + c¿2 J_ = O
Del cálculo de c¿2í el producto £ _F2 es la matriz J_; además, ctz = -1, por
tanto, se satisface identidad anterior. La ecuación característica es:
.z2 - 2 z - 1 = O
Las raices son: = 1 + j /2
z2 = 1 - j /2
Para este ejemplo, los polos son complejos y su módulo es / 3, indicando
que el sistema es inestable, porque se ubican fuera del círculo unitario
como se ve en la Fig. 2.4.
49
Flg. 2.4. Ubicación de polos de ejemplo 2.1.
2.2. CONTROLABILIDAD
La controlabilidad es una característica estructural de un sistema que
indica si es posible o no ejercer control; intuitivamente, se puede d£
cir que un sistema es controlable cuando la señal de entrada afecta o
cambia de alguna manera el valor de los estados o el valor de la salida;
para un estudio más detenido veamos las siguientes definiciones:
- Un sistema descrito por las ecuaciones:
x(k+l) = E x(k) + F u(k)
y(k) = G x(k) + H u(k) ,
(2.3)
(2.4)
es controlable si para un estado inicial x(Q) existen, un conjunto de
50
señales de entrada: u(0), u(l) , . . . ,u(k) que permiten transferir el
estado a un valor xjk) en un tiempo finito k > 0.
A partir del conocimiento de las ecuaciones de estado 2.3. y 2.4., se
puede desarrollar un método para verificar si se cumple la definición -
anterior; utilicemos la ecuación:
jc.(k+l) = i x.(k) + £ u(k) ,
sabemos, de la teoría anterior, que su solución es
k-1
La expresión anterior puede reescribirse así:
x(k) - Ek x(0) = E- E 1'-1 F u(i)i=0 ~
Cambiando el sumatorio a una forma matnc ia l :
x.(k) - E x(Q) = f £ F u ( k - l )
u ( k - 2 )
u ( 0 )
(2.5)
Si a(k ,0) = x (k ) - EK x(0)
Q. = [f. II I2E • • • Í L]
La ecuación 2.5. se puede escribir:
51
a_(k,0) = Q_ u_ f (2.6)
Donde a_(k,0) es un vector de orden nxl; Q_ es una matriz cuyo orden es
nxkr; y, u_ es un vector k r x 1, siendo r el número de entradas para
sistemas multivariables. Si se analizan sistemas de una entrada y una
salida, Q_ es una matriz cuadrada nxn y u. es un vector nxl.
Se dijo en la definición, que dados un estado inicial, uno final y las
matrices del sistema deberían existir un conjunto de controles u(i) con
i = O, l,...,k, tales que ocurra la transición; con esta idea, podemos
decir que la ecuación matricial 2.6. es un sistema de ecuaciones linea_
les, en donde, las incógnitas son precisamente los elementos del vector
u_. Para que exista solución es necesario que las ecuaciones seanlineal_
mente independientes y la condición necesaria y suficiente, para que es_
to se cumpla, es que la matriz Q sea de rango n, en el caso de sistemas
con varias entradas; o simplemente, no singular cuando se tiene una so_
la excitación. Por lo tanto, un sistema discreto lineal e invariante
es controlable siempre y cuando la matriz Q^ sea de rango n.
La idea de controlabilidad tiene un significado más real que matemático
como se verá en la siguiente definición.
- Un sistema discreto cuyas ecuaciones son 2.3. y 2.4. es controlable ,
si al usar una transformación de semejanza que cambie la matriz E_ a
una forma diagonal ¿, todos los nuevos estados están conectados a la
señal de entrada.
Es decir, supongamos que se hace la transformación:
52
x.(k) = I v.(k) .
Donde J es una matriz compuesta por los vectores propios de _E. Las ecua_
clones 2.3. y 2.4. cambian a la forma:
v(k+l) = i v(k) + r u(k) (2.7)
y(k) = ¥ v(k) + H u(k) (2.8)
Donde: = T'1 E T
r = r1 F
La forma diagonal obtenida permite el desacoplamiento de los estados co_
mo lo indica el diagrama de bloques general de la Fig. 2.5.; de acuerdo
con la definición, el sistema es controlable si ningún Yi es cero. La
o W,
«Wa
11 ^ r n
Z
Z - A no Wn
Fig. 2.5. Segmento del diagrama de bloques de la forma diagonal
53
matriz Q, en este caso,tiene la forma:
Q =
Yi Yi X]
Y2 X2
Yi Xn-1
n-1
Si algún y. es cero Q_ tendrá una fila llena de ceros y su determinante
será cero, es decir, cumple con la prueba desarrollada anteriormente. En
esta parte hemos asumido que los valores propios son diferentes; cuan-
do los valores propios se repiten aparecen bloques de Jordán en la ma-
triz i como en el siguiente ejemplo:
i =
O X2 o O O
O O X3 o O
El diagrama de Aloques correspondiente se indica en la Fig. 2.6.; la ma_
triz de controlabilidad ¿ para este caso es:
54
Q =
Yi
Y2
T3
Ys
revisando la estructura se deduce que, el sistema es controlable aun
cuando jn sea cero, pero Ys n° puede ser cero; en general, cuando un si^_
tema tiene valores propios repetidos existe un bloque de Jordán para cai_
da valor propio y es controlable cuando todos los elementos de r_ que co_
rresponden a la última fila de cada bloque de Jordán son distintos de ce_.
ro. En esta parte, se han considerado sistemas de una sola entrada; y,
Fig. 2.6. Diagrama de bloques de la forma diagonal con valores propiosrepetidos.
como conclusión: para averiguar si un sistema es controlable se hace la
55
transformación de semejanza que permite obtener la forma diagonal y se
verifica que todos los elementos de r sean distintos de cero, cuando
hay valores propios repetidos, algunos de los elementos 'de £ pueden ser
cero.
Existen otras formas alternativas para averiguar, si un sistema es con_
trolable o no, como ejemplo tenemos la prueba de Rosembrock - Hautus -
Popov. Según esta prueba un sistema es controlable si la matriz:
z I - E
tiene rango n.
Desde el punto de vista computacional, es más práctico estructurar la
matriz Q_y averiguar si su. determinante es cero o no, en el caso de una
sola entrada; por tanto, este procedimiento se tomará en cuenta para
el diseño del programa de controlabilidad. Apliquemos la teoría que se
ha visto al siguiente ejemplo:
Ejemplo: 2.2. Determinar si el sistema de la Fig. 2.7. es controlable.
Fig. 2.7.
Las ecuaciones de estado son:
56
u(k)
x2(k+l) = xz(k)
Para controlabilidad las matrices de interés son:
r- „
1/2 1
F =
1/2
Como el orden del sistema es 2, la matriz de controlabilidad seria
i= [i IIIL J
Q =
1/2 1/2
El determinante de Q_ es cero, Q_ es singular y el sistema es incontrola__
ble.
El análisis de controlabilidad es una tarea muy simple, cuando se lo
hace en el espacio de estado y se dispone de la ayuda de un computador
digital especialmente para sistemas de órdenes superiores.
57
2.3. OBSERVABILIDAD
Al igual que la controlab-ilidad, la observabilidad es una característi-
ca interna del sistema y se utiliza mucho. para realizar control median_
te realimentación de estado, porque indica si es posible o no estimar
los estados; una definición formal es:
- Un sistema cuyas ecuaciones de estado son 2.3. y 2.4. es observable,
si un estado inicial x_(0) puede ser determinado de las mediciones de
y(k) y u(k) para k = O, 1,...,N; donde N'es un instante finito.
Para esta definición también es posible desarrollar una prueba en base
a las ecuaciones de estado; pero, en este caso intervienen las matrices
_E y &_ . Recordemos las ecuaciones de estado:
x.(k) + £ u(k)
.y(k) = Gx(k) + H¡ u(k) .
Para la mayoría de casos la ecuación de salida se reduce a:
y(k) =£.x(k) .
De la ecuación anterior se ve que es posible determinar el estado solja_
mente de las mediciones de la entrada y la salida. Las respuestas suce
sivas para k = 0,...,N son:
y(0) = G.x.(0)
58
= G__E x.(0) + G_£ u(0)
y (2) = G_i2 x.(0) +^_EF_u(0) + G_£
y(k) = i I x(0) + G_ E. £u(0) + ... + G_£u(k-l)
y(N) = G_i x.(0) + i "1 £ u(0) u(N-l)
Usando notación matricial:
' y ( o ) "
y(D
•
. i
y(N)
=
" G _
il*
•
G E N
x(0) +
G F . O
G E F G F O
G EN~1 F G EN~2" F .... G F O
u(0)
u(D
u(N)
Si se define:
(2.9)
R =
G_
G _ £
•
u".
£ =
0 0 . . . . \ F 0 . . . .
0
N-l N ?i I £. i I I . . i £
59
La ecuación 2.9. se escribe:
= R__x(0) + p_ u_ (2.10)
Donde es el vector de valores de la respuesta y(k) medidos, su orden
es Nxl; x_(0) es el vector de estados que se desea conocer, el orden es
nxl; y, _u_ es el vector que contiene la secuencia de señales de entrada
u(k), el orden es Nxl. Arreglando 2.10. se obtiene:
y - P_ u_ = (2.11)
Por el teorema de Caley - Hamilton, las ecuaciones para N > n son una
combinación lineal de las anteriores; si N < n-1 el sistema de ecuaci^_
nes 2.11. no tiene solución única; por tanto, N = n-1. La ecuación -
2.11. tiene una estructura muy similar a la ecuación 2.6. que se desa._
rrolló para controlabilidad, pero en este.caso las incógnitas son los
estados e igualmente la solución de 2.11. requiere que R sea de rango
n. Como conclusión; un sistema descrito por las ecuaciones 2.3. y 2.4.
es observable si la matriz:
R =
G
E G
E"'1 G
tiene rango n. Si existe una sola salida, G_ es un vector fila y R^ es
una matriz cuadrada nxn; el sistema es observable si R_ es no singular,
es decir, si el determinante de R es distinto de cero. Enesta tesis -
60
se analizan los sistemas de una entrada y una salida, por lo tanto, me_
diante el programa correspondiente se encontrará la matriz R_ y se ca_l_
culará su determinante.
Al igual que en controlabilidad, existe otra forma de estudiar la ob-
servabilidad, utilizando los valores propios como se manifiesta en la
siguiente definición:
- Un sistema descrito por las ecuaciones 2.3. y 2.4. es observable, si
en la forma diagonal correspondiente, ecuaciones 2.7. y 2.8.,ninguno
de los elementos de ¥_ es cero.
Esta afirmación es válida cuando todos los valores propios son disti_n_
tos, un ejemplo ilustrativo es el diagrama de bloques de la Fig. 2.8.,
los elementos de ¥ son: ai, a2, a3 y todos deben ser distintos de cero.
o y
Fig. 2.8. Diagrama de bloques de la forma diagonal
para que el sistema sea observable. Si los valores propios tienen muj_
tiplicidad, la matriz Atiene varios bloques de Jordán; realizando un
desarrollo parecido al que se hizo en controlabilidad, se encuentra -
que todos los elementos de y_ que corresponden a la primera columna de
61
cada bloque de Jordán deben ser diferentes de cero para que el sistema
sea observable.
Hasta aquí se han visto las definiciones fundamentales de controlabilj_
dad y observabil idad; a continuación, vamos a revisar des propiedades
interesantes desde el punto de vista de control.
Aunque no se puede analizar, si un sistema es controlable u observable
con el conocimiento de la función de transferencia; sin embargo, se
puede demostrar que si existen cancelaciones entre polos y ceros, el
sistema es incontrolable, inobservable o las dos cosas a la vez. Para
probar esta afirmación, se parte de las ecuaciones.de estado:
= E
y(k) <= G_>i(-
Realizando la transformación de semejanza para la forma diagonal , las
ecuaciones son:
v_(k+l) = ¿y.(k) + I u(k) (2.12)
y(k) = Y v.(k) . (2.13)
La ecuación matricial 2.12. representa un conjunto de ecuaciones de la
forma:
v.(k+l) = X- v.(k) + y- u(k) ,
62
bajo condiciones iniciales nulas, se puede determinar la transformada
Z de la ecuación anterior; entonces:
Vn-(z) =Ti
U(z) .
Si se tiene una salida, la matriz f es de la forma
Sacando la transformada Z de la ecuación (2.13), la respuesta del siste_
ma es:
Ti
Y(z) = [ai n]
Z r Al
• 72z - Xz
z - A,
U(z) ,
multiplicando los vectores, se tiene que:
n a- Y,-E -L- -
Y(z)
U(z)
Si un polo es cancelado por un cero, uno de los términos de la suma de_
be ser cero; es decir, que para algún i = 1,...., n:
i Ti = O .
63
De donde a-\ O ó YÍ = 0; y» ¿e ^a teoría anteriormente revisada, eso
significa, que el sistema es incontrolable o inobservable.
Para terminar este numeral, analicemos el efecto que tiene la realimen_
tacion de estado sobre las características de controlabilidad y obser_
vabilidad de un sistema, que por facilidad, está descrito por las ecuci_
ciones 2.12. y 2.13.; es decir, en la forma canónica de Jordán; gráfi-
Fig. 2\9. Diagrama de bloques-de la forma diagonal con realimentaciónde estado.
camente se indica el diagrama de bloques del sistema con realimentación
de estado, a través del bloque K, en la Fig. 2.9. Para el sistema rea_
1 imantado la señal de entrada a la planta es:
e = u - _K _x ,
Para esta señal de entrada escribamos la ecuación de estado en base a
2.12.
r_ [u(k) - k.
64
De donde:
x(k+l) = [¿ - £ je] x(k) + £ u(k) .
La ecuación de salida no sufre variaciones y es igual a 2.13., es decir
que:
y(k) =
Las matrices £y ¿permanecen invariantes al realizar la realimentación
de estado y eso significa, de la teoría desarrollada anteriormente, que
las características de controlabilidad y observabilidad no cambian.
2.4. DISEÑO EN EL ESPACIO DE ESTADO
El principal problema del diseño de sistemas de control es lograr que
la respuesta de la planta cumpla con ciertas características predeter-
minadas, en base a la utilización de algún dispositivo como puede ser
un compensador que modifique la dinámica de la planta, de tal manera
que, cambie la forma de su respuesta transitoria, por ejemplo.
Existen varias técnicas para mejorar la respuesta de un sistema y una
de las más utilizadas es la asignación arbitraria de polos en el plano
s o z para sistemas continuos o discretos, respectivamente; esta técni_
ca es especialmente útil cuando se realiza la compensación de sistemas
mediante la realimentacion.de los estados, porque se puede cambiar fa_
cilmente la ubicación de los polos.
En este numeral nos dedicaremos a encontrar las regiones del plano z
65
donde deben ubicarse los polos del sistema, de tal manera que, su res-
puesta tenga las características deseadas; para lo cual, utilizaremos
la relación que existe entre las especificaciones de la respuesta de
un sistema continuo y la ubicación de sus polos en el plano s, se en_
contrarán las regiones del plano s donde deben ubicarse los polos para
cumplir con los requerimientos de respuesta y luego, se usará la trans_
sTformación z = e . El análisis de la relación entre las especificaci^
nes de respuesta transitoria de un sistema continuo y la ubicación de
sus polos en el plano s se hace para un sistema de segundo orden cuya
función de transferencia es:
C(s) „ wn2R(s) s* + 2g.wns + wn2
Donde C(s) es la transformada de la respuesta, R(s)' es la transformada
de la señal de entrada, que en este caso, se considera como una señal
paso unitaria:
r(t) = 1 , para t _> O
R(s) = 1/s
Los parámetros de la función de transferencia se han escrito en térmi-
nos de la frecuencia natural wn y de la relación de amortiguamiento £.
El sistema en consideración, es de lazo abierto como se ve en la Fig.
2. 10. (a); en 2.10.(b) se indica el plano s presentando laubicación de
los polos que,en forma matemática están dados por:
66
El caso más general de la respuesta,se obtiene cuando los polos de la
planta son complejos conjugados; es decir:
Pi>2 = - ± j wn /I - ?2 , cr .= 5 wn
± j Wd
Si el sistema es excitado por una señal paso, la transformada de Lapla_
Fig. 2.10.(a) Sistema continuo de segundo orden, (b) Ubicación de po_los en el plano s.
ce de la respuesta es:
C(s) =2 + 2 wn
Descomponiendo en fracciones parciales y usando las tablas para encon_
trar la transformada inversa, la respuesta en función del tiempo seria:
c(t) =- 1 - e"at [eos wdt sen wdt] . (2.14)
1 -
67
La señal de salida c(t) depende exclusivamente de £ y de wn; en la Fig.
2.11. se gráfica1 c'(t) para varios valores de 5 V la dependencia de la
frecuencia natural se introduce en la escala del eje horizontal. Lo
primero que se puede apreciar en la Fig. 2.11. es que, mientras menor
•í 5 6 7
Tiempo normalizado, utlt11 12
Fig. 2.11. Respuesta de un sistema continuo de segundo orden a una se-ñal escalón unitaria para diferentes valores de £.
fi) Tomado de Retroal i.mentación y Sistemas de Control, Distefano J., 1981, p.42
68
es la relación de amortiguamiento, mayor es el sobreimpulso inicial Mp
de c(t); en el limite, si £ = O, c(t) es una cosinusoide pura con una
componente DC igual a su valor máximo y el sobreimpulso es uno. Mate_
máticamente se puede demostrar que los máximos y mínimos de c(t) ocu-
rren en los instantes t = nir/wd con n = 1, 2, 3, 4,...; entonces, 'el
sobreimpulso inicial se produce en t = irr/wd, el error entre la entrada
y la salida es:
e(t) = 1 - c(t)
= e-crt eos wdt + . ^ . - sen wdt (e.15)
De donde el máximo sobreimpulso está dado por:
Mp =
con la expresión anterior se puede realizar un gráfico del porcentaje
de sobreimpulso en función de 5 con el fin de establecer una relación
más simple para Mp; en la región de interés se cumple que:
% Mp = (1 - 5/0.6) 100 .
En el plano s, si los polos se ubican a lo largo de una recta de pen_
diente constante o de £ constante, el sobreimpulso de la respuesta es
siempre el mismo. Si el polo se ubica por encima de la' recta, el va_
lor de 5 disminuye y el sobreimpulso aumenta; en cambio, si el polo
está por debajo, £ aumenta y Mp disminuye; en definitiva, la respues-
ta del sistema tendrá un cierto sobreimpulso si sus -polos se ubican
dentro de una región limitada por dos rectas cuya pendiente es fun-
69
clon del Mp permisible, en la Fig. 2.12.(a) se Indica esta reglón; y,
además, se sombrea parcialmente la zona prohibida para la ubicación de
polos. Para el plano z debemos encontrar la reglón equivalente, usan-
do la relación z = es ; cuando los polos se ubican sobre una recta de
pendiente constante, en el plano s, se relacionan entre si con la ex-
presión:
s = - w tan O + jw .
Donde, w es cualquier punto del eje Imaginarlo del plano s y tan O es
la pendiente de la recta y función de £; en el plano z el lugar geome_
j imPLANO Z
aumenío de!sobreirnpulso
=cte
disminución delsobreimpufeo
disminución delsobreimpulso
Fig. 2.12. Lugares de £-constante (a) en el plano s y (b) en el plano z.
trico correspondiente estaría dado por:
z = e(-w tan Q + jw)T
wT k = T tan
70
Donde, k es una constante y la expresión de z corresponde a una espiral
decreciente; la recta de pendiente negativa de s equivale también a
una espiral en z, pero con el ángulo negativo; y, la reg.ión entre las
dos rectas corresponde a la encerrada por las dos espirales siendo este
el sitio donde deben ubicarse las raíces; en la Fig. 2.12.(b) se indica
en forma aproximada las espirales y se sombrea el inicio de la zona no
permitida para los polos.
Otra característica importante de c(t), desde el punto de vista de con_
trol 5 es el tiempo de establecimiento ts de-finido como el tiempo que
tarda la señal hasta cuando las oscilaciones estén enmarcadas dentro de
un cierto porcentaje de su valor final, en nuestro caso, vamos a consj^
derar que la señal se estabiliza cuando la amplitud de la oscilación es
el 1% del valor final, que para el sistema en análisis es uno; la ecua-
ción de error 2.15. puede reescribirse:
-£wnte(t) = f sen wdt + tan"
De donde se ve que existen dos envolventes para la amplitud de las oscj_
1 aciones del error como se indica en la Fig. 2.13.5 la constante 'de
tiempo de las envolventes es T = 1/5 Wn; en forma aproximada se cumple
que para una tolerancia del 1%, el tiempo de estabilización:
ts = 4.6/a - 4.6/5 wn
= 4.6/a
depende exclusivamente del valor real de los polos y disminuye confor-
71
c(/)J
Fig. 2.13. Envolventes exponenciales de la respuesta
me los polos se desplazan hacia la izquierda del plano s; dando un va_
lor máximo para ts,es factible trazar una recta en s de a constante e
igual al valor ai; véase Fig. 2.14.(a), los polos deberán ubicarse a
PLANO s
disminuyeís
cúnenlats
a)
jwPLANO Z
aumenta ts
i b )
Fig. 2.14. Lugares de cr = £ wn constante en el planos (a) y en el planoz (b).
la izquierda de esta recta o sobre ella para que la respuesta tenga un
tiempo de establecimiento menor o igual al especificado. Los puntos
^ Tomado de Ingeniería de Control Moderna, ogata K., 1974, p. 255.
72
del plano s que se ubican sobre la recta se expresan asi
s = - a: + jw .
Pasando estos puntos al plano z, se obtienen los puntos
2 =
wT
al igual que el eje jw se transforma en una circunferencia unitaria, la
recta de a constante se transforma en una circunferencia de radio e"ai
menor que la unidad, porque aa es negativo; los polos deberán ubicar-
•se dentro de esta circunferencia para que la respuesta de un sistema
discreto cumpla con la especificación de ts, en la Fig. 2.14.(b) se es_
quematiza lo dicho anteriormente y se sombrea parcialmente la zona
prohibida para las raíces.
La tercera característica de la respuesta que nos interesa es el tiem-
po de subida tr definido como el tiempo necesario para que c(t) alcan_
ce su valor final por primera vez; utilizando la expresión de la res-
puesta dada por 2.14., tr se determina de:
1 = 1 - e~a eos wdtr + . sen wdtr
De donde:
tan- wdtr = _
73
wdtr = tan" wd
De la Fig. 2.10(b) tan"1 wda
tr = TT -
= TT -
7T -
wd wn /I -
SI la relación de amortiguamiento es constante
tr = wn k = 7T -
el tiempo de subida disminuye con el aumento de la frecuencia natural
wn, que es la distancia desde el polo hasta el origen del eje de coor-
denadas del plano s, el lugar geométrico de Wn constante es la semicir_
cunferencla que se Indica en la Fig. 2.15,(a), para cumplir con cierto
requerimiento de tiempo de subida, los polos deben ubicarse a la Iz-
quierda de la semicircunferencia; los puntos de s que se ubican sobre
la semicircunferencia se representan matemáticamente así:
s = wn (eos 9 + j sen 9) , 2 ^Tí2
En el plano z el lugar geométrico de los puntos de. wn constante está
dado por:
2 = ewnT(cos 9 + j sen 9)
eos 9 wnT sen 9
La expresión anterior no se puede graflcar fácilmente, pero en la Fig.
2.15.(b) se Indica aproximadamente una trayectoria de wn constante sub
74
P L A N O S P L A N O Z
( a )
Fig. 2.15. Lugares de wn constante (a) en el plano s y (b) en el plano z
rayando parcialmente la región prohibida para las raíces cuando se quie_
re un tiempo de subida menor o igual que un cierto valor.
Resumiendo, una vez que se tienen las especificaciones de tiempo de s
bida, máximo sobreimpulso y tiempo de establecimiento, el primer paso
de diseño es delimitar la región del plano z donde deben ubicarse los
polos con los criterios dados anteriormente, una típica región es la
que se indica en la Fig. 2.16. Existen gráficos normalizados del plano
z con los tres tipos de curvas necesarios para distintos valores, con
los cuales la ubicación adecuada de los polos es una tarea muy sencilla.
La asignación de polos en forma arbitraria es un criterio de diseño muy
fácil de aplicar, pero tiene el gran limitante de que no considera el"
efecto de los ceros en la respuesta; y, aunque para la mayoría de siste_
mas físicos, los ceros están ubicados de tal manera que no afectan a la
respuesta, revisemos la influencia de un cero real de acuerdo con supo_
sición en el plano z. Considérese la función de transferencia:
75
Fig. 2.16. Región del plano z para cumplir especificaciones de sobreim-pulso,tiempo de subida y tiempo de establecimiento.
C(s) ,
R(s)
wn s +
wn
Donde, zi es un cero real y como antes, el sistema tiene 2 polos cornpl^
jos conjugados ubicados a la izquierda del eje jw; en forma cualitativa,
si el cero .está muy alejado hacia la izquierda de la parte real de los
polos, su efecto en la respuesta es prácticamente nulo, pero, aumenta -
conforme se acerca al eje -jw; este efecto se traduce en un aumento del
sobreimpulso y en una disminución del tiempo de subida como se ve.en la
Fig. 2.17. , en la que se indica la respuesta c(t) a un paso unitario en
función de un parámetro a definido por:
Zi~ —
En el plano z, el efecto de un cero en la función de transferencia es
exactamente el mismo sobre la respuesta del sistema discreto; si el ce_
76
ro está alejado hacia la izquierda, es decir, cercano a cero o negati-
vo, su efecto es despreciable pero conforme se acerca al punto +1 el
sobreimpul.so de la respuesta aumenta y el tiempo de subida disminuye.
2,0
Fig. 2.17. Efecto de un cero en la respuesta de un" sistema continuo desegundo orden a una entrada paso unitaria.^
Para la mayoría de casos prácticos; los ceros en los sistemas .discretos
están cercanos al origen o son negativos; de ahí que, podemos usar el
método de asignación arbitraria de los polos en el diseño de sistemas
de control discreto. En el peor de los casos, si existe un cero que
afecta a la respuesta, podemos optar por colocar un polo muy cercano de
tal manera que, exista una compensación entre los efectos del polo y el
cero.
Para sistemas de orden mayor a 2, la asignación arbitraria de polos es
perfectamente aplicable, ya que, siempre es posible ubicarlos en el pla_
no z; de tal manera que, existan dos polos dominantes; no interesa prp_
Tomado de Ingeniería de Control Moderna, Ogata K., 1974, p. 263.
77
fundí zar en el efecto que produce un polo real adicional en un sistema
de segundo orden, pero, podemos mencionar que cuando está muy alejado
hacia la izquierda (dentro del circulo unitario) su efecto es despre-
ciable y su influencia aumenta cuando se acerca a la parte real de los
polos dominantes y al punto 1; su efecto es totalmente contrario al
que produce un cero porque reduce el sobreimpulso y aumenta el tiempo
de subida.
Para completar este numeral se quiere indicar cómo se debe elegir el
período de muestreo T que se ha mencionado con frecuencia en numerales
anteriores. No hablaremos del mínimo T que se puede usar porque esto
depende ya del tipo de elementos que componen al sistema; así, cuando
existe, por ejemplo, un computador en el sistema de.control el mínimo
T dependerá de su velocidad de procesamiento.' En cuanto al máximo va^
lor de T, según el teorema del muestreo, la frecuencia de muestreo 1/T
debe ser por lo menos dos veces más grande que la mayor de las frecuen_
cias de la señal continua que -se desea muestrear; en nuestro caso, 1/T
deberá ser al menos cinco veces" mayor.
En sistemas de control discreto la elección de un período de muestreo
adecuado es de vital importancia cuando la planta es continua, notar que
casi siempre ocurre esto,porque los sistemas reales son continuos. Como
vimos en el numeral 1.4. para discretizar un sistema continuo se coloca
un muestreador en su salida; entonces, el período de muestreo dependerá
de la mayor de las frecuencias de la respuesta del sistema continuo. Se
indicó en este numeral que el tipo de respuesta de un sistema continuo
depende de la ubicación de sus polos en el plano s; efectivamente, re-
cordando la expresión para la respuesta de un sistema de segundo orden
78
a una señal paso dada por:
c(t) = 1 - e-ot eos wdt + , • : sen wdt
se comprueba que depende de la parte real a y de la parte imaginaria wd
de los polos. Si £ es uno, la respuesta será exclusivamente exponen-
cial y se deberá elegir el periodo de muestreo T en función de la cons-
tante de tiempo I/a; cuando £ es cero, c(t) es una cosinusoide y en ese
caso,T dependerá únicamente de la frecuencia natural del sistema wn; y,
en el caso en que £ tenga valores intermedios la respuesta c(t) tendrá
oscilaciones de amplitud decreciente,y entonces,para elegir T se debe
considerar la constante de tiempo I/a y la frecuencia amortiguada wd. Pa_
ra este sistema de segundo orden,! deberá ser cinco veces más pequeño
que el menor de los valores 4.6/a y 2ir/wd, donde 4.6/a es el tiempo ne_
cesario para que una exponencial cuya constante de tiempo es I/ase ate_
nue lo suficiente y 2fr/wd puede'considerarse como el periodo de una si_
nusoide cuya frecuencia es wd. Para sistemas de orden mayor a dos el
periodo de muestreo puede determinarse de la misma forma3pero., conside-
rando las partes reales y las partes imaginarias de todos los polos, e_n_
centrando el mínimo y escogiendo T, como antes, al menos unas cinco ve_
ees más pequeño; desde luego, T puede ser tan pequeño como sea posible
dependiendo de la rapidez de respuesta de los componentes del sistema -
de control.
2.5. CONTROLADOR
En el numeral anterior, se vio que la respuesta de un sistema discreto
depende, en escencia, de la localización de sus polos en el plano z y,
79
precisamente, el trabajo del controlador es cambiar la posición de los
polos con el fin de mejorar la respuesta. La realimentación de estado
permite un diseño sencillo del controlador y mayor eficacia en la ubi_
cación de los polos.
El diseño del controlador, mediante el espacio de estado, se reduce a
la solución de dos problemas mutuamente excluyentes: el primero, que
requiere la disposición de todos los estados para efectos de realimen_
tación y consiste en el diseño de la llamada ley de control; y el se-
gundo, más práctico desde el punto de vista- de ingeniería, consisten-
te de dos partes: el diseño de la Ley de control y el diseño de un es_
timador para los estados que se suponen no accesibles total o parcial-
mente. El diseño del estimador está fuera del alcance de esta tesis,
y por tanto, nos dedicaremos única y exclusivamente al primer problema;
sin embargo, al final de este numerarse hará una breve mención del se_
gundo problema, y en el siguiente, se abordará el estimador más utiliza-
do.
Suponiendo de antemano, que el controlador consiste solamente de la Ley
de control, considérese un sistema discreto cuyas ecuaciones de estado
son:
x(k+l) = i x.(k) + £ u(k)
y(k) = Z
La ley de control supone al sistema sin excitación y consiste en la rea_
limentación de todos los estados, como se indica en la Fig. 2.18. , de
80
tal manera que:
Si el sistema tiene una entrada, una salida y n estados , _K es una ma
triz de orden Ixn. El diseño consiste en encontrar K. tal que los po
los del sistema se ubiquen en una región adecuada. del plano z.
u(k.) ytk)
Fig. 2.18. Sistema de control discreto. Ley de control.
Los polos del sistema son iguales a los valores propios de la matriz £;
para el sistema sin realimentación, los polos se obtienen de la ecuación
característica:
p(z) = det [z _!_ - E] = 0 .
Cuando se implementa la realimentación, los estados se describen mediar^
te la ecuación:
x.(k)
-
x(k)
81
con este cambio,los polos se determinan de:
p(z) = detí z I - E + F K] = Oi_ — j
La ecuación característica cambia,y por tanto, hay un cambio en los po_
los del sistema. Supóngase, que se está diseñando la ley de control pa/
ra un sistema de tercer orden y que se desea ubicar los polos del sis_
tema en -ri, -r2 y -r3; al realimentar los estados, la ecuación caracte_
ristica debería ser:
(z + rl}(z + r2)(z + r3) = z3 + ai z2 + a2 z + a3 .
La matriz K se determinaría de:
det z I - E + F K + + a2 z + a3 . (2.16)
Es evidente la complejidad de los cálculos necesarios para resolver la
ecuación anterior. Cuando las matrices del sistema corresponden a la
forma canónica controlable:
x(k+l) = Ec x(k) + Fe u(k)
y, y(k) = GcX(k) .
Para un sistema de tercer orden, las matrices Ec y Fe son de la forma:
Ec =
0
0
ra3
1
0
-a2
0
1
-ai _
Fe =
" 0 "
0
1
82
Si la matriz de realimentación Kc es
Kc =
ki
reemplazando las matrices de la forma controlable en la ecuación 2.16.,
se tiene que:
det z l_ - te + Fe KcJ = z3 + c^ z2 + a¿ z + c¿3
y efectuando los reemplazos:
det
-1
= 2a + di 7.- + CL2 Z +
de donde:
z3 + z 2 ( a , + k 3 ) /"-. _i_ I, > - -, 3 t „, -,2 i _, -,(,a3 + k i j - z + ai z + a z Z
igualando coeficientes:
83
_ k3 = ai - a, .
Cuando el sistema está descrito en la forma controlable, el diseño de
la ley de control consiste en resolver las ecuaciones algébricas ante-
riores, donde: cti , a2 y c¿3 son los coeficientes de la ecuación caracte-
rística obtenida a partir de los polos deseados para el sistema; y, al 5
aa y as son los elementos de la ultima fila de la matriz Ec; este proc^
dimiento es fácilmente extensible para un sistema de cualquier orden.
Por las ventajas de la forma controlable las operaciones de 2.16. pue-
den simplificarse utilizando la transformación de semejanza que permita
pasar a esta forma canónica; pero, el cálculo de la matriz de transfor-
mación introduce una complicación adicional. Otra alternativa para de-
terminar _K es el uso de la fórmula de Ackerman:
K = O O .... O l[ O O .... O l] Q."1 P.(E)
Donde, Q_ es la matriz de controlabil idad y_P(E_) es el polinomio caracte^
Hstico matricial :
£(£) = In + ttl i""1 + a2 in~2 +...+ an ! . (2.17)
DondesJ_ es la matriz identidad y los coeficientes: ai, a^,..., an son
los mismos coeficientes de la ecuación característica obtenida a par-
tir de la ubicación deseada de los polos. Para demostrar la fórmula de
Ackerman, vamos a utilizar nuevamente un sistema de tercer orden:
£ u(k) ;
para el cual, la matriz de controlabilidad es
Q = F E F E2F
Utilizando la transformación de semejanza: _x(k) = Lyjk), la ecuación
de estado anterior se escribe:
v(k+l) = Ec v(k) + Fe u(k) ;
donde: Ic = I" 11 , fp = X"1 L
y I es la matriz de transformación; la matriz de controlabil idad para
este caso es:
Qc = í Fe Ec Fe Ec2Fcl .'j. [_— . . j
Si se reemplazan fe y _Ec en función de E, IF y J:
fip "Ti'1 L I III"1! I"1!!!"1!!!"1!
F E F E2
de donde: I " 5. Qp"1
De acuerdo con el teorema de Caley Hamilton la matriz Ec también cumple
con la ecuación característica:
Ec3 + a,Ec2 + a2Ec + a¿= O . (2.18)
85
donde ai , a2 y a3 son los coeficientes de la ecuación característica
det z I - Ec = 0 .L — J
Despejando Ec3 de (Z.18) y reemplazando el resultado en 2 .17 . ,para n=3
y la mat r iz Ec, se tiene que:
P_(Ec) = (ai - a i ) _ E c 2 + (a2 - a2)ic + (a3 - a3)l . (2.19)
Si se define el vector e.í = [l O o] , se cumple que:
e_í Ec = [ O 1 O ] = e|
. y, e_* Ec = I O O 1
multipliquemos 2.19. por ei ,
i P ( E c ) = (ai - a i ) e 3 + (a2 - a 2 )e 2 + (a3 -
= [ (a3 - a 3 ) (a2 - a 2 ) (ai - a i ) ] .
Del desarrol lo anterior, para el sistema en la forma canónica controlable
resulta que:
Kc = eí P.(Ec) , (2 .20)
como nos interesa encontrar una expresión para K, veamos la relación en-
tre K y Kc .
-1luego, K_ = Kc T'1 ,
substituyendo Kc, de 2.20. en la expresión anterior,
K = e i P(Ec) T"1
Pero, P(Ec) = («i-ajEc2 + (a2-a2)Ec + (a3-a3)I
-aOT^E T r:E T + E T + (a3-a3)I
entonces: K =
en función de las matrices de controlabilidad Q_ y Qc ,
J( = ei fie i"1 P.(£) .
Reso lvamos el producto e_i Qc:
O O 1
eí fie = [l O O ] O 1 -a,
1 -a,
86
87
íí Qc =[o O l]
Entonces:
je = [o o i] q;1 P_(_E) .
Donde, £_(£) = E; + ax E_2 + a2 £ + c¿3I.
La fórmula de Ackerman puede reducirse más aún. porque el producto
[o O 1J Q"1 es un vector formado por los elementos de la última fi_
la de la matriz inversa de Q; la fórmula indica explícitamente la nece_
sidad de que el sistema sea controlable,porque de otra manera Q"1 no
puede existir. Antes de continuar veamos un ejemplo de aplicación.
Ejemplo 2.3. Supóngase que se desea controlar el movimiento de un sa_
télite en dos dimensiones; véase la Fig. 2.19.
La ecuación del movimiento cuando actúa uno de los empujadores latera-
les es:
J 6 = Me + MD-.
Donde, MC es el torque de control producido por el cohete lateral A, O
es el momento de inercia del sistema y Mp es un torque de perturbación
que eventualmente pudiera ocurrir. Normalizando la ecuación del movj_
miento,con respecto al momento de inercia se obtiene:
0(t) = u(t) + wd(t) , u
wd
88
referencia¡nercial
Fig. 2.19. Movimiento de un satélite en dos dimensiones.
Si se considera que no existen perturbaciones:
§(t) = u(t) ,
asociando Q(t) con y(k+l) y 0(t) con y(k+2), se puede aplicar la teoría
desarrollada en el numeral 1.1-. para encontrar las ecuaciones de estado
de la forma controlable en base a la ecuación diferencial anterior; los
resultados son:
" * i
*
" 0 " l"
0 0
x l
x2
" 0"
1u(t)
.[i o]
89
Si el sistema de control es discreto,debemos discretizar las ecuaciones
de estado anteriores. Como se vio en el numeral 2.4. el periodo de
muestreo adecuado para la discretización depende de la parte real y de
la imaginaria de los polos del sistema continuo; en este caso, existen
dos polos en el origen del plano s y por tanto, se podría elegir cuaj_
quier periodo de muestreo; en nuestro caso, vamos a asumir T = 1 [seg];
para este valor de T el sistema discreto equivalente es:
x2(k+l)
9(k) = [l
L X 2 ( k ) _
*" 2 . 5 "
1
Xj(k)
x2(k)
u(k)
Los dos polos del sistema se ubican en el punto 1 del plano zs es decir
que el sistema es inestable. Calculando la matriz de controlabilidad
de este sistema y su determinante, se demuestra que es controlable y
por tanto, podemos hacer la realimentación de estado correspondiente -
para mejorar las características de este sistema. Supóngase que los re_
querimientos para el diseño son: un tiempo de subida máximo tr= 2 [seg]
el tiempo de establecimiento ts no mayor a 8 [seg] y un máximo sobreirn
pulso de 10%, De la expresión:
% Mp = (1 - g/0,6) 100
para %Mp = 10 la relación de amortiguamiento vale 0.54; de la expre-
sión ts = 4,6/a, se encuentra que a = - 0.575 [seg'1], los polos deben
90
ubicarse dentro de un circulo de radio e a = 0.56; por último, de la
expresión:
tr = ir - = eos
W /I -
se encuentra que: wn = 1.27 [rad/seg] . La región adecuada para los po_
los se delimita en el mapa normalizado de la figura 2.20; de donde, -se
pueden ubicar los polos en:
pl j 2 = 0.2 + j 0.4
En realidad, los polos se pueden elegir en cualquier sitio dentro de la
región. Determinemos el vector de realimentación _K para la nueva ubica-
ción délos polos mediante la fórmula de Ackerman:
_K =[o
Donde la matriz de controlabilidad y su inversa están dadas por:
Q -
0.5 1.5
N-l
-1 1.5
1 - 0.5
La ecuación característica, en base a los polos deseados es: z2 - 0.4z
0.2 - O, entonces el polinomio característico matricial sería:
1.6
P(E) = .E2 - 0.4 E + 0.2 I =
91
Reemplazando en la fórmula de Ackerman:
K = [ o .l] -1 1.5
- 0.5
1.6
0.8
-0.5] 0.8 1.6
0.8
K - [0.8 1.2] .
De este ejemplo, se ve que no es necesario calcular todos los elementos
de Q"1, porque el vector resultante de [o ...O l] Q_-1 está constituido
por la última fila de Q"1.
Para comprobar los resultados es necesario realizar el gráfico de la sa^
lida en función del tiempo para poder-determinar las características de
la respuesta transitoria. Este análisis'se realiza en el capítulo cuar_
to de resultados y conclusiones; en donde, en el ejemplo 1, se resuelve
nuevamente este problema para las mismas especificaciones de respuesta,
pero utilizando los programas desarrollados a fin de comparar los resuj_
tados y comprobar el cumplimiento de las restricciones impuestas.
El diseno del control ador está completo cuando, a más de la ley de con_
trol, se hace el diseño del estimador que nos da los valores estimados
de los estados x_(k) para usarlos en la realimentación, un esquema total
del regulador se indica en la Fig. 2.21; si se mira el controlador como
92
-í.E -Í.1 -i.2 U .1.1 1.1 I.C ¡.I l.l. U 1.1 . l.E
Fig. 2.20. Ubicación de polos de lazo cerrado del ejemplo 2.3.
lk; _
Ley de
Planta
x(k-H) =
Control
• E x ( k )
ífkl
tFu(k)
1
).(k) Senso rita
~11111
-K
Coníro lador
Fig. 2.21. Sistema de control discreto,y estimador.
El control ador: Ley de control
93
un solo bloque la combinación del estimador con la ley de control cae
dentro de la realimentación de salida con compensación en el lazo dé
1 imentación.
Cuando al sistema se le introduce una señal de referencia, que por lo
general, es constante en el tiempo, se habla del problema del servomeca-
nismo. En cuanto a la ley de control, si el sistema es excitado, por
ejemplo, por una señal paso unitaria, la ubicación adecuada de polos se
hace exactamente usando la fórmula de Ackerman para encontrar JC con el
fin de asignar los polos de lazo cerrado que permitan satisfacer las ca_
racterísticas dinámicas de respuesta transitoria.
2.6. ESTIMADORES
En los numerales anteriores se ha visto que es imprescindible 'disponer -
de todos los estados para efectuar la realimentáción; pero en general,
los estados no son accesibles o simplemente desde el punto de vista prác_
tico no es aconsejable medir todos los estados; en cambio la salida y la
entrada de un sistema siempre son accesibles, por tanto es necesario es_
timar (observar o reconstruir) los estados de alguna forma en base a las
mediciones de la entrada y la salida. En esta tesis no se profundizará
en el diseño del estimador; pero, a continuación se hace un estudio in-
troductorio del estimador de predicción que es el mas utilizado.
Si se conoce el modelo matemático del sistema descrito por las ecuacio-
nes:
x(k+l) = E x(k) + F u(k)
94
y (k ) = i£
resulta evidente que podemos utilizar este modelo para construir nuestro
estimador; entonces:
_x(k+l) = JLlU) + £ u(k)
y(k) =ix(k)
serían las ecuaciones que describen la dinámica del estimador, donde
x_(k) es el vector de estado estimado y y(k) es la respuesta del estim^
dor. En la Fig. 2.22. se indica esquemáticamente la estructura interna
de la planta y del estimador junto con la influencia de la condición
I
u(k)y ( l c )
y ( k )
J
Flg. 2.22. Estimador sin realimentación
inicial en cada caso, definida solamente en el instante inicial k = 0.
Si se supone el error en 1-a estimación como:
x (k ) = x ( k ) - x (k )
95
Restando las ecuaciones de estado de la planta y el modelo, la dinámi-
ca del error estaría dada por:
x(k+l) = E x(k) ;
si no podemos medir los estados, debemos asumir un valor £(0) arbitra-
rio que puede ser muy diferente del valor real x.(0). De la ecuación -
anterior se ve que para un sistema estable el error de estimación será
cero para algún instante k; pero recordemos que el valor estimado del
estado se utiliza para hacer la realimentac-ión correspondiente que va_
ría completamente la dinámica de la planta, en ese caso puede resultar
que-los estados, en la planta, cambien más rápidamente de lo-que el
error en la estimación se hace cero, de donde los estados que se realj_
mentan van a distar mucho del valor real; por esta razón se hace nece_
sario cambiar la dinámica del error y esto se consigue efectuando la
realimentación que se indica en la Fig. 2.23., en cuyo caso se llega a
las ecuaciones:
Fig. 2.23. Estimador con realimentación
96
= E x ( k ) + F u(k) + k[y(k) - y (k ) ]
= E x ( k ) + F u(k) + L j~G x ( k ) - G x(k)l— L J
= [i - k i] E(k) +£ u(k) + k i x ( k ) ;
con esta modificación, el error esta descrito por:
x(k+l) = [i - L. G] x (k ) + L G x ( k ) - £ x (k )
nuevamente la ecuación del error es homogénea pero esta vez el error -
x_(k) puede converger a cero tan rápidamente como se quiera porque pode-
mos elegir una matriz L adecuada con este propósito. Si las matrices E,,
F y G del estimador no corresponden exactamente a las de la planta , la
ecuación anterior no describe exactamente el. comportamiento del error -
pero siempre es posible elegir J_ de tal manera que'para cualquier valor
de x_(0) el error de estimación sea aceptable y la convergencia sea muy
rápida. De la ecuación 2.21. el valor actual del estado estimado depen_
de de las mediciones anteriores de la entrada y la salida, por esta ra_
zón a este estimador se lo llama de predicción.
Otros estimadores son: el de orden reducido que permite estimar una par.
te del estado; y, el estimador con actualización. Estos estimadores -
Atienen poca utilidad, en especial el segundo que es inaplicable en la
práctica.
Los numerales 2.5. y 2.6. tienen más bien un carácter introductorio al
97
diseño de sistemas de control discreto en el espacio de estado que es
el tema de la tesis "Diseño de sistemas de control discreto en el esp^
ció de estado" del Sr. Edgar Ruga, en donde se analizan detalladamente
el problema del regulador que incluye el diseño del estimador profundi-
zando en el análisis de cada uno de los estimadores anteriormente men-
cionados; y, se aborda, fundamentalmente, el problema del servomecanis_
mo que incluye el análisis del error de estado estacionario mediante la
técnica de alimentación directa.
Capítulo III : BIBLIOTECA DE PROGRAMAS
3.1. Estructura General de la Biblioteca,
3.2, Ingreso de Datos.
3.3. Discretización,
3.4. Análisis en el Espacio de Estado.
3.5'. Estados y Salidas.
3.6. Realimentación Discreta de Estado.
98
3.1. ESTRUCTURA GENERAL
Los -programas desarrollados tienen como objetivo constituirse en una
herramienta básica para el ingeniero de control que le posibilite rea_
lizar el análisis fácil y rápido de un sistema discreto mediante las
técnicas del espacio de estado, con la finalidad de ejercer control.
De los conceptos vistos en los capitulo I y II> se deduce que este
análisis requiere de procesos matemáticos que involucran operaciones
matriciales cuya complejidad se incrementa con el aumento del orden
del sistema; de ahí que, es imprescindible,aprovechando las ventajas
de los computadores digitales, disponer de uno o varios programas que
nos liberen de la realización de operaciones matemáticas tediosas y
de la pérdida infructuosa de tiempo que esto involucra.
En la implementación se utiliza el lenguaje BASIC cuyas ventajas son
muy conocidas por su universalidad y sencillez; y, el computador per.
sonal RADIOSHACK TRS - 80 Modelo III. La reducida capacidad de memo_
ria de este computador(37 Kbytes) no permite la realización de un só_
lo programa; es por esto que se han implementado varios programas; sus
nombres y la función que realizan en forma simplificada se indica en
la tabla 3.1.; el de mayor extensión ocupa aproximadamente un 40 %
de la memoria, quedando unos 22 Kbytes disponibles para el almacena-
miento de datos y resultados intermediosy definitivos.
En la secuencia normal de operación, se debe ejecutar en primer lugar
el programa "DISCRETO/BAS. LARS" que sirve únicamente para realizar
una presentación a manera de membrete de la Tesis; si la impresora va
a ser utilizada, la presentación se imprimirá también en el papel; es_
PROGRAMA FUNCIÓN
DISCRETO/BAS. LARS Presentación
99
MENU/BAS. LARS Menú Principal
INPDATOS/BAS. LARS - Ingreso de datos: a) Por teclado
b) Desde el disco
- Impresión de datos (a, b)
- Revisión y corrección (a)
- Grabación en disco (a)
DISCRETI/BAS. LARS - Discretización de ecuacipnes de estado de
tiempo continuo: a) Método de series
b) Método de trapecios
- Cálculo del período de muestreo adecuado.
ANALISIS/BAS. LARS - Estabilidad
- Controlabilidad
- Observabilidad
ESTASALI/BAS. LARS Cálculo de estados y salidas. Gráficos.
Para: a) Sistema de lazo abierto
b) Sistema con realimentación de estado
REALESTA/BAS. LARS Realimentación discreta de estado.
Tabla 3.1. Nombres de programas y función.
100
te programa se ejecuta una sola vez porque luego de completar la pre-
sentación se transfiere el control a "MENU/BAS. LARS" y no existe po_
sibilidad de volver a ejecutar "DISCRETO/BAS. LARS". A continuación
se da una breve explicación acerca de los nombre utilizados para los
programas; en cada caso se pueden identificar tres partes: la primera
es propiamente el nombre del programa y guarda relación con la fun-
ción que real iza, la máxima longitud para esta parte es de 8 caracte-
res; la segunda, a partir de la línea divisoria es opcional y se la
utiliza para señalar alguna característica, en este caso indica que
el programa esta escrito en BASIC; y la ultima, luego del punto, es
una palabra clave y sirve para evitar la destrucción del archivo por_
que no aparece en el directorio del disco; el acceso no se permite -
mientras no se escriba el nombre completo.
El programa "MENU/BAS. LARS" es básicamente un menú principal de op-
ciones, de la forma:
1. INGRESO DE DATOS
2. DISCRETIZACION
3. ANÁLISIS
4. REALIMENTACION DE ESTADO
5. ESTADOS Y SALIDAS
6. FIN DE SESIÓN
Su única función es permitir el acceso a los programas en forma orde-
nada presionando cualquiera de las teclas correspondientes a los ci_n_
co primeros dígitos; la última opción como su nombre lo indica permj_
te terminar la ejecución del programa. En la figura 3.1. se indica
101
un diagrama de flujo que esquematiza la secuencia lógica de acceso a
los programas, desde el menú principal, utilizando únicamente la pri_
mera parte de los nombres de la tabla 3.1. Cuando se ha accesado a
cualquiera de los programas es posible regresar al menú principal vo]_
viendo a ejecutar "MENU/BAS. LARS".
Cada vez que se ejecuta un nuevo programa, el contenido anterior de
la memoria RAM es eliminado; de ahí que para el funcionamiento adecua_
do del conjunto de programas es necesario grabar y leer datos del di_s_
co constantemente; por esta razón los programas incluyen utilitarios
que permiten la grabación y la lectura de datos. Existe la posibilj_
dad de proteger las localidades superiores de la memoria RAM para que
su contenido no se borre cuando se carga un nuevo programa; esta pro_
piedad se utiliza para guardar ciertos indicadores o banderas que si_r,
ven, por ejemplo, para saber si se ha ejecutado el ingreso de datos.
En los siguientes numerales se hace un análisis de los programas
rrollados, indicando el fundamento matemático utilizado, las varia-
bles más importantes y los diagramas de flujo respectivos.
F I
N
DIS
CR
ET
O
Se
ingr
esar
onda
tos?
INP
DA
TO
SE
scrib
ir m
ensa
je d
e e
rro
r
sist
ema
esco
ntin
uo9
sist
em
a e
cont
inuo
9
Esc
ribir
me
n_
saje
de
err
or
Esc
rib
ir m
en
saje
de
erro
r
o PO
Fig. 3.1. Bib
liot
eca
de P
rogr
amas
. Se
cuen
cia
lógi
ca d
e ac
ceso
.
103
3.2. INGRESO DE DATOS
Para utilizar los programas desarrollados es necesario ingresar al
putador las matrices de las ecuaciones de estado que pueden ser contj_
nuas o discretas según la naturaleza del sistema a ser analizado. En
la mayor parte de aplicaciones, el control discreto se utiliza para con_
trolar un proceso de naturaleza continua; y, en este caso los progra-
mas son igualmente aplicables efectuando la discretización de las ecua_
ciones de estado continuas que describen a la planta o proceso.
El programa "INPDATOS/BAS.LARS" permite ingresar los datos por teclado
o desde el disco. En el primer caso, se debe indicar el orden del si^
tema, que por limitaciones del computador debe ser menor o igual a 15,
la naturaleza del sistema (continuo o discreto) y las matrices corres-
pondientes; una vez completado el ingreso es posible revisar, corregir
y grabar los datos; cuando el orden del sistema es mayor que 4, para
la revisión de datos se muestran en la pantalla bloques de las matri-
ces en forma ordenada hasta que todos los elementos hayan sido presen-
tados al menos una vez. Para la grabación de datos se presenta en la
pantalla el directorio del usuario y se pide el ingreso del nombre del
archivo, en el .cual los datos serán almacenados;en caso de que se uti_
Tice un nombre contenido en el directorio, se preguntará si el archivo
debe ser destruido o no; se almacenan: el orden del sistema, su natur^
leza y las matrices correspondientes.
En el ingreso de datos desde el disco se presenta en la pantalla el dj_
rectorio y se pide el nombre del archivo a ser leído, si se desea , es
posible eliminar archivos que no son de utilidad; al completar la le£
104
tura, se indica el orden y la naturaleza del sistema, si el usuario lo
requiere puede revisar las matrices correspondientes. Los nombres de
los archivos están limitados al formato: NOMBRE/EXT; donde NOMBRE es
propiamente el nombre del archivo con una extensión máxima de 6 cara£
teres; la extensión EXT se utiliza, en este caso, para indicar la na_
turaleza del sistema.
El programa de ingreso de datos permite también su impresión; de acuer_
do con la naturaleza del sistema, se imprime la forma de las ecuacio-
nes de estado y las matrices correspondientes; cuando los datos se han
grabado en el disco o si el ingreso se hace desde el disco se imprime
también el nombre del archivo que contiene los datos. Algunos segmen-
tos de este programa se utilizan en los otros programas como .utilita-
rios para intercambio de datos con el disco, para presentación de ma-
trices en la pantalla y para impresión. A continuación se indican las
variables importantes y el diagrama de flujo correspondiente.
105
VARIABLE FUNCIÓN
N Orden del sistema.'
B$ Variable alfanumérica, contiene la lectra C si el sis_
tema es continuo y la letra D si es discreto.
A> !> £3 £ Matrices de las ecuaciones de estado continuas.
!> £3 £» ü Matrices de las ecuaciones de estado discretas.
MA
I, L
DIR$
N$
M$
Matriz auxiliar usada para presentación de las matri_
ees en la pantalla y para impresión.
Número de filas y columnas de la matriz MA.
DIRECTOR " Archivo que contiene el directorio del usuario,
Número de archivos del usuario.
Vector alfanumérico, contiene el directorio del usua-
rio.
Contiene nombre de matriz para presentación-impresióa
Contiene nombres de archivos para grabación-]ectura.
Cuadro 3.2. Variables importantes de "INPDATOS/BAS. LARS"
106
DIAGRAMA DE FLUJO DE : I M F>O A "TOS / 3B S -
MENÚ EN INGRESO DE DATOS
1.- INGRESO POR TECLADO2.- INGRESO DESDE EL DISCO3.- IMPRESIÓN DE DATOS4.- MENÚ PRINCIPAL
PRESENTAR EL DIRECTO-RIO EN LA PANTALLA
Se quiereliminar un ar-
chiva ?
INGRESAR EL NOM-BRE DEL ARCHIVO
no
Escribir men-saje de error
BORRAR ELELIMINARLO
ARCHIVO Y E-DE DIRECTORIO
i >
107
INGRESAR NOMBRE DELARCHIVO A SER LEÍDO
no
LEER EL ARCHIVO
PRESENTAR EN LA PANTALLA EL OR-DEN DEL SISTEMA Y SU NATURALEZA
Se quiererevisar datos
7
S!
PRESENTAR LAS MATRI-CES EN LA PANTALLA
Escribir men-saje de error
no
Escribir men-saje de error
108
IMPRIMIR LA FORMADE LAS ECUACIONES
IMPRIMIR MATRI-CES : A,B,C,D
no
SI
IMPRIMIR EL NOM-BRE DEL. ARCHIVO
no
IMPRIMIR LA FORMADE LAS ECUACIONES
IMPRIMIR MATRI-CES : E,F,G,H
no Existendatos en me-
moria ?
no
GRABAR DATOSEN DATOSC/PRO
CARGAR Y EJECUTARMENU/EAB.LARS
GRABAR DATOSEN DATOSD/PRO
109
©
OPCIONES EN INGRESO POR TECLADO
INGRESO DE DATOSREVISIÓN Y CORRECCIÓN DE DATOSGRABACIÓN DE DATOSMENÚ EN INGRESO DE DATOS
PRESENTAR LA FORMADE LAS ECUACIONES
INGRESAR MATRICESA,B,C,D.POR FILAS
0
INGRESAR EL OR-DEN DEL SISTEMA
INGRESAR NATURALEZA:CONTINUO O DISCRETO
istemscontinuo
7
no
PRESENTAR LA FORMADE LAS ECUACIONES
INGRESAR MATRICESE,F,G,H.POR FILAS
Escribir men-saje de error
vs-*~^
E
110
no
ASIGNAR MATRICES s A,B,C,D EN MATRIZ AUXILIAR MA
LLAMAR A SUBPROGRAMA DEPRESENTACION-CORRECCION
REEMPLAZAR MATRIZ CON MA
ASIGNAR MATRICES : E,F,G,H EN MATRIZ AUXILIAR MA
no Se revi-todas las
matrices
SUBPROGRAMA DESENTACION-CORRECCION
PRESENTAR LA MATRIZMA EN LA PANTALLA
becambiar ciernen/
tos ?/Sí
no
INGRESAR FI-LA Y COLUMNA
INGRESAR NUE-VO ELEMENTO
111
PRESENTAR ELDIRECTORIO
INGRESAR NOMBREPARA EL ARCHIVO
Archivoxistente
7
Se eliminan datos anteriores
7
GRABAR EL ORDENY LA NATURALEZA
Sistemacontinuo
7
no
GRABAR MATRI-CES: A,B,C,D
GRABAR MATRICES:
112
3.3. DISCRETIZACION
En esta parte se Indican: el fundamento matemático, el diagrama de flu_
jo y las variables más Importantes utilizados en la implementación del
programa "DISCRETI/BAS. LARS" que realiza la discretlzación de las
ecuaciones de estado de un s'istema continuo. El fundamento matemáti-
co se desarrolló en el capitulo I, de tal manera que en este numeral
utilizaremos los resultados allí obtenidos; recordemos que la discretj_
zación consiste en resolver las expresiones:
f e-T dr B
Donde A_, _B_ y _E_, F_ son las matrices de la ecuación de estado continua y
discreta respectivamente, T es el período de muestreo. El programa -
permite calcular las matrices del equivalente discreto por dos métodos
cuya diferencia está en la solución de la integral para F que, como
vimos en el numeral 1.4., puede resolverse integrando término a térmj_
ATno la serie de e.—
regla trapezoidal.
ATno la serie de e.— ; o utilizando la integración numérica dada por la
Por el método de series la- discretización requiere calcular las expre_
siones:
ATI = I +
ATI
A ATI
E = I + A T
113
F = Z T
Donde P se encuentra de la Inecuación
nqe < 0.001
Siendo q = max a-¡j T , donde a-ij es algún elemento de la matriz A_.
En el ejemplo 1.3. se demostró que la inecuación anterior permite caj_
cular la matriz £_ con una exactitud de más de 6 decimales; por tanto,
en la discretización mediante series no es necesario el ingreso de una
precisión para las operaciones. En la práctica la evaluación de la
fórmula de Paynter genera números extremadamente grandes y para cier_
tos valores del periodo de muestreo éstos números exceden la capaci-
dad máxima del computador, limitando la discretización o valores pe-
queños de T; sin embargos de pruebas realizadas, se observa que los -
pares (P, nq) que cumplen con la inecuación tienen variaciones aproxima^
damente lineales; y, efectuando una regresión lineal, se encuentra -
que:
P = 3.7 nq + 4
permite calcular el valor de P para cualquier nq dado; en realidad es_
ta ecuación no es del todo exacta y para las pruebas realizadas los
valores de P asi calculados son mayores a los que se obtienen con la
fórmula de Paynter, en el peor de los casos se ha detectado una dife_
rencia de dos unidades; desde luego, para nuestros propósitos, esto
es ventajoso porque nos permite alcanzar mayor exactitud. Nótese que
nos intereza únicamente la parte entera del número que se obtiene con
114
la ecuación desarrollada.
Para la discretización con el método de trapecios, la matriz E_ se d_e_
termina como en el caso anterior y la integral de £ se reduce a calcu_
lar la serie:
B A t .1=0 -
Donde k es el número de intervalos de integración en que se ha dividi
do el período de muestreo y At es la longitud de cada intervalo; es d
cir que: At = T/K. Operando en la expresión anterior:
i=0
1 r f e A(i+l)At 1 [ -AAt |R A.• o - / - 5. i + e — | B At¿ L 1=Q J L -
= e + e2Mt + _ _ _ + ekAAt 1 F j + e-AAtí_ L J L
y llamando: MA = [ _e -At + ... + e At ] (3.1)
(3.2)
se tiene que: F = -4" MA AU At .C '
En este método la precisión en la evaluación de la integral depende -
del número de intervalos de integración k, el programa asume un valor
115
Inicial k = 10 y lo incrementa en pasos de cinco hasta que la diferen_
cia entre los cálculos realizados para dos valores consecutivos de k
sea menor a una cierta precisión ingresando por el usua-rio. De las
ecuaciones anteriores se ve que el método de trapecios consume mayor
tiempo de ejecución que el método de series y depende de la precisión
requerida, a mayor precisión más tiempo; en cambio el método de se-
ries permite alcanzar mayor exactitud y el tiempo de procesamiento -
es varias veces menor; adicionalmente,la implementación del segundo
método requiere de un segmento de programa mucho mayor que el necesa_
rio para el primero.
Al' iniciar la ejecución del programa de discretización y antes de in_
dicar el menú correspondiente, se recuperan automáticamente las matri_
ees del sistema continuo almacenadas en el archivo "DATOSC/PRO" don_
de debieron ser grabadas por el programa de ingreso de datos. Las dos
primeras opciones del menú permiten realizar la discretización por uno
de los dos métodos indicados anteriormente; la tercera opción permite
presentar en la pantalla, imprimir o. grabar en el di'sco las matrices
del sistema discreto resultante; una cuarta alternativa posibilita de_
terminar el periodo de muestreo adecuado que sirva de referencia al
usuario porque para la discretización deberá ingresar el período de
muestreo correspondiente; y, finalmente la quinta opción permite re-
gresar al menú principal mediante la ejecución del.programa "MENU/BAS,
LARS"; pero antes, las matrices del sistema discreto se almacenan a_u_
temáticamente en el archivo "DATOSD/PRO". Para determinar el perío_
do de muestreo adecuado se utiliza el procedimiento explicado en el
numeral 2.4., haciendo uso del algoritmo de Leverrier para encontrar
la ecuación característica y el método del descenso más pronunciado -
115
para determinar los polos del sistema continuo, mediante un programa
desarrollado por el Ing. Efraín Del Pino que es utilizado en el Labo-
ratorio de la materia MÉTODOS NUMÉRICOS APLICADOS. A continuación se
indican las variables importantes (Tabla. 3.3.) y el diagrama de flujo;
en el listado de variables se omiten algunas de las que se definieron
en el numeral anterior.
117
VARIABLES FUNCIÓN
M Orden del sistema.
É» L> G.» ü Matrices del equivalente discreto.
A» .B, C, £ Matrices del sistema continuo.
T, T! Periodo de muestreo o fracción de él.
FI Nombre utilizado para la matriz 2 (método de serles ).
Contiene MA + I_ (método de trapecios).
AU Matriz auxiliar. Contiene FI*B (método de serles). De_
finida por 3.2. (método de trapecios).
MA Matriz auxiliar. Definida por 3.1. (método de trapecios).
XU Matriz auxiliar. ALmacena temporalmente la matriz g
(trapecios).
PR Vector auxiliar. Contiene MA * _AI¿ (método de trapecios).
EPS Variable para almacenar precisión de cálculos (método de
trapecios).
PI Vector auxiliar, contiene valor anterior de la Integral
de.£.
NI Número de Intervalor de Integración k.
P Número de términos a los que se trunca la serle de Z .
Q . Parámetro q = máx a-jj T de la Inecuación de Paynter.
MA Matriz auxiliar (Presentación - Impresión - Grabación).
FAC - Factorial.
Al % Vector de coeficientes de la ecuación característica
continua.
PR, PI Vectores. Parte real e Imaginaria de. los polos del si_s_
tema continuo.
Cuadro 3.3. Variables del programa "DISCRETI/BAS. LARS"
DIAGRAMA DE FLUJO DE : E> I SC:RE~T I
118
LEER DATOS DEL AR-CHIVO : DATOSC/PRO
MENÚ EN DISCRETIZACION
1.-2.-3.-4.-5.-
MÉTODO DE SERIESMÉTODO DE TRAPECIOSPRESENT-GRABA-IMPRESION DE RESULTADOSPERIODO DE MUESTREOMENÚ PRINCIPAL
INGRESAR PERIODODE MUESTREO T
LLAMAR A SUBPROGRAMAPARA CALCULAR E=EXP(AT)
F = T * FI * E
INGRESAR PERIODO DE MUESTREO TIY PRECISIÓN PARA CÁLCULOS EPS
LLAMAR A SUBPROGRAMAPARA CALCULAR E=EXP(AT)
XU = E : NI = 1ÍZI : F =
K = NI : T = TI / NI
LLAMAR A SUEPROGRAMAPARA CALCULAR E=EXP(AT)
MA = FI - I : T = - TI / NI
LLAMAR A SUEPROGRAMAPARA CALCULAR E=EXP(AT)
AU = I + E * E
F = TI * MA * AU / ( 2 * NI )
GA = F : NI = NI + 5 : F = 1
119
SUEPROGRAMA PARACALCULAR E-EXPÍAT)
ENCONTRAR ELEMENTO aij DE MA-YOR VALOR ABSOLUTO DE MATRIZ A
Q = aij * T
F I = I + T * A * F I / K
si
no
E = I + T * A * F I
G = C : H = D
120
e realizla discretiza-
ción ?
no
OPCIONES EN PRESENT--GRAEA-IMPRESION
- PRESENTACIÓN DE RESULTADOS- IMPRESIÓN DE RESULTADOS- GRABACIÓN DE RESULTADOS- MENÚ EN DISCRETIZACION
Escribir men-saje de error
©PRESENTAR EN LA PAN-TALLA LAS MATRICES DELEQUIVALENTE DISCRETO
no
IMPRIMIR MATRICES DEEQUIVALENTE DISCRETO
Escribir men-saje de error
1 'PRESENTAR ELDIRECTORIO
INGRESAR EL NOM-BRE PARA EL ARCHIVO
e eliminandatos anterio
GRABAR MATRICES DELEQUIVALENTE DISCRETO
121
Algoritmo deLeverrierPara encontrarla ecuación ca-racterística
A2 ( 1 ) -
K = 1 : AU = I
MA = A * AU
A2 ( K ) = - traza MA / K
AU = MA + A2 í K > * I
CALCULAR RAICES DE LA ECUACIÓNCARACTERÍSTICA CON EL MÉTODODEL DESCENSO MAS PRONUNCIADO
PR ( K ) = PR ( K ) / 4.6
PI ( K ) = PI ( K ) / 27T
ENCONTRAR EL MÁXIMOTRE LOS PRÍK) Y PI(K)
T = 0.2 / el máximo
PRESENTAR EN LA PANTALLA LOS POLOSDEL SISTEMA CONTINUO Y EL T SUGERIDO
122
Se realizola discretiza
cion ?
GRABAR MATRICES DEL EQUIVALEN-TE DISCRETO EN : DATOSD/PRO
CARGAR Y EJECU-TAR"- MENU/BAS.LARS
123
3.4. ANÁLISIS EN EL ESPACIO DE ESTADO
En el programa "ANALISIS/BAS. LARS" se determinan las.tres característi_
cas más Importantes de un sistema discreto: la controlabilidad que per_
mi te saber si es posible o no ejercer control; la observabilidad, que
indica si es factible o no estimar los estados a partir de las medicio-
nes de la entrada y la salida; y, la estabilidad del sistema en base- a
la ubicación de sus polos en el plano z.
De acuerdo con el desarrollo que se hizo en el Capítulo II, un sistema
discreto es controlable si la matriz:
EF
tiene rango N (N es el orden del sistema) o simplemente, para una
da y una salida, si su determinante es distinto de cero; en el segmento
del programa correspondiente a controlabilidad se estructura la matriz
Q y se compara el valor absoluto de su determinante con el número 1E-10,
si el valor absoluto es menor, el sistema será incontrolable; no se com_
para con cero porque siempre existen errores en los cálculos pudiendo
ser ésta la causa por la que el determinante es distinto de cero. El
análisis de observabilidad es también sencillo y para que un sistema
sea observable la matriz:
1= U GE GE2 ... GEN-1 ' T
debe tener su determinante distinto de cero; o en la práctica, de valor
absoluto mayor que un cierto épsilon, que en nuestro caso es 1E-10. El
124
análisis controlabilidad y observabilidad se reduce entonces a estructu_
rar las matrices y calcular sus determinantes. Los segmentos del pro-
grama correspondientes a estos dos primeros puntos realizan los cálcu-
los internamente y una vez terminados se indica en la pantalla si el
sistema es, por ejemplo, controlable o no; sin embargo, si el usuario
lo requiere se puede ver en la pantalla o imprimir las matrices Q_, R_ y
sus determinantes. Para encontrar los determinantes se utiliza un pe-
queño subprograma que realiza la triangulación de las matrices y calcu_
la el determinante como el producto de los elementos de la diagonal priri_
cipal.
En el análisis de estabilidad existe una complicación adicional porque
se requiere determinar los polos del sistema; pero antes, se debe deter.
minar la ecuación característica correspondiente, para lo cual se usa
el algoritmo de Leverrier como se ilustró en el Capítulo I. En el secj_
mentó correspondiente a estabilidad se implementa este algoritmo para
encontrar los coeficientes de la ecuación característica y se encuen-
tran los polos utilizando el método del descenso más pronunciado que se
caracteriza por su rapidez y precisión en la obtención de todas las ra^_
ees de una ecuación polinómica, sean éstas reales o complejas. Una vez
que se han completado los cálculos, se indica en la pantalla si el si_s_
tema es,estable o no y, si se quiere, es posible ver en la pantalla oL
imprimir los coeficientes de la ecuación característica y los polos del
sistema de tal manera que el usuario pueda comprobar más objetivamente
si el sistema es estable o no.
Antes de presentar el menú, se recuperan las matrices del sistema dis-
creto leyendo los datos almacenados en el archivo "DATOSD/PRO", A cor[
tinuación se indica el diagrama de flujo y las variables más importantes,
125
algunas tienen el mismo significado que en los programas anteriores y
por eso no se incluyen.
VARIABLE SIGNIFICADO
i
_R
F1.G1
DET
!> AF
PR, PI
MA
Matriz de controlabilidad.
Matriz de observabilidad.
Matrices auxiliares usadas para estructurar 3_ y R_.
Almacena el determinante de Q_ o JR.
Matrices auxiliares. Usadas para encontrar la ecuación
característica.
Vectores. Contienen parte real e imaginaria de los pp_
los.
Matriz auxiliar, Utilizada para encontrar los determi-
nantes de Q o R y en la presentación e impresión de es_
tas matrices.
Vector que contiene coeficientes déla ecuación caracte-
rística.
Tabla 3-4. Variables importantes de "ANALISIS/BAS. LARS"
126
D I A G R A M A DE FLUJO. DE : AIM ¿M_ I S I S /E AS .
INICIO]
LEER EL ARCHI-VO : DATOSD/PRO
MENÚ EN ANÁLISIS
1.- CONTROLABILIDAD2.- OBSERVABILIDAD3.- ESTABILIDAD4.- MENÚ PRINCIPAL
CARGAR Y EJECU-TAR: MENU/BAS LARS
ESTRUCTURAR MATRIZ DE CON-TROLABILIDAD/OESERVAEILIDAD
CALCULAR ELDETERMINANTE
Determinante! <•. lE-1no
SI
Escribir : SISTEMA IN-CONTROLABLE/ I NOESERVABLE
Escribir : SISTEMA CON-TROLABLE/OBSERVABLE
127
PRESENTAR MATRIZ Q/RY SU DETERMINANTE
IMPRIMIR MATRIZ Q/RY SU DETERMINANTE
CALCULAR LOS COEFICIENTES DE LAECUACIÓN CARACTERÍSTICA CON ELALGORITMO DE LEVERRIER
CALCULAR LAS RAICES DE LA ECUA-CIÓN CARACTERÍSTICA CON EL MÉTO-DO DEL DESCENSO MAS PRONUNCIADO
128
no
Escribir : SISTEMAESTABLE
Escribir : SISTEMAINESTABLE
Resultadosnuméricos ?
no
no
PRESENTAR COEFICIENTES DE LA ECUA-CIÓN CARACTERÍSTICA Y LOS POLOS
IMPRIMIR COEFI-CIENTES Y POLOS
129
3.4. ESTADOS Y SALIDAS
Utilizando la teoría revisada en el numeral 1.3. se ha desarrollado el
programa "ESTASALI/BAS. LARS" que permite determinar el valor de los
estados y la salida con el objeto de presentar el comportamiento din|_
mico de un sistema. Según la elección del usuario es posible analizar
la respuesta del sistema de lazo abierto o la del sistema de lazo ce-
rrado a las señales de prueba escalón y rampa; así como también fren-
te a una perturbación que se traduce en una condición inicial de los
estados cuando el sistema está sin excitación; para el sistema reali-
mentado se debe tener presente que únicamente se ha tocado el problema
del. regulador que permite mejorar"las características transitorias de
la respuesta como son: máximo sobreimpulso tiempo de subida y tiempo
de establecimiento; pero, nada se hace en cuanto al error en estado es_
table porque esto es parte del problema del diseño del servomecanismo
que está fuera del alcance de esta tesis.
La diferencia entre elegir el sistema de lazo cerrado o el sistema de
lazo abierto está en que,en el primer caso los datos se leen del archj_
vo "DATOSR/PRO" y en el segundo del archivo "DATOSD/PRO", una vez que
los datos están en memoria, aparece el menú correspondiente. La prim^
ra opción del menú permite escojer la señal de entrada al sistema y el
ingreso de las condiciones iniciales para los estados; si se escoge la
señal paso u(.k) = m, el usuario debe ingresar la magnitud m; y, para
la señal rampa u(k) = pk, se requiere del ingreso de la pendiente p.
La segunda opción del menú permite realizar los cálculos de los esta-
dos y la salida para cualquier instante de tiempo k _< 100 (si el orden
130
del sistema es menor a cinco, k <_ 200) a partir de la señal de entrada
y la condición de los estados; las operaciones se efectúan en forma
iterativa utilizando las .ecuaciones de estado.
x_(k+l) = i x_(k) + £ u(k)
y(k) = GxW +üu(k)
Los resultados para cada instante de tiempo se almacenan en una matriz
y en un vector auxiliar; de tal manera que 'en caso de ser necesario, se
puedan imprimir estos valores. La tercera opción sirve para la realj_
zación de los gráficos de los estados y las salidas; en este-caso tarn
bien es necesario indicar el instante khasta el cual se debe graficar
considerando nuevamente la restricción anterior; para realizar los gr_£
fieos se vuelven a calcular los estados y la salida; en cuanto a la
presentación de cada gráfico, se ha diseñado el programa para mantener
un tamaño constante variando las escalas de los ejes, de tal manera
que si no se usa papel continuo se impriman dos gráficos en cada hoja.
Las limitaciones de la pantalla no permiten la realización de gráficos
Para graficar en la impresora se utiliza un subprograma del cual vamos
a señalar únicamente algunas características; los datos necesarios pa_
ra el gráfico son los valores consecutivos de la señal, lo que se hace -
es ordenar el vector de estos datos en forma descendente,guardando la
información del instante de ocurrencia; se normalizan todos los valo-
res dividiéndolos por la diferencia entre el máximo y el mínimo para
conseguir el tamaño del gráfico predefinido; los valores obtenidos se
multiplican por una constante,utilizando únicamente la parte entera de
131
cada resultado; luego se Inicial iza una referencia y se la compara con
el primer elemento del vector; si la referencia es mayor, se la reduce
en una magnitud constante hasta que el valor a graficarse sea mayor;en
base a la diferencia y al instante de ocurrencia se ubica la cabeza de
la impresora en un sitio adecuado y se traza una línea cuya longitud
depende del instante k hasta el cual se quiere graficar; esta opera-
ción se repite en todos los elementos del vector. El eje vertical se
traza simultáneamente con todos los puntos y el eje horizontal se dibu_
ja cuando la referencia se hace cero; terminando el gráfico se imprime
la escala del eje vertical indicando el valor de cada división.
A continuación se indica un listado de las variables más importantes y
el diagrama de flujo del programa.
VARIABLE SIGNIFICADO
M
P
R
KF
MA
VA, VI, V
Magnitud de la señal de entrada paso discreto.
Pendiente de la señal de entrada rampa discreta.
Retraso de las señales de entrada.
Instante final al cual se desea calcular los estados y
la salida.
Matriz auxiliar para el almacenamiento de los sucesivos
valores de los estados, incluyendo el inicial.
Vector que contiene todos los valores de la salida des_
de el instante inicial k = O hasta el instante kf.
Matriz auxiliar utilizada para la impresión de los esta_
dos y salida.
Vectores auxiliares usados en el segmento de gráficos.
Tabla 3.5. Variables del programa "ESTASALI/BAS. LARS1
132
DIAGRAMA DE FLUJO DE •: E
fc
ESTADOS Y SALIDAS
1.- SISTEMA DE LAZO ABIERTO2.- SISTEMA DE LAZO CERRADO ( LEY DE CONTROL )3.- MENÚ PRINCIPAL
LEER DATOS DE:DATOSD/PRO
CARGAR Y EJECUTARMENU/EAS.LARS
LEER DATOS DE:DATOSR/PRO
Escribir men-saje de error
MENÚ EN ESTADOS Y SALIDAS
1.- SEÑAL DE ENTRADA Y ESTADO INICIAL2.- ESTADOS Y SALIDAS3.- GRÁFICOS4.- CAMBIO DE SISTEMA/MENÚ PRINCIPAL
133
si
INGRESAR MAGNI-TUD m
51
INGRESAR PENDIEN-TE P
INGRESAR CONDICIÓN. INI-CIALES PARA LOS ESTADOS
INGRESAR INSTANTE .Kf ALQUE SE DESEAN LOS CÁLCULOS
no
• 'Escribir men-saje de error
Escribir men-saje de error
> 1
134
rI Calcu o de esta-
dos y salida Y ( 0 ) = E X Í 0 ) + F TUY(0 = E X 0
X ( J ) = E X ( J - l ) + F p J X Í J ) = E X ( J - l ) + F m
Y ( J ) = G X ( J ) + H. mY Í J ) = G X ( J i + H P J
IMPRIMIR MATRIZX Y VECTOR Y
I
135
INGRESAR INSTANTE HASTAEL CUAL GRAFICAR : Kf
CALCULAR ESTA-DOS Y SALIDAS
INGRESAR NUMERO DELESTADO Y GRAFICARLO
GRAFICAR LASALIDA
Impresorahábilitada
no
no
Escribir men-saje de error
136
3.6. REALIMENTACION DISCRETA DE ESTADO
En el programa "REALESTA/BAS. LARS" se ha implementado el cálculo de
la matriz de realimentación K_ para el diseño de la ley de control utj_
lizando la fórmula de Ackerman:
= [ O • O ....O 1 ] O," > P_(i)
Donde Q_ es la matriz de control abi] i dad y£(£) es el polinomio caracte-
rístico en función'de la matriz £, cuya forma se vio en el numeral 2.5.
En este programa no se incluye un mentí de opciones; cuando empieza la
ejecución se obtienen las matrices del sistema de lazo abierto leyendo
los datos almacenados en el archivo "DATOSD/PRO", lo primero que se ha_
ce es estructurar la matriz de controlabilidad _£ para verificar si el
sistema es controlable, de no serlo se escribe un mensaje en la panta-
lla y se regresa al menú principal. Si el sistema es controlable se
procede a ingresar los polos deseados para el sistema, durante el in-
greso se verifica que cuando existan polos complejos exista un número
par de ellos; si ésto no se cumple, se indica un mensaje de error y se
presenta la opción de ingresar nuevamente o regresar al menú principal;
también se verifica que los polos de lazo cerrado no produzcan inest£
bilidad.
Una vez que se han ingresado los polos se procede a calcular los coefi_
cientes de la ecuación característica para poder encontrar la matriz
P.QL). Considerando que el producto [ O O ... O 1 JQf1 es un vector
fprmado por los elementos de la ultima fila de Q"1, la aplicación de
la fórmula de Ackerman se reduce a multiplicar este vector por la ma-
137
iz £(.£.)• Los elementos de _QJ1 se pueden determinar resolviendo el
sistema de ecuaciones: ¿ Q_~ = _!_, donde l_ es la matriz identidad; si
el orden de Q es 3x3 el sistema de ecuaciones seria:
0,21 0,22 0,23
0,31 0,32 Q, 3 3
Xl3
X 2 1 X 2 2 X 2 3
X 3 1 X 3 2
í ' 1Estructurando la matriz ampliada [0. I JLj > se triangulariza la parte
correspondiente a J3 y se divide cada fila por el correspondiente ele-
mento de la diagonal resultante para obtener el sistema de ecuaciones:
323
Xn Xi2
X 2.1 X 2 2 X 2 3
_X31 X32
1 1 1 1 2 1 3
"121 "I 22 1 23
"I 32
De donde:
31 32 33 3 3
Son los elementos de la última fila de Cf1 y son iguales a los elementos
de la última fila de I luego de la triangulación.
Durante la evaluación de la fórmula de Ackerman, aparecen en la pantalla
los mensajes correspondientes, indicando la actividad que se realiza ;
cuando los cálculos han sido completados se indica un pequeño submenú
que incluye las opciones de: efectuar la realimentación modificando la
matriz _E del sistema mediante la expresión £=_§.-- F_ _K3 se puede ele-
gir una sola vez; presentar en la pantalla o imprimir la matriz de re^_
limentación y la matriz £ de lazo cerrado, esta ultima solamente si se
ha realizado la realimentación; y,regresar al menú principal, grabando
previamente las matrices del sistema de lazo cerrado en el archivo "DA_
TOSR/PRO", si no se cambió la matriz E_ de lazo abierto, directamente -
se ejecuta el programa "MENU/BAS. LARS".
Para encontrar los coeficientes de la ecuación característica a partir
de los polos deseados se utiliza un pequeño subprograma que efectúalas
operaciones algebraicas elementales necesarias. A continuación se in_
.cluye el diagrama de flujo y las variables más importantes.
139
VARIABLE SIGNIFICADO
Matriz de controlabilidad,
E, F, G, H Matrices de las ecuaciones de estado discretas.
£1
MA
_P
NUM
AU_
EL
x_
K,
SI
Y$
Matriz auxiliar. Utilizada para estructurar Q_.
Matriz auxiliar. Usada para encontrar el determinante
de Q y en la presentación o impresión de resultados.
Matriz. Contiene partes real e imaginaria de los polos.
Variable usada para verificar el ingreso de un número
par de polos complejos.
Matriz auxiliar. Usada para encontrar ecuación caracte_
ristica.
Matriz. Contiene parte real e imaginaria de coeficien-
_tes de la ecuación'característica.
Matriz auxiliar. Utilizada para calcular PE.
Polinomio característico matricial.
r i iiz ampliada [ S ! UMatri
Matriz de realimentación.
Vector. Contiene los elementos de la última filadeQ_"
Variable aTfanumérica. Su contenido indica si jl_ ha s
do modificada o no.
Tabla 3.6. Variables importantes de "REALESTA/BAS. -LARS".
DIAGRAMA DE FLUJO DE : RE AUEST"A /B AS - L_ARS
140
egresoa menú princí
pal ?
LEER DATOS DEL AR-CHIVO : DATOSD/PRO
ESTRUCTURAR MATRIZ Q YCALCULAR EL DETERMINANTE
Determinante < 1E-10
INGRESAR UBICACIÓN DE-SEADA PARA LOS POLOS
Escribir men-saje de error
CARGAR Y EJECU-TAR: MENU/BAS.LARS
Numero par deartes imaginaria
7
Escribir men-saje de error
Polos! < 1
ENCONTRAR COEFICIENTESDE LA ECUA. CARACTERIS.
Escribir men-saje de error
CALCULAR EL POLINIMIO CA-RACTERÍSTICO MATRICIAL PE
egresoa Menú princi
pal ?
141
ASIGNAR EN QI LOS N ELEMENTOSDE LA ULTIMA FILA DE Q INVERSA
K = QI * PE
SUBMENU
EFECTUAR LA REALIMENTACIONFRES.-IMPRESIÓN DE RESULTADOSMENÚ PRINCIPAL
E = E - F K
1 1•~*N
2
1 '
PRESENTAR 0 IM-PRIMIR MATRIZ K
PRESENTAR O IM-PRIMIR MATRIZ E
GRABAR MATRICESEN: DATOSR/PRO
CARGAR Y EJECU-TAR: MENU/BAS.LARS
142
4.1. RESULTADOS
En este numeral se quiere demostrar el funcionamiento de los programas
implementados, en base al desarrollo de algunos ejemplos de aplicación
para objetivizar los resultados que se obtienen en el análisis de sist§
mas discretos o continuos (discretizados) en el espacio de estado.
En total se analizan cinco ejemplos de los cuales los cuatro primeros
corresponden, en lo posible, a problemas reales; en cada caso se realj_
za la modelación correspondiente para encontrar la descripción en va-
riables de estado que es necesaria para efectuar el ingreso de datos; el
quinto ejemplo no contempla un caso práctico y se lo ha implementado pa_
ra comprobar el funcionamiento de los programas para sistemas de orden
alto.
Cada ejemplo incluye ón desarrollo y los resultados impresos obtenidos
de la ejecución de los programas,a partir de los cuales se puede verifi_
car las afirmaciones y los requerimientos que constan en cada desarro-
llo. En todos los casos se ha tratado de explotar al máximo las posibi_
lidades de los programas. Todos los datos, las matrices de las ecuaci_o
nes de estado continuas y las matrices del equivalente discreto de cada
ejemplo están almacenados en el disco que contiene los programas. Los
nombres de los archivos se encuentran en el directorio del usuario y se
han escogido de tal manera que se pueda identificar rápidamente el ejejn
pío al- que corresponden; adicionalmentesen las hojas de resultados se
incluyen estos nombres.
143
EJEMPLO 1.- En este ejemplo se trata de resolver nuevamente el probl_e_
ma del ejemplo 2.3. del capitulo II con los mismos valo-
res allí utilizados para comparar los resultados y comprobar que efec_
tivamente se cumple con las especificaciones dadas en base al gráfico
de la respuesta.
En el ejemplo 2.3. se analizo el problema de controlar el movimiento
de un satélite, descrito por las siguientes ecuaciones:
X2
0]
X2
u(t)
Donde, de la figura 2.19., O es la dirección del desplazamiento del sa_
télite con respecto a su referencia inercia!.
Para la discretización se utiliza un periodo de muestreo T ="1 seg. ]J
tilizando el programa de Análisis se comprueba que el sistema discre-
to equivalente es inestable por tener sus dos polos ubicados en el pim
to +1 del plano z; se verifica que el sistema es controlable y observa_
ble. 'Mediante el programa de estados y salidas se comprueba la inesta_
bilidad del sistema realizando el gráfico de la respuesta y(k) para el
sistema sin excitación y bajo la influencia de una pequeña perturba-
ción dada por la siguiente condición inicial en los estados:
144
0.01
Utilizando las mismas especificaciones de respuesta del ejemplo 2.3.
la ubicación deseada para los polos es:
Pi , = 0.2 + j 0.4
Con el programa de reallmentaclon se determina la matriz K. y se modifi_
ca la matriz _E del sistema efectuando la reallmentaclon de estado; lue_
go,se vuelve a utilizar el programa de estados y salidas para compro_
bar que la respuesta y(k) cumple efectivamente con/las especificado -
nes. Todos los resultados que se han obtenido para este ejemplo se i_n_
dican en las siguientes páginas y concuerdan con los del ejemplo 2.3.
145
ESCUELA POLITÉCNICA NACIONALFACULTAD DE INGENIERÍA ELÉCTRICADEPARTAMENTO DE ELECTRONICA Y CONTROL
TESIS: ANÁLISIS DE SISTEMAS DE CONTROLDISCRETO EN EL ESPACIO DE ESTADO
= LUIS ALFONSO ROMERO SIERRA
Fecha.: 25 de JLI lio de
-W- -W- -5*- O A T O S -*£- •«- -X-
S I S "T E M A C O r^S T I M. U O
a >í C t: > == A >í C Ir > -E- IB LJ. C t
^i C -t ) = C x í -t } •*• 33 uí. C -t
M A T R I Z s A
í 1 )
( 1 ) 0n000 1..000( 2 ) 0.000 0«000
M A T R I Z sB
( 1 ')
0H(Z)00I1- 000
r-IATRIZ 'C
( 1 ) C 2 )
( 1 ) _ 1.. £300 0-000
M A T R I Z :D
C 1 )
í 1 )
0.000
tatos a lmacenados en •" DATOS1/CON
146
r> ISCRiHT X Z A C X ON
D 1 SC
C J< -*- 1 > =
y C k > =
DE: se: R x i^
x C i< > -i- F" ui C
-+- H ui C
MATRI
C 1 )C 2 )
M A T R I Z
( í )C 2 )
M A T R I Z
í 1 )
M A T R I Z :H
C 1 )
1.0000.000
C 1 )
0.3001.000
í 1 )
( 1 )
( 2 )
1«000
( 2 )
0..000
í 1 ) 0
PERIODO DE MUESTREO T= 1 < s e g )
147
OO Knr R O L **!, 3B X L_ X 13 /VO
MATRIZ 5Q
( 'l )
( 1 ) 0.500 1,, 5(3(3:L
DETERMINANTE = -1
SISTEMA CONTROLABLE
X L. X !O A3D
MATRIZ SR
( 1 )
( 1 ) i -000 0,, ©00
DETERMINANTE = 1
SISTEMA OBSERVABLE
X L X
ECUACIÓN CARACTERÍSTICA :
Exponente Coef i cíente
2 1 ,. 0001 . -2-0000 1 „ 000
POLOS DEL SISTEMA
Palo Real Imag «
1 , i n 000 0., 0002 1. 000 0a 000
SISTEMA I NESTABLE
148
r ,A, r> o s :a: r> A,
EM EL SISTEMA DE LAZO ABIERTO
ENTRADA DEL SISTEMA "u ( k ) Para k > o = 0
ESTADO -INICIALx 1 ( Í3 )
x 2 ( 0 ) 0,, 010
y í k )
R A.F7 X COS
kT
Escala eje vsrti cal = 0« 0200 (uni/div)
149
REIAI_ I MEN1TAC 1" OM 33EE: ESTADO
MATRIZ =K
C 1 ) ( 2 )
< í ) 0. .800 1.200
MATRIZ 'E (lazo cerrada)
í 1 ) í 2 )
C 1 ) 0.600 O» 4(20í 2 ) -0n800 -0.200
POLOS DE LAZO CERRADO :
Polo Real Imag-
2(30 -O-
-a*- •**• ESTADOS V S A L- X r> A S -se- -*«- HUÍ-
EN EL SISTEMA CON REALIMENTACION DE ESTADO
ENTRADA DEL SISTEMA =u ( k ) = 0 Para k > o = 0
ESTADO INICIAL :x 1 ( 0 ) = 0.0(30
x 2 ( 0 ) = -2«000
150
& R ,A IF" X C O
Escala eje vert í cal ~ 0.2560 ( u n i / d i v )
y í k )
kT
. Escala eje vertical ~ 0U 0877 (uni/div)
151
EJEMPLO 2.- Este ejemplo está orientado a resolver el problema del re_
guiador que se abordó en el capítulo II. Tomado del SJB
minarlo de Sistemas Discretos dictado por el Ing. Marco Barragán en la
E.P.N. del 22 al 30 de julio de 1985. Considérese el sistema de la fj_
gura 4.1., en el cual se trata de mantener suspendida una esfera de ma_
terial ferromagnético compensando la atracción gravitacional con la
I+A¡
Pantalla
COMPENSACIÓN
X + A xN I
Lampara
Fig. 4.1. Sistema de control para la suspensión de una esfe_ra.
fuerza producida por el electroimán; no existe señal de entrada al si_s_
tema y, los estados se realimentan mediante el sensor compuesto por la
lámpara y la pantalla, a través de un compensador que en nuestro caso
es discreto. El movimiento de la esfera está gobernado por la ecua-
ción diferencial.
m X = - mg + f(Xs I) .
Donde m es la'masa,de la esfera, g es el valor de la gravedad, I es la
magnitud de la corriente que circula a través de la bobina y f es la
152
fuerza ejercida por el electroimám en función de la corriente y la posj_
ción de la esfera. En el equilibrio, el desplazamiento X es constante
y se cumple que:
f(X, I) = mg .
Si existe una pequeña desviación de la posición de equilibrio, por ejem_
pío un incremento Ax, para mantener el equilibrio deberá incrementarse
la corriente en un valor Ai; en este caso, la ecuación del movimiento
sería:
md2(Xdt¿AX) = " mg + f (X + A x> l + A1) ' ' (4'1}
La fuerza f es en general no lineal; sin embargo, para AX y Ai
temente pequeños, es posible linealizar f alrededor del punto X e I
sarrollándola en series de Taylor; es decir:
f(X + Ax, I + Ai) = ' f ( X , I) + 8X Ax + 8f
= f (X, I) + ki Ax + k2 Ai .
En el desarrollo se desprecian los términos de la serie que contienen
potencias de Ax y Ai; ki y k2 son las constantes que resultan de
evaluar las derivadas parciales de f en el punto de equilibrio X, I.
Reemplazando la aproximación de f en la ecuación (4.1) se obtiene:
m Ax = - mg + f(X, I) + ki Ax + k2 Ai
153
SI recordamos que en el equilibrio: f(X, I) = mg; y, reemplazamos Ax
por x y Al por 1, el movimiento de la esfera, para pequeñas variacio-
nes de la posición, depende de la ecuación diferencial:
m x = ka. x + k2 i -
Definiendo los parámetros del sistema de la siguiente manera:
u = i
Xi
X2
ki
m =
— y
= X
20 [N/A]
0.4 [N/A]
0-02 [Kg] ,
las ecuaciones de estado son;
1000
Xi
,[1 0]
20
Utilizando el programa de discretización se encuentra que el período de
muestreo adecuado sería T = 0.029 [seg]; se escoge un período de mues-
treo menor, T = 0.01 [seg] . La discretización se hace utilizando el
154
método de series por ser el más rápido. El sistema discreto equiva_
lente es controlable, es observable pero también inestable, como lo de_
muestran los resultados obtenidos del programa de análisis y del calcu_
lo de los estados y salidas que se presentan en las siguientes páginas;
en donde, se ve que para una pequeña condición inicial en los estados,
la respuesta del sistema (el desplazamiento X de la esfera) crece ind_e
finidamente.
Para conseguir la estabilidad se realiza la realimentación de estado a
través de un compensador como lo indica la figura 4.2.; en nuestro ca^
so no intereza el tipo de sensores que se utiliza ni como se miden los
estados; simplemente partimos de que se dispone de los estados para
efectuar la realimentación. Determinemos la ubicación deseada de los
polos para cumplir con las siguientes especificaciones de respuesta:
tr <_ 0.1 [seg], ts <_ 0.4 [seg], % Mp 5 20%
Para un sobreimpulso del 20%, -a partir de:
20 % = (1 - ?/0.6) 100 .
Se obtiene un £ = 0.48; 'en realidad, un valor más preciso para £ es
0.46 ; a pesar de esta diferencia, para valores de Mp >_ 10%, la' fór
muía anterior resulta conveniente; en este caso por ejemplo, el valor
de £ calculado a partir de la fórmula es mayor y esto asegura aún
más el cumplimiento de las especificaciones. Para un tiempo de subida
tr < 0.1 seg., utilizando la expresión:
0.1 = " > 9 - eos'1 0.48
wn /I - S2'
Revisar Digital Control of Dynamical Systems, G. Franklin, Pag, 101
155
se determina que wn = 23.71 [rad/seg]. Por último, para ts _< 0 .45 [seg]
de ts = 4.6/a se determina que a = 11.5 [1/seg];- de donde los polos de
ben colocarse dentro de un círculo de radio |e~ = 0.89. La región ,
dentro de la cual se pueden ubicar los polos se delimita en el mapa
normalizado de la Fig. 4.2.; donde se señala la posición exacta de los
polos de lazo cerrado que se ha escogido para cumplir con las especifi_
caciones; matemáticamente:
P.i,2 = J 0.2
l.l -í.l -í.í -*.1 -4,2 l.t . I.J 1.1 l .t I I . U 1,1 . l.í
Fig. 4.2. Ubicación de polos de lazo cerrado del ejemplo 2.
156
Utilizando el programa de realimentación de estado se encuentra la ma-
triz de realimentación para los polos escogidos y se determina la ma_
triz E de lazo cerrado; del análisis de los estados y la salida gráfi-
ca y numéricamente, para el sistema de lazo cerrado, se verifica el
cumplimiento de las especificaciones de respuesta asumidas. Los resu]_
tados obtenidos se indican en las páginas siguientes. La condición inj_
cial supuesta para la posición tiene solamente el carácter de demostra_
tiva porque, en la práctica, debe tomarse en cuenta que el modelo li-
neal describe al sistema únicamente para pequeños desplazamientos de
la posición de equilibrio.
157
ESCUELA POLITÉCNICA NACIONALFACULTAD DE INGENIERÍA ELÉCTRICADEPARTAMENTO DE ELECTRONICA Y CONTROL
TESIS: ANÁLISIS DE SISTEMAS DE CONTROLDISCRETO EN EL ESPACIO DE ESTADO
Autor: LUIS ALFONSO ROMERO SIERRA
25 de Julio de 1986
-x- -x- -K- r> A ~T O S
~re:M A COIMT x MU o
< -t ) = A x < -t > -*- E Lt < -t >
< - c > = C > í C i r > -f- E> t _ i C i r >
MATRIZ :A
( i )
( 1 ) 0-000 1..000( 2 ) 1000 ,.000 0«000
MATRIZ" ¡IB
( 1 )•
( 1 ) 0.000( 2 ) 20«000
MATRIZ s C
C 1 ) ( 2 )
( 1 ) 1.GJ00 0U000
M A T R I Z :D
158
C 1 )
C .1 )
0,. 000
Datas almacenados en : DATOS2/COM
MATRIZ
MATRIZ ¡¡(i
( 1 )
MATRIZ :H
( 1 ) -
D X SCRET I Z AC I OM -3Í--3*--*-
SISTEMA £> I
= E
M E T í_> E> O r> HL
M A T R I Z :E
1»(35010-Í6S
0,,203
C 1 )
1 „ 000
( 1 )
0.000
( 2 5
0-0101. 030
( 2 )
0.000
F* i_i C
H ».
PERIODO DE MUESTREO T= .01 íseg)
159
••Mr -a*- -Mr A 3VÍ! X -*c- •*(.- -x~
O r-fl T R O ÍL__ A :B. X L X E> A 3D
MATRIZ
C 1 )( 2 )
< 1 )
0. 001(2,, 203
0M0030« 224
DETERMINANTE = «4.10101E-04
S I STEMA CONT ROLABLE
O IB S E R V A US X L_
MATRIZ
( 1 )
1-0001B¡2J5Í3
DETERMINANTE = «0101675*
SISTEMA OBSERVABLE
í 2 )
0,,Í3(300.010
ES"T*ADB X L X
ECUACIÓN CARACTERÍSTICA
Ex pon en te
1O
POLOS DEL SISTEMA
Palo
1
A D
Coeficiente
' 1M000 '-2.1011.000
Real
1.372GK729
Imagu
0,. 000
160
SISTEMA INESTABLE
!D O S ' V S A, L X 'JO iA, S ->c- •*«- -M-
EM EL SISTEMA DE LAZO ABIERTO
ENTRADA DEL SISTEMAu ( k ) = 0 Para k > o = 0
ESTADO INICIAL :x 1 ( (3 )
x 2 í 0' )
(3,,
0.,(Z)10
y í k )
iR A IR" X C O
Escala eje vertical = 0n0038 (uni/div)
MATRIZ "K
C I ) O Q L. ¿. p<_í 7 u UJI..ÍÍ-Í
MATRIZ "E (lazo, cerrada)
( 1 )
-8,067
POLOS DE LAZO CERRADO
Palo Real imag •
EN EL SISTEMA CON REALIMENTACIÓN DE ESTADO
161
REA C.T ON
ENTRADA'DEL SISTEMA :u ( k ) = 0 Para k > a = O
ESTADO INICIAL
CM
iS
inm
"> in
sis m
s in s
03s CM r- 03
co«N tn oa
E3
n -N
03 <3 in CM
03 Si I
G3 03 C-í
S S CM
m s ro
03 CM Q
03 0303 03
in
03 ¡N Q
n o -o -T£3
03Q 3 Í3 ro
03CM S
X
CM x
CM x
-r-i
CM
X X
163
2 ( k }
kT
Es cala eje ver t i ca 1 ™ 5 „ Í37S1 í un i / d i v )
kT
Escala eje vertical = 0,, 3280 (uni/div)
164
EJEMPLO 3.- Cuando se utiliza un controlador discreto para un sistema
continuo en el que las señales correspondientes a los e_s_
tados contienen frecuencias bastantes altas, la parte más crítica del
diseño es la elección del periodo de muestreo adecuado que asegure el
buen funcionamiento del sistema de lazo cerrado. Un sistema de este
tipo es el control de posición de un servomotor de continua esquemati-
zado en la figura 4.3. en donde se ve que el control se ejerce median-
u(k)
Potenciómetro
Ra La v¡a
R Ia(k)
CONTROLADOR
DISCRETO
k20(k)
Fig. 4.3. Control de posición de un motor DC con realimentación de es-tado.
te la variación del voltaje de armadura u. Para encontrar las ecuaci^
nes de estado del sistema escribamos las ecuaciones diferenciales co-
rrespondientes; en la parte eléctrica:
u = Ra la + La díadt
E = Kv W
En la parte mecánica:
T = J dwdt + B W T = Kt la
165
donde, w = dQdt
Definiendo los parámetros; Xi = O . • •
x2 = W
x3 = la
v = O •y w >
y, combinando las ecuaciones diferenciales anteriores, la descripción -
del sistema a variables de estado es:
X l
X2
X3
-
0 1 0
n B Ktu J J
Ra Kv n
-" U " LT ü J
Xi
Xz
X3
+
0
0
I/La
y- iX2
X3
Para este ejemplo se quiere analizar el efecto de la variación del perío_
do de muestreo en el comportamiento del sistema y en sus características
Internas como son la controlabili dad y la observabilidad; se útil izan los
siguientes parámetros: W
Tomados del articulo Análisis, Diseño y construcción de un Sistema E_lectrónico de Control para una máquina D.C., Ing. H. Banda, Sr. B. Le_desma, Jornadas de Ingeniería Eléctrica y Electrónica, Junio de 1985,p. 124-125. •
166
Ra = 3.88 [
La = 15.56 [ m H ]
J = 8.02 x 10"* [ Kg-m-segVrad.]
Kv = 0.5125 [ V-seg/rad ]
Kt = 0.3521 [Kg-m/A]
B = 9.677 x 10~3 [Kg-m-seg/rad]
Reemplazando valores , la ecuación de estado es
X i
12.94 438.97
- 249.36 - 32.94
El periodo de muestreo adecuado para este sistema es T=o'.01 [seg]; dis_
cretizando al sistema con T = 0.01 [seg] , T = 0.005 [seg] y T = 0.02
[seg ] se determinan las características de controlabilidad, observabj_
lidad, estabilidad y los gráficos de los estados y la salida para cada
caso (Para T = 0.02 [seg] y T = 0.01 .[seg] se han completado los gráfi_
eos con líneas verticales); de los resultados que a continuación se ad_
juntan, se puede ver que conforme aumenta el período de muestreo aumen_
ta la magnitud de los elementos de la matriz F y los determinantes de
167
las matrices de controlabilidad y de observabilidad aumentan en mag-
nitud; si se disminuye lo suficiente el período de muestreo,el sistema
se vuelve incontrolable e inobservable; en cambio, con el aumento del
período de muestreo se pierde mucha información acerca de las-caracte-
rísticas de las señales, por ejemplo para T = 0.02 [seg] ya no es posj_
ble identificar la frecuencia de los estados, en cambio si T = 0.005
[seg] las características de las señales son perfectamente identifica-
bles.
Para completar este ejemplo, que por ser de tercer orden es ideal para
el efecto y aprovechando la facilidad de mover los polos de lazo cerr^
do con la realimentación de estado, se analiza el efecto de la ubica-
ción del polo real en la respuesta del sistema, utilizando el período
de muestreo T = 0.005 "'(?eg] , cuando existen dos polos complejos dominan_
tes. Si el polo real esta muy alejado hacia la izquierda, su efecto es
nulo y la respuesta corresponde a un sistema de segundo orden; conforme
se desplaza el polo hacia la derecha el sistema se vuelve cada vez más
lento, disminuyendo el sobreimpulso y el error en estado estable;-finaj_
mente, cuando el polo real está más hacia la derecha que los complejos
la respuesta se asemeja a la de un sistema de primer orden. En las pá_
ginas siguientes se indica las variaciones de la respuesta para las dis_
tintas ubicaciones de los polos.
168
ESCUELA POLITÉCNICA NACIONALF A C'JLT AD 3?6 I NGEN I E R IA ELE CT R I C ADEPARTAMENTO DE ELECTRONICA Y CONTROL
TESIS: ANÁLISIS DE SISTEMAS DE CONTROLDISCRETO EN EL ESPACIO DE ESTADO
Autor: LUIS ALFONSO ROMERO SIERRA
Fecha." 25 de Jul i o cíe 19Só
D A. "T O S
C t __> M T X M LJ O
cdl >í í -t >
y c ír >
A >í C E LÍ < -t
o LJ. c -t
í 1 ) 3 )
C i >
MATRIZ :C
< • 1 )
( 1 )
1 ,
C 3 )
0,000
MATRIZ KD169
( 1 )
( 1 )
0.000
D a tos a 1 ni acenadas e n ' D AT O S 3 / C O M
r>I SCREiTI Z ACIÓN
SISTEMA D I SC RE
C k: ~E- 1 > -+- F" ¡_í. C k;
H
MATRIZ
í 1 )( 2 )( 3 )
MATRIZ s
MATRi:
( 1 )
MATRi:
( 1 )
í 1 )
( 1 )
í 1 )
1 . 000
( 1 )
0-000
0-000
( 3 )•
0-0193n 1910.-3Ó9
( 3 )
PERIODO DE MUESTREO T (seg)
170
A I-vil A L X X -3"ír
C c j 5vH 1I~ R O L- A E X L_ X D A 3D
MATRIZ
( 1 )
(3 ,,0041 u 1990.500
1,914-0-123
C 3 )
(¿L8330,041-0.567
OESERVAE X L X DAD
MATRIZ S R
( 1 )C 2 )C 3 )
í 1 )
0,000
0 „ 0070- 005
( 3 )
0» 000'0,019
0. 04S
DETERMINANTE = 2.Ó755E-04
SISTEMA OBSERVABLE
AE X L_ X
ECUACIÓN CARACTERÍSTICA :
Exponente
3
1(3
Caefi cíente
1 . 000-1.6341.612
-0.SS6
POLOS DEL SISTEMA
Polo Real Imag
171
1 0,.927 0. 0002 0,354 0,9123 0-354 -0.912
SISTEMA ESTABLE
-w- ->t- ££! S T A ÜD O S Y £3 -A, L X "JD
EN EL SISTEMA DE LAZO ABIERTO
ENTRADA DEL SISTEMA :u ( k ) = i Para k > o
ESTADO INICIAL :x 1 C 0 ) = 0 n 0 0 E 3
x 2 ( 0 ) = 0-000
x 3 ( 0 ) = 0.000
<~ñ R -A IF" X C O S
172
Jl
jikT
Ir
Escala eje vert ical = 0» 3968 ( u n i / d i v )
x 3 ( k )
L Jl
kTTI
Lscala eje vertical = 0n0975 (uni/div)
174
DI SC RETÍ ZACI ON
S ISTEMA DISCRETO
>í C k -»- 1 > = E: >c t k > -t- E u C k >
ij C |< > = G x < k > •+- H i_i < k >
MÉTODO DE SERIES
MATRIZ :E
C 1 ) C 2 ) ( 3 )
C 2 ) -1-301 0.771 2. 003( 3 ) -1.173 -0.153 Í3..326
MATRIZ :F
( 1 )
C 1 )C 2 )C 3 )
MATRIZ :G
( 1 )
MATRIZ :H
- •
C 1 )
0=0010., 3350.302
( 1 )
1.0(30
( 1 )
0 „ 000
•
( 2 ) ( 3 )
0n000 0-000
PERIODO DE MUEBTREO T= 5E-03 (seg)
175
COMTROL-A3B X L_ X !D ¿M3
MATRIZ S Q
C 1 ) ( 2 ) ( 3 )
( 1 ) 0. 0(31 0., 004 0-009( 2 ) 0.335 0,863 1.057( 3 ) 0.302 0.198 0H027
DETERMINANTE = -6.46977E-04
SISTEMA CONTROLABLE
ODBSEFÍVA3B. X L_ X D^D
MATRIZ "R
C 1 ) C 2 ) ( 3 )
( 1 ) 1.000 0., 000 0H000C 2 ) 0.998 0*005 ' 0. 005-( 3 ) 0,984 0,,007 0-019
DETERMINANTE = 4.71707E-05
SISTEMA OBSERVABLE
I L_X I
ECUACIÓN CARACTERÍSTICA :
Exponente Coefi cíente
3 1-0002 -2.5951 2.5490 -0B941
POLOS DEL SISTEMA
Polo Real Imag
176
1 0-816. 0 -5392 O,. 816 ' -0.5593 0. 963 0H 000
SISTEMA ESTABLE
x
EN EL SISTEMA DE LAZO ABIERTO
ENTRADA DEL SISTEMA :u ( k ) = 1 Para k > o
ESTADO INICIAL :x 1 ( 0 ) = 0*800
x 2 ( 0. ) = 0-000
x 3 ( 0 ) = 0.000
177
•S R A F=" X C O
x 2 ( k )
Escala eje vertical = 0.4^:69 ( u n i / d i v )
k.T
kT
bscala eje vert ical = 0.100^: ( u n i / d i v )
179
•*••*»«• DISCRETI ZACIÓN •*-•*••*•
SISTEMA DISCRETO
>í < k: •+• 1 > — E >c C k: ) -*- F" LA C k >
y C k: > ' = G x C k > H- H LI C I-i )
MÉTODO DE SERIES
MATRIZ :E
( 1 ) C 2 ) C 3 )
( 1 ) 0.897 0U(305 0,048( 2 ) -12-1370 -0.753 1.939( 3 ) -1.462 ' -0.177 -0,693
MATRIZ :F
( 1 )
( 1 )
C 3 )
MATRIZ sG
C 1 )
MATRIZ :H
•
C 1 )
0 „ 0263* 1 130-377
( 1 )
1 -000
( 1 )
0H 00(3
< 2 ) ( 3 )
0n 000 0,,000
PERIODO DE MUESTREO T= .02 (seg)
180
A M A L_
COlxlTROU.A:B X L X :
M A T R I Z :Q
( 1 )C 2 )( 3 )
( 1 )
0.0263,, 1130.377
C 2 )
0- 056-1.913-0. S52
C 3 )
0.000-0. 9320-851
DETERMINANTE - -.233114
SISTEMA CONTROLABLE
O 3B SE FE VADE- X L_ X
MATRIZ s R
í 1 )( 2 )C 3 )
C 1 )
1-0000.897
0.680
¡2*0000n 005-0U008
( 3 )
0U 0000.0480.019
DETERMINANTE = 4-67441E-04
SISTEMA OBSERVABLE
ECUACIÓN CARACTERÍSTICA
Exponente
10
Coef iciente
1-0000-553-0.299-0.736
POLOS DEL SISTEMA
Polo Real Imag
1010.859 8,, 000
-0.706 0.643~0.706 -0.645
SISTEMA ESTABLE
ESTA-DOS Y SAL DC DAS
EN EL SISTEMA DE LAZO ABIERTO
ENTRADA DEL SISTEMA :u ( k ) = 1 Para k > o = 0
ESTADO INICIAL :x 1 ( 0 ) = 0-.0Í3I3
x 2 ( 0 ) = 0
x 3 ( 0 ) = 0.000
X
x 2 < k )
182
kTU U U u L
Escala eje vertical = 0«39^1 (uni/div)
x 3 í k )
_r
ru n kT
U
Escala eje vertical = 0U0882 (uni/div)
Efecto de un polo real en la respuesta de un sistema de tercer qr_
den con dos polos complejos dominantes.
104
-M-M--M- DISCRETI 2 A C I Ó N
SISTEMA ID ISCRETO
>í C k -t- 1 } = E >í C k > -*- F" L_I C k >
tJ C *< > = G x C k > •+• H LJ. C k )
MÉTODO DE SERIES
MATRIZ :E
C 1 ? ( -2 ) ( 3 )
( 1 )( 2 )( 3 )
MATRIZ :F
( 1 )
( 3 )
MATRIZ :G
( 1 )
0.
-1._ -j
C
0-
0,
C
1,
998301173
1 )
001
302
1 )
000
0U005 0a0050.771 2.003
- -0.133 0U82Ó
C 2 ) ( 3 )
0n 000 0= 000
MATRIZ =H
í 1 )
( 1 ) 0n000
PERIODO DE MUESTREO T= 5E-03 ( seg )
185
->£--K--K- -Xr
CONI1TROL-A3& X L_ X
MATRIZ sQ
( 1 )( 2 )( 3 )
( '1 )
0-0010=335(2.3(32
C )
0U 0040. 8630. 198
( 3 )
0U 0091.0570-027
DETERMINANTE = -6-46977E-04
SISTEMA CONTROLABLE
MATRIZ :R
( 1 )( 2 )( 3 )
( 1 )
1,0000.9980-984
( 2 )
0n 000
0,,007
C 3 )
0.0000H0050U019
DETERMINANTE = 4-71707E-05
SISTEMA OBSERVABLE
L_ i r> A r>
ECUACIÓN CARACTERÍSTICA
Expanente
3
10
Coef i cíente
10000-2.5952.549-0.941
POLOS DEL SISTEMA
Polo Real Imag
1S6
1 0.316 02 0-S16 -0..5593 0.963 0.000
SISTEMA ESTABLE
•X--M-* REALIMENTACIÓN DE ESTADO -*--»--*-
MATRIZ 5K
( 1 ) ( 2 ) ( 3 )
C 1 ) 9.296 -0.238
MATRIZ :E (lazo cerrado)
C 1 ) ( 2 ) ( 3 )
( 1 ) 0-993 ' 0.005 0.004( 2 ) -4.419 0.851 1.261 •( 3 ) -3.985 ~0U0S1 0.157
POLOS DE LAZO CERRADO :
Palo Real Imag
0.300 0.0000,850 0.2000HS50 -0.2(30
-te--Mr-Mr E:S~T AE>OS "V SAiL. X E> S
EN EL SISTEMA CON REALIMENTACION DE ESTADO
ENTRADA DEL SISTEMA :u ( k ) = 1 Para k > o = 0
ESTADO INICIAL :x 1 ( 0 ) = 0-000
X 2 í (3 > sr
x 3 í 0 ) s=
0.00Í3
0 «13013
187
I-COS
y í k )
kT
Escala eje vertical = 0-0086 ( u n i / d i v )
RE AL I MEMTACI OM DE ESTADO
MATRIZ :K
< 1 )
( 1 )
3-649
( 2 )
-0.321
MATRIZ :E (lazo cerrado)
( 1 ) ( 2 )
( 1 )C 2 )
0. 990—2.525
0H E2050.878
C 3 )
1.323
( 3 )
0U 0041.559
188
( 3 ) --2.277 -0.056 0.426
POLOS DE LAZO CERRADO :
Palo Real Irnag.
13.6(30 0-0000-.S50 0.2000.850 -0.200
-a*- -3*. -3*- E S T" ¿?\> O S "V S /^ L- I 'O
EN EL SISTEMA CON REALIMENTACIÓN DE ESTADO
ENTRADA DEL SISTEMA :u ( k ) = 1 . Para k > o = 0
ESTADO INICIAL :x 1 ( 0 ) = 0.000
x 2 ( '0 ) = (3.,000
x 3 ( 0 ) = 0-0Q0
R .Ai F7" X O O S
y ( k )
189
kT
Escala eje vertical ,, 0150 ( u n i / d i v )
RE AL I MEMTACI OKI DE ESTADO
MATRIZ -K
( 1 )
C 1 )
-0. 115
( 2 )
-0.376
( 3 )
0.730
MATRIZ -'E (laso cerrado)
( 1 ) ( 2 )
( 1 )( 2 )( 3 )
0.998-1-262-1.139
0U0050.897-0H039
C 3 )
0.. 0051.7580. 6135
POLOS DE LAZO CERRADO :
Polo Real Imag
3
GKS000,,8S00.850
0.200-0. 200
190
ESTADOS V SAL X .O AS
EN EL SISTEMA CON REALIMENTACIÓN DE ESTADO
ENTRADA DEL SISTEMA :u ( k ) = i Para k > o = 0
.ESTADO INICIAL :x 1 ( 0 )
x 2 ( 0 )
x 3 ( 0 )
X OOS
0.000
0_000
0.000
y ( k )
kT
Escala eje vertí cal = 0,. 0 :80 (un i/di v)
191
REAL I MENTA C I OM DE ESTADO -*--*--*-
MATRIZ :K
( 1 ) ( 2 ) < 3 )
( 1 ) -1 ,.056 ' -0.390 0.582
MATRIZ :E (laza cerrada)
( 1 > ( 2 ) ( 3 )
( 1 ) 0.998 0-005 0-005( 2 ) -0,, 947 0- 902 i. 808C 3 ) -0n854 -0B035 0.650
POLOS DE LAZO CERRADO :
Polo Real Imag.
0.B50 0.0000n850 ' 0.2000n850 -0n20®
-w--w-.3*- ESTADOS Y S.A.L
EN EL SISTEMA CON REALIMENTACION DE ESTADO-
ENTRADA DEL SISTEMA :u C k ) = 1 Para k > o = 0
ESTADO INICIAL :x I ( 0 ) = 0.000
x 2 ( 0 ) = 0D000
x 3 ( 0 ) = 0.000
<5¡ R A n=- x C O S
y í k )
192
kT
Escala eje vertical 0n 0356 (uni/div)
REAL I OM r>EI ESTADO
MATRIZ =K
( 1 )
( 1 )
-1.998
C 2 )
-0. 404
( 3 )
0.434
MATRIZ :E (lazo cerrado)
C 1 ) ( 2 >
( 1 )(. 2 )( 3 )
0.999' -0-631-0.369
0H 0050. 906-0- 031
( 3 )
0-0051.8570.695
POLOS DE LAZO CERRADO :
Polo Real Imag
193
0. 9(30 (3,0000..B50 0.20(30,,S50 -0.20(3
~r ¿ O O S V" S ¿=* I X O l
EN EL SISTEMA CON REALIMENTACION DE ESTADO
ENTRADA DEL SISTEMA :u ( k ) = 1 Para k > 0 = 0
ESTADO INICIAL :x 1 ( 0 ) = 0.000
x 2 ( 0 ) = 0n000
x 3 ( 0 ) = 0.000
195
EJEMPLO 4.- Retomemos el problema del diseño de la ley de control para
estabilizar el sistema de la figura 4.4. consistente de un
bloque móvil unido a un péndulo invertido111 . Se restringe el movimien_
M
Fig. 4.4. Sistema bloque móvil - péndulo invertido.
to a valores pequeños de 9 con el fin de obtener un modelo matemático
lineal. Se supone que los estados pueden ser metí i dos o estimados.
Para encontrar la descripción a variables de estado del sistema escrj_
bamos las ecuaciones diferenciales que lo gobiernan. La suma de
zas en el eje horizontal debe ser cero; entonces:
My + m91 - u = O . (4.2)
Donde, u es la señal de entrada al sistema que en este caso consiste de
la realimentación de los estados; 1 es la longitud del péndulo; y, 91
es la aceleración lineal de la masa m. Se considera que M » m. Otra
condición que debe cumplir este sistema es que la suma de torques con
respecto al eje del péndulo es cero; es decir:
Sistemas Automáticos de Control, DORF Richard C., p. 295-297.
- mgl senQ + myl eos 9 + mQl2 = O
Para valores pequeños de 9: sen 9 = 9
eos 0 = 1 ;
1C6
entonces: - mgl9 + myl + mOl = O . (4.3)
Escogiendo el vector de estado como (xi, x2> x3 > xO = (y, y, 9, 9) y
utilizando las expresiones 4.2. y 4.3., se llega a las ecuaciones:
Xi = X2
xa = -
X3 ~ "m U
Para los valores de M = 10 [Kg] a m = 1 [Kg], 1 = 1 [m] y g = 9,
[N-m/seg] , la descripción a variables de estado es:
Xi
X3
X 4
O - 0.98 O
Xi
X 2
X3
_ X 4 _
4-
0
0.1
0
_ 0.1
197
y = [o o]
X3
Xt*
Dado que el orden de este sistema es considerable, se ha creído convenien_
te realizar la discretización del sistema por los dos métodos posibles:
series y trapecios, para observar la diferencia en el tiempo de ejecu-
ción, en el método de series el tiempo requerido es de 3 minutos y 20 s_e_
gundos; en tanto que, en el método de trapecios se necesitan 7 minutos
para la discretización; es decir aproximadamente el doble. El periodo -
de muestreo utilizado es de T = 0.3 [seg] .
Del análisis del sistema se encuentra que aunque es- controlable no es po_
sible estimar los estados a partir de las mediciones de la entrada y la
salida por ser inobservable; por tanto, la única forma de efectuar la
realimentación seria a partir de la medición de los estados. Para que el
sistema se comporte como uno de segundo orden debe tener dos polos com-
plejos dominantes cuya ubicación la vamos a determinar a partir de las
siguientes especificaciones de respuesta:
Mp = 20%
tr = 1.5 [seg]
ts = 3 [seg] ;
siguiendo el mismo procedimiento del ejemplo 2, se encuentra que:
198
- 0.48
wn = 1.57 [ rad/seg ]
a = 1.53 [ seg"1]
La región adecuada para la ubicación de los polos se indica en el mapa
de la figura 4.5. ; en donde se señala también la posición exacta que
se ha escogido. Nótese que dos de los polos son reales y están aleja_
dos de los dominantes hacia la izquierda.
Los resultados impresos obtenidos aparecen en las páginas siguientes, en
donde se puede comprobar lo afirmado y verificar que la ubicación de po_
los escogida permite cumplir con las especificaciones de respuesta suge_
ridas.
1 00-L _/ j
-L.C -1.1 -¡,1 -|.l H.l -í.E -1.1 H.7 ».l Í.7 1.1 l.t 1.1 1,1 1.1 1.1 l.t
-l.C -1.1 -l.í -I. I •«.* "«.I U . ».l 1.1 l.t 1.1 1.1. U 1.1 . U
Fig. 4.5. Ubicación de polos de lazo cerrado del ejemplo 4.
200
ESCUELA POLITÉCNICA NACIONALFACULTAD DE INGENIERÍA ELÉCTRICADEPARTAMENTO DE ELECTRONICA Y CONTROL
TESIS: ANÁLISIS DE SISTEMAS DE CONTROLDISCRETO EN EL ESPACIO DE ESTADO
LUIS ALFONSO ROMERO SIERRA
Fecha : 23 de Jul io de 1980
33 A T" O S
A COMT X MUO
ci x C -t :>
•LJ C -t }
A x < i:
C x < -t
D& i_i í -t >
33 u. C -t >
MATRIZ :A
( 1 )( 2 )( 3 )( 4 )
( 1 )
0.000
0,0000 n 000
( 2 )
1-000
0 U 000
( 3 )
0.000-0.9S00.0009. 800
( 4 )
1 „ 0000.000-
M A T R I Z :B
C 1 )( 2 )( 3 )
X 4 )
( 1 )
0 U 1000.000
-0- 100
MATRIZ :C
( 1 )
C 1 )
0-000
( 2 )
(¿K000
( 3 )
1.000
( 4 )
0.000
201
MATRIZ sD
C 1 )
( i ) 0,. 0(30
Datos almacenadas en • DATOS4/CON
DISCRETI 2 ACIÓN •
SISTEMA E» ISCRETO
í k -H 1 > = E x C k > -*- !=• • u. C k >
y < k > = <5 x < k > -+- H ui C k )
MÉTODO DE SERIÉIS
MATRIZ :E
MATRIZ :F
MATRIZ sG
( 1 )
MATRIZ :H
C 1 )
C 1 )
( 1 )
( 1 )C 2 ) '( 3 )( 4 )
0,.0«
-0.-0,.
005030005035
( 1 )
0.000
( 1 )
0.000
( 2 )
( 2 )
0. 000
( 3 )
( 1 )C 2 )C 3 )C 4 )
1 - 0000*00(20H0000n000
0.3001.0000n0000B 000
-0.047~0fl3391.4743-392
-0. 005~0n 0470.3461 . 474
( 3 )
1.000
( 4 )
0.
PERIODO DE MUESTREO T= .3 (seg)
MÉTODO DE TRAPECIOS
MATRIZ
M A T R I Z s F
MATRIZ
( 1 )
MATRIZ
( 1 )
:H
( 1 )
( '1 )( 2 )( 3 )( 4 )
Í3»0 U
-0,-0,,
005030005035
( 1 )
( 1 )
0.000
C 2 )
0 = 000
PERIODO DE MUESTREO T= .3 (seg)
C 3 )
C 3 )
1.000
202
( 4 )
( 1 )C 2 )í 3 )( 4 )
1.0000 U 0000.0000 n 0Í30
0.3001.000
0.000
0n000
-0.047-0.339
1 . 4743.. 392
-0.005-0- 047
0-3461 . 474
( 4 . )
0.000
- -3*- -*C- L_
COlxl"TROLAE X L_ X J
MATRIZ
C 1 )
( 3 )
( 1 )
0.0050 U 030
•0-005
0..0140« 034
-0.017
( 3 )
0.0250 n 043
-0-052
( 4 )
0.0420-067
~ 0 H 133
< 4 ) -GK (335
DETERMINANTE = 6,, 60402E-08
SISTEMA CONTROLABLE
O33.SIEIRV
-0., (367
X L_ I
-0. 164
203
-0- 417
MATRIZ ::R
C 1 )
DETERMINANTE « 0
SISTEMA INOBSERVABLE
ESTA E X L_ X
ECUACIÓN CARACTERÍSTICA
Exponente
4
10
POLOS DEL SISTEMA
Falo
1
34
SISTEMA INESTABLE
Real
1B0001. 0002.5380.391
Coef i cíente
-4.9497.898-4.9491.000
Imag .
-0. 000O. 000
0., 00E30. 000
( 4 )
( 1 )í 2 )( 3 )( 4 )
0-0000,, 0(3©0.0000,. 00Í3
0,,000
0U000
0-0000n 00E3
1 » 000
1.4743. 348S-397
0. 000
0. 3461 „ 0212.663
204
r A o o s A L_ 3: r>
EN EL SISTEMA DE LAZO ABIERTO
ENTRADA DEL SISTEMA :u < k ) = 0 Para k > o = O
ESTADO INICIAL :1 C 0 )
2 ( 0 )
3 ( 0 )
4 ( 0 )
0. 10(3
0. 100
y ( k )
kT
Escala eje vertical = "/.2 9455.2662 (uni/div)
RE A U I MENTA C ION DE ESTADO
MATRIZ :K
( 1 )
( 1 ) < 2 )
-19.503
MATRIZ 'E (laza cerrado)
< 1 ) C 2 )
POLOS DE LAZO CERRADO :
Polo Real
í 3 )
234.812
( 3 )
Irnag.
1234
0.2000. 400
'. 0- 6000. 600
0U 000
0. 0000. 100
~0B 100
205
( 4 )
-76. 631
( 4 )
( 1 )C 2 )( 3 )< 4 )
1_0480-323
-0-051-0..36S
0.3831.594
~0-(294-0.675
1.0176.8140-337
-4.740
0.3432.2S7
~(ZL 025-1. 179
ESTADOS V S.AJ
EN EL SISTEMA CON REALIMENTACIÓN DE ESTADO
ENTRADA DEL SISTEMA :u C k ) = 0 Para k > o - 0
ESTADO INICIAL :x 1 ( 0 )
x 2 ( 0 )
X 3 ( 0 )
0- 000
1.000
0»000
Z07
EJEMPLO 5.- Este ejemplo es más bien Ilustrativo del funcionamiento de
los programas para el análisis de sistemas de orden alto;
la ecuación de estado y salida que a continuación se indican, no corres_
ponden a un caso real y describen a un sistema continuo modelado por la
ecuación diferencial:
y(6) + 4.4 y<5) + 12.18 y^ + 17.92 y^ + 14.5 y^ + 6.38 y^ + 1.2y = u
Escogiendo convenientemente los estados o simplemente usando la teoría
vista en el Capitulo I, se obtiene la descripción a variables de estado
en la forma canónica controlable; las matrices de las ecuaciones de e _
tado:
B_ u_(t)
D_u_(t)
aparecen impresas en las hojas de resultados que se indican más adelan-
te.
Con el programa de discretización, se encuentra que el periodo de mues-
treo adecuado para este sistema es T = 0.63 [seg] ; con este periodo de
ATmuestreo la serie de _e_ — debe tener 245 términos y con el fin de dismi_
nuir el tiempo necesario para la discretización se escoge T = 0.3 [seg];
con este valor de T es necesario evaluar los 123 primeros términos; la
discretización requiere de aproximadamente 30 minutos.
Con el programa de análisis se encuentra que el sistema discreto, para
2 OS
el valor de T escogido, es incontrolable, observable y estable; con el
objeto de observar la relación entre las variaciones de los estados, la
salida y la controlabilidad se realizan los gráficos de ,1a salida y de
algunos estadoss los resultados se incluyen más adelante.
Continuando con el análisis, se duplica el período de muestreo y se
discretiza nuevamente, el tiempo necesario es de aproximadamente una
hora; en este caso, el sistema es controlable, de donde se comprueba
que la pérdida de la controlabilidad se debe únicamente a la disminü_
ción de T. Se obtienen nuevamente los gráficos de los estados y la sa_
lida; efectuando comparaciones con los anteriores, no se establecen dj_
ferencias entre los gráficos. Para que un sistema sea incontrolable -
uno o varios estados, deberían permanecer invariables frente a una se_
nal de excitación; por lo tanto, si de los gráficos de los'estados se
comprueba que todos ellos tienen variaciones y el sistema es incontro_
lable, la causa es el período de muestreo reducido.
Í09
ESCUELA POLITECNICA NACIONALFACULTAD DE INGENIERÍA ELÉCTRICADEPARTAMENTO DE ELECTRÓNICA Y CONTROL
TESIS: ANÁLISIS DE SISTEMAS DE CONTROLDISCRETO EN EL ESPACIO DE ESTADO
Autor*= LUIS ALFONSO ROMERO SIERRA
Fecha: 25 de Julio de 1996
A T O S
S X STEM A, CONT X ÍMUO
< -t > = A x < -t > -f- E. ui C -t >
C -t > = C x í -t O -i- D L.I < -t >
MATRi;
( 1 )
3 ) 6 )
1 )2 )3 )4 )5 )6 )
0« 0£300-0000,, 0001 „ 0000.000
-12. 1B0
0.0000.0000,0000«0001. 000
~4. 400
C 4 )
( 1 )( 2 )( 3 )C 4 )í 5 )( ó ) '
0- 000
0« 00000 ©00
0., 0000» 000-1.200
In000
0n 000
0. 0(300,,000
0«000-¿..380
0U0001.00(30,,0000.,0000»000
-14.500
0-0008-0001-0000- 0000.000
-17.940
MATRIZ :E
( 1 )
210
( 1 ) í?.)» 000í 2 ) 0,, 00(3í 3 ) . 0., 000C 4 ) 0.. 000C 5 ) 0.000C 6 ) i
M A T R I Z 5 C
( 1 ) - C 2 ) ( 3 ) ( 4 )
í 1 ) ' 1..000 0.000 0,,000 0.000
< 5 ) ( 6 )
( 1 ) 0.000 0.000
MATRIZ sD
C 1 )
0 „ 000
•K-ar-M- E) ISCRETI Z ACIÓN •w-*"*-
SX STEMA OIS CRETO
C í _- _s_ "i ""i ' E^T i. j- í1" i -- ""• [ > • f i . i»^__^ _^_ ^ ^ r ' j.-^. \, K--. ¿f * 1 •—,1. ^ r:- jí
ij C £< > = <5 x C k: > -í- H ut C k >
jL_<f fcn. S- srz. r? .L írr_ 5
M A T R I Z sE
( 1 ) ( 2 ) ( 3 ) C 4 )
C 1 )( 2 )C 3 )í 4 )( 5 )C 6 )
1 . 000-0,000"-0-000
-0.. 004-0.033~0n 162
0..30S1. 000
-0U 002-0,. 020-0. 180-0» S94
GK 0450H 3000-996
~0U 043—0,, 422-2. 137
0.0040.0450.2950., 939-0.544—2. S42
211
( 1 )( 2 )C 3 )C 4 )C 5 )( 6 )
MATRIZ -F
í 6 )
0.0000.0000., 003®,. 0280. 1350.009
C 1 )í 2 )( 3 )( 4 )C 5 )í 6 5
MATRIZ
( 1 )
( 1 )
1 „ 000
í 2 )
0» 000
( 3 )
0,000
( 4 )
0-000
C 1 )
MATRIZ :H
( 3 ) ( 6 )
0«000
( 1 ) 0.000
PERIODO DE MUESTREO T= 3 (seg)
«A, x
C O , -tl "T R: O 3B X .l_ X E) A
MATRi:
( 1 )( 2 )
í 1 )
0.000(3,, 000
2LG3E30(3H 000
( 3 )
0.0000«002
( 4 )
0-0010 n 003
212
C 3 )( 4 )C -5 )( 6 )
0.. 0000.0030-028
' 0. 135
0-0030-0140, 033
-0., (369
0.00a0,0190.002~0 .118
0.0130.015-0.82?-0.079
C 5 ) ( 6 )
( 1 }C 2 )( 3 )( 4 )C 5 )( 6 )
0« 0040 H 0 1 00,. 0160-004-0 . 043-0,. 013
0,, 0070M015
0.015™0H 009-0 - 0380- 039
DETERMINANTE « -1u62466E-13
SISTEMA INCONTROLABLE
X L X
MATRIZ :R
( 1 )
1 )2 )3 )4 )5 )6 )
1-1.1 .1 „0.0U
000£300000
000
99S994
0»0n
0,,0«1 „1 u
000300600397188464
0.,0n
0n
0.,
0.,
1.
000045179399692038
0.0n
0n
0-
0,
0.
000
2)0403511425 1444
( 5 ) ( 6 )
0.000 0., 0000.000 0.000
í .3 ) . 0.005 0U0(30í 4 > 0.021 0.002C 5 ) 0..05S 0< 6 ) 0-117 0
DETERMINANTE = 4.39333E-10
SISTEMA OBSERVABLE
A:B. x L_ :c
213
ECUACIÓN CARACTERÍSTICA
Ex pan en te
6543
10
Caefi cíente
11( 000-4-547a "7"7--iO • f í .£-
-9-2295 . 606
-1-SáS
POLOS DEL SISTEMA
Palo Real
1'j¿.
3456
0.6110-6110-8510.8510,8360.786
Imag .
0.41 S-0.4180. 129
-0« 1290.0000. 000
SISTEMA ESTABLE
V"
EN EL SISTEMA DE LAZO ABIERTO
ENTRADA DEL SISTEMA :u í k ) = i Para k !'••• o
ESTADO INICIAL :1 ( 0 ) =
2 í 0 ) =
3 ( 0 ) =
4 ( 0 5 =
0.0130
0.000
0,, 000
0.000
Z16
kT
tseala eje vertical = 0-0100 ( u n i / d i v )
x 5 £ k )
kT
Escala eje vertí cal = 0» (3137 (un i / d iv )
217
oís c RGTP i z A c :c ON
3D I SC RETO
C k > -*- R ui C k
5 13 tz. T—•:— tx X ícr. S^
MATRIZ ¡E
( 1 ) í 2 ) ( 3 ) ( 4 )
í 1 )í 2 )c 3 ;C 4 )C 5 )( 6 )
( 1 )C 2 )( 3 )( 4 )( 5 )C 6 )
MATRIZ :F
( 1 )( 2 )( 3 )C 4 )( 5 )( 6 )
MATRIZ SG
( 1 )
1,,-0--0.-0,,~0 =
"0H
(
0U
0-0.0.
~0H—2.
<
0n
0.0n
0»
0,,
0.
c
1 B
000
000
(304020073079
5 )
005030135333090159
1 0
000000003017061066
1 )
000
0. 6000,, 997
— 0B 020— 0n 1 12~0n 408-0B494
í 6 )
0. 0000- 003
0- 0170n0610 a 066
™0n 3S1
( 2 )
0U 000
0.179 0_0350n 594 0n 1720.954 0.540-0,266 0.649--0,992 -1.335-1.365 -2,, 177
•
( 3 ) ( 4 )
0n000 0B000
( 5 ) ( 6 )
218
( 1 ) 0U000 0
MATRIZ M-l
( 1 .)
C 1 ) 0,.000
PERIODO DE MUESTREO T= -6 (seg)
M A X S X -3HE- -Mr "X-
o I :B. x D , A. D
MATRIZ ¡íQ
( 1 )í 2 )í 3 )( 4 )í 5 )C 6 )
( 1 ) ( 3 )
•0.0110U 0240n032
-0»005
C 4 )
0 „ 026
0. 016-0.040-0. 0260, 121
í 5
( 1 )í 2 )( 3 ;í 4 )í 3 )( -6 )
( 6 )
-0» 024
0,, 03S-0»019
DETERMINANTE = -3-46632E-09
SISTEMA CONTROLABLE
MATRIZ = R
- X B_ X
( 1 ) -( 3 ) C 4 )
219
C 1 )C 2 )v 3 )C 4 )C 5 )( 6 )
1 „ 0001 ,. 000
- 0,. 99S0. 9850., 9480nsai
0n 0000. 6001. 18S1.7152- 101
' 2.295
0.0000. 1790.6921.4102. 1202'- 639
00.01
035251081193636
( 1 )( 2 )í 3 )( 4 )( 5 )C 6 )
( 5 )
0,.0000., 0030.0580-1960.3SB0,,564
í 6 )
0.0000.0000.0030- 0320.0720., 114
DETERMINANTE - 2.99573E-07
S1STEMA OBSERVABLE
ESTAIBX
ECUACIÓN CARACTERÍSTICA
Ex pon en te
6543210
Coef i c íente
1,, 000-3.130
4 . 232-3-288
1 „ 624-0.496
0nf371
POLOS DEL SISTEMA
Palo
1.2345ó
Real
0..69S0.6190.70S0. 70S0.1990- 199
Imag „
0«000
0.2190-2190.5120H 512
SISTEMA ESTABLE
220
->f~ O S Y S A, L X D A, S
EN EL SISTEMA DE LAZO ABIERTO
ENTRADA DEL SISTEMA :u C k ) = 1 Para k > o = 0
ESTADO I N I C I A L :x 1 ( 0 )
x 2 ( E3 )
x 3 ( 0 )
x 4 ( 0 )
x 5 ( 0 )
x ó C (3 )
0. 000
0.000
0,, 000
0.E300
kT
221
Escala eje vertical ~ 0-0834 (uni/div)
x 2 ( k )
kí
Escala eje vertí cal — 0n 0163 (un i/div)
kT
Escala eje vertí cal ~ 0-0110 (uni/div)
x 4 í k )
bs ca1a eJ e ver t i ca1 = 0 u 0097 (un i /d i v )
x 5 ( k )
222
kT
kT
Escala eje vertí cal = 0.0135 C u n i / d i v )
223
4.2. CONCLUSIONES
De la aplicación de los conceptos revisados en los capítulo I y II a
los sistemas prácticos de los ejemplos anteriores, utilizando los pro_
gramas desarrollados, se pueden hacer las siguientes conclusiones:
- En el diseño de un sistema de control es de vital Importancia escoger
un período de'muestreo adecuado; en cualquier caso, se establece un
compromiso porque, por un lado, el aumento de T esta limitado por la
pérdida de la Información de las señales correspondientes a los esta_
dos y a la salida; y, por otro lado, la disminución de T provoca la
pérdida de la controlabilidad y la observabilidad del sistema.
- La variación del periodo de muestreo está relacionado directamente -
con el valor de los determinantes de las matrices de controlabilidad
y observabilidad; un aumento o una disminución de T, se traduce en un
aumento o una disminución del valor absoluto de los determinantes. La
pérdida de la controlabilidad es evidente, si se considera que cuando
T tiende a cero, la integral de:
T
/Ar
e - dr B
o
tiende a cero y por tanto, la matriz de controlabilidad también tien
de a cero. En cuanto a la observabilidad, si T tiende a cero la m
triz:
F - * ATE = e —
224
tiende a la identidad; es decir, la matriz R tendría todas sus fil'as
iguales y el determinante seria cero.
De los resultados del ejemplo tres se comprueba que el período de
muestreo adecuado que se obtiene con el programa de discretización -
puede ser usado pero no es lo más aconsejable; en realidad, de los
resultados obtenidos, este valor se puede considerar como el limite
superior de T.
Si bien, el valor absoluto de los determinantes es una medida de la
controlabilidad del sistema, éste es un criterio más bien global y
no nos indica el grado de controlabilidad de cada uno de los esta-
dos; en cambio, realizando la transformación a la forma canónica de
Jordán, el grado de controlabilidad de los estados, depende de la
magnitud de los elementos de la matriz r. En la práctica puede suce_
der que, especialmente en sistemas de orden alto, uno o más elemen-
tos de r sean tan pequeños, que en realidad, el sistema es incontro-
lable a pesar de que el valor absoluto del determinante de R sea muy
grande.
La realimentación de estado permite gran flexibilidad en la ubica-
ción de los polos; de tal manera que, el diseñador puede cambiar a
su antojo las características de respuesta del sistema, obteniéndo-
se gran precisión en el cumplimiento de las especificaciones impues_
tas.
Si la respuesta del sistema depende solamente de uno de los estados,
la magnitud de la variación de los demás estados puede ser muy dife_
rente, en comparación con las variaciones de la salida; en el ejem-
225
pío dos se detecta uno de estos casos, en donde, el estado x¿ tiene
un sobrepico extremadamente grande, mientras que la salida tiene va_
naciones pequeñas. Para la implementaclón práctica de la realimen_
tación de estado, es importante conocer los límites de variación de
los estados.
- En los problemas que se abordaron no se han tenido dificultades al
no considerar el efecto de los ceros de la planta; pues, en todos -
los casos, se cumplen las especificaciones de diseño; es decir que,
en la mayoría de casos prácticos los ceros del sistema se ubican a
la izquierda, alejados del punto z = +1 y no influyen en la respues_
ta.
- El análisis de un sistema continuo no siempre es posible, porque en
algunos casos, el número de términos P, de la serie e_ — , puede lle_
gar a ser tan grande, que la discretización de las ecuaciones de e_s_
tado continuas, es prácticamente imposible; en tales casos, la única
solución es disminuir el período de muestreo; pero, ésto hace que el
sistema sea incontrolable y/o inobservable.
Al
APÉNDICE A
MANUAL DE_ USO
En este apéndice se mencionan algunas características Importantes del
computador; el procedimiento que debe seguirse para su encendido y pa_
ra la utilización de los programas desarrollados; y, finalmente algu-
nos aspectos que es necesario tener en mente cuando se ejecutan los pro_
gramas.
A continuación se Indican brevemente las características del computa-
dor personal RADIOSHACK TRS-80 Modelo III. La memoria RAM del computa_
dor es, mon1malmentes de 48 Kbytes; de los cuales solamente 38.2 Kby-
tes están disponibles para el usuario. Entre los periféricos tenemos:
Una pantalla Incorporada, cuya resolución es de 16 filas por 48 colum-
nas; dos unidades de disco flexible, conocidas como los drlves O y 1,
empotrados en la carcasa del computador y a la derecha de la pantalla,
en este caso se utiliza la unidad cero correspondiente a la ranura in_
terlor; un teclado de caracteres alfanumérlcos y especiales que no 1n_
cluye teclas de funciones predefinidas; y, una Impresora RADIOSHACK -
DMP-105 conectada al computador en forma paralela. Para encender el
computador se dispone de un Interruptor colocado en la parte Inferior
y en la esquina derecha; en la Impresora el Interruptor de encendido -
se localiza en el costado derecho, pero adlcionalmente, debe ser habj_
litada colocando el Interruptor ON-LINE/OFF-LINE}ub1cado en la parte
superior 1zqu1erda3en la posición ON-LINE; de acuerdo con las recomen-
daciones del fabricante es necesario encender en primer lugar la'1mpre_
sora.
A2
Una vez encendido el computador es necesario esperar a que termine el
movimiento dentro de- los. drives para introducir el disco que contiene
los programas a ser utilizados en la unidad cero, ranura inferior; des_
pues de colocar apropiadamente el disco (con el membrete hacia arriba)
se debe presionar un botón de color naranja colocado a la derecha del
teclado; este botón es el máster reset del computador y cada vez que
es presionado la máquina ejecuta una rutina en la que inicializa todos
los periféricos y carga el sistema operativo TRS DOS almacenado en el
disco. La primera actividad que realiza el computador es la presenta^
ción de datos referentes al software y algunas características del sis_
tema; luego, pide ingresar la fecha con el formato: Mes/Día/Año, don-
de cada parámetro es un número de dos dígitos, los-datos deben ser cohe_
rentes porque no se puede continuar si no se ingresa la fecha correcta_
mente, después de escribir los datos se debe presionar la tecla ENTER
que en adelante se representará con el símbolo <; finalmente, se pide
el ingreso de la hora de inicio'del trabajo con el formato: HH:MM:SS ,
como en el caso anterior cada parámetro consta de dos dígitos; esta i_n_
formación sirve para inicial izar el reloj interno del computador que
puede ser encerado cuando se presiona < sin escribir los valores co-
rrespondientes. El ingreso de la fecha y la hora no es necesario si
se resetea al computador estando encendido.
Cuando se ha completado el ingreso de la fecha y la hora, aparece en
la pantalla el mensaje:
AUTO.function Engaged
para indicar que se transfiere el control del computador al programa BA_
SIC; inmediatamente, se hacen las preguntas:
A3
HOW MANY FILES?
MEMORY ZISE?
a las cuales el usuario debe responder con las sentencias 3V< y 65000<
respectivamente; luego, se muestra en la pantalla la Información:
TRS-80 Model III Dlsck BASIC Rev. 1.3
(c)(p) 1980 by Tandy Corp. Al 1 Rights Reserved
Created 5 - Jul - 80
36,647 Free Bytes 3 Variable Files
READY
Al final aparece el cursor simbolizado por un pequeño cuadrado titilan-
te para Indicar que el computador está en capacidad de ejecutar cual-
quier programa o Instrucción escritos en BASIC.
En la secuencia normal de operación, si se quiere el membrete de la te_
sis en la pantalla y/o en la Impresora, se debe escribir la Instrucción
RUN "DISCRETO/BAS.LARS"< para cargar y ejecutar el programa de presen-
tación que a su vez cargará el programa "MENU/BAS.LARS". SI no es nece_
sarla la presentación, la Instrucción RUN"MENU/BAS.LARS"< permite el ac_
ceso directo al menú principal de opciones:
1. INGRESO DE DATOS
2. DISCRETIZACION
3. ANÁLISIS
A4
4. REALIMENTACION DE ESTADO
5. ESTADOS Y SALIDAS
6. FIN DE SESIÓN
La elección se hace presionando cualquiera de las teclas correspond1en_
tes a los seis primeros dígitos y la tecla <. En todos los casos, se
establece un diálogo entre el usuario y el computador; de tal manera
que, el trabajo se reduce a Ingresar datos y presionar teclas para ob_
tener los resultados deseados.
La Información detallada acerca de los programas dasarrollados se pre_
senta en el Capitulo III, en donde se hace referencia al fundamento ma_
temático utilizado; y se Indican los diagramas de flujo y las varia-
bles más Importantes de cada programa. Los listados se muestran en el
apéndice B.
Para finalizar se mencionan algunos aspectos que deben ser considera-
dos al utilizar los programas.
- En el Ingreso de datos, después de escribir la cantidad correspondían^
te se debe presionar <;'s1 existe algún error el cursor puede ser re_
trocedldo utilizando la tecla S .
Los nombres para los archivos deben tener exactamente la forma
BRE/EXT; de tal manera que siempre se completen diez caracteres, si
por alguna razón el nombre tiene menos de diez caracteres, en el In-
greso de datos desde el disco es necesario completar la longitud usajT_
do espacios en blanco.
A5
Los resultados tanto en la pantalla como en la impresora se van obt£
niendo con la ejecución de cada programa; cuando se quiere imprimir
algún resultado, el computador verifica que la impresora este habilj_
tada; si no lo esta, se escribe en la pantalla el mensaje "Iniciali-
ce la impresora"3 para indicar que se debe encender y/o habilitar a
la impresora. En general, la máquina se deshabilita cuando falta el
simunistro de papel o cuando el botón ON LINE/OFF LINE esta en la po_
sición OFF LINE; en el primer caso se debe colocar el papel apropia_
damente y presionar al menos dos veces el botón ON LINE/OFF LINE, de
tal manera que parmanezca en la posición ON LINE; esta misma opera-
ción se efectúa cuando al ser empezada la impresión se acaba el pa-
pe.l, en ese caso no aparece el mensaje anterior, esto ocurre frecuen_
temente cuando no se usa papel continuo. Durante la impresión se de_
shabilitan todas las teclas a excepción de BRAKE.
La tecla BRAKE puede ser utilizada para interrumpir la ejecución de
cualquier programa; cuando ocurre la interrupción aparece en la pan-
talla la palabra READY y el cursor para indicar que se transfiere el
control al programa BASIC; las lineas del programa que se estaba
ejecutando permanecen en la memoria y si se escribe la instrucción
RUN< se reinicia la ejecución como si se lo hubiera hecho desde el
menú principal.
10001010102010301040105010601070108010901100111011201130114011501160117011801190120012101220123012401250126012701280129013001310132013301340135013601370138(31390140014101420
REMREM * *** *#* ** PRESENTACIÓN DE LA TESIS
CLS:PRINTPRINT"SE VA A UTILIZAR LA IMPRESORA ? (S/N):"M*=INKEY$:IF M$="" THEN 1050IF M$="S" THEN 1080IF M$="N" THEN 1130 ELSE 105(3CMD"P",X$IF VAL(X$)=63 THEN 1130CLS:PRINT Q 384,"Por favor:"PRINT 3 530,"INICIALICE LA IMPRESORA"GOTO 1080CLSPRINT'-ESCUELA POLITÉCNICA NACIONAL"PRINT"FACULTAD DE INGENIERÍA ELÉCTRICA"PRINT"DEPARTAMENTO DE ELECTRÓNICA Y CONTROL"FOR 1=1 TO Ó4:PRINT"-"5sNEXT IrPRINTPRINT TAB(24)"T E S I S":PRINT
TABC10)"ANÁLISIS DE SISTEMAS DE CONTROL DISCRETO1:PRINT TAB(18)"EN EL ESPACIO DE ESTADO"PRINT TAB(27)"* * *":PRINTAutor: LUIS ALFONSO ROMERO SIERRA"Fecha: 25 de Julio de 1986"11N" THEN 1420CHRSC27);CHR$(20>
PRINTPRINTPRINTPRINTPRINTIF M$=LPRINTLPRINTLPRINTLPRINTLPRINTLPRINTLPRINTLPRINTLPRINTLPRINTLPRINTLPRINTLPRINTLPRINTLPRINTLPRINTLPRINT
CHR$Í2"TAB(6)TAB(6)TAB <6)TAB C 6)'
);CHR$<14)"ESCUELA POLITÉCNICA NACIONAL""FACULTAD DE INGENIERÍA ELÉCTRICA""DEPARTAMENTO DE ELECTRÓNICA Y CONTROL"
, _.— i. ; LPRINT
CHR$(27);CHR$<90>;CHR$C4)TABÍ6)"TESIS: ANÁLISIS DE SISTEMAS DE CONTROL"TAB(13)"DISCRETO EN EL ESPACIO DE ESTADO"CHR$(27);CHR$(90);CHR$(4)TABC6)"Autor= LUIS ALFONSO ROMERO SIERRA"CHR$(27);CHR$(90);CHR$(4)TABÍ6) "Fecha: 25 de Julio de 1986"C H R $ ( 2 7 ) ; C H R $ ( 1 5 )CHR$C27) ;CHR* (19 )I rnJZ' \. ÍD ) ' ~"—• ' •—"—' :—: ' "~~" "™: : : ' ' ' ' ' '
RUN-'MENU/BAS-LARS1
10(3010101 I/I*"1 (71J- VJ .£_ 1¿J
1030104010501060107010S0109011001110112011301133114011501160 '11701180119012001210122012301240125012601270128012901300131013201330134013501360137013801390140014101420143014401450146014701480149015001510152015301540
REMREM ********* MENÚ PRINCIPAL **********p pr M — __
CUS: PRINTPRINT"ANALISIS DE SISTEMAS DE CONTROL"PRINT'-DISCRETO EN EL ESPACIO DE ESTADO"FOR 1=1 TO 60 : PRINT"-" ; :MEXT IPRINT 3 394, "1 :• INGRESO DE DATOS"P R T NIT O AR Q "'~' •. r\TCrlntZ"TT"7A/~*Tf"iKIHrríiINI oJ H-Da 5 j£. '• U 1 bL, Kc. 1 1 ¿ AL. 1UINPRTKIT £\ O1".- » "7 -. AMAI TCTCiir n 1 1 N 1 tu _3 ¿~¿, , o ••RiNML-lbJ.bP P T KIT Í3 R Q ¿, i' A -. DCTAI TWC"M"T"Ar*TriM T\C? tTC^TArs/'ilirKlINI oJ Dooj *+ <•• KtiAL.1 nt.f\ 1 ALrl UN Uh Lb I AUUp D T MT íTi A^fTi llci ••. crcTAnric v OAI T n A e? tirKlINI cu oDWi _) x tb 1 AlJUb Y bALIDAb
PRINT 3 714, "6 > FIN DE SESIÓN"PRINT a 896, "Escoja una opción : ";PRINT a 918, " " ;LINE INPUT OM$IF OM$="1" THEN 1230DATIN=PEEK(-436)IF OM$="6" THEN 1530IF DATIN=1 THEN 1250CLSPRINT a 394, "Por favor:"PRINT a 535, "« INGRESE LOS DATOS »"FOR 1=1 TO 150:W=0:NEXT ICLS:PRINT 3 5 12, " Cargando programa s INPDATOS/BASRUN" INPDATOS/BAS. LARS"DISC=PEEK(~437)IF OM$=n2" THEN 1340IF OM*="6" THEN 1530IF DISC=2 THEN 1410CLSPRINT a 390, "El sistema es continuo"
.LARS
PRINT a 51B, "Para continuar el análisis se requiere " ;PRINT " DISCRETIZARLO"FOR 1=1 TO 300sW=W+l:NEXÍ IIF DISCO2 THEN 1390CLS:PRINT a 394, "El sistema es discreto"PRINT a 522, "No es necesaria discret izar lo" : PRINTPRINT TAE C 10) " Para discretizar nuevamente presione a"FOR 1=1 TO 300=W=W+l:NEXT I : GOTO 1030CLS: PRINT a 5 12, " Cargando programa : DISCRETI/EASRUNnDISCRETI/EASnLARS-'IF OM*="3n THEN 1470IF OM$="4" THEN 1490IF OM$="5" THEN 1510IF OM$="6" THEN 1530IF OM*="a" THEN 1390GOTO 1030CLS:PRINT S5 12, " Cargando programa : ANALISIS/BAS.RUN" ANALISIS/BAS. LARS"CLS: PRINT a 5 12, " Cargando programa : REALESTA/BASRUN" REALESTA/EAS. LARS"CLS: PRINT a 512, " Cargando programa : ESTASALI/EASRUN"ESTASALI/EAS.LARS"CLS: PRINT ax 463," *** FIN DE SESIÓN *•**"END
.LARS
LARS"
.LARS
.LARS
1(30(3101010201030104010501060107010S010901100111011201130114011501160117011801190120012101220123012401250126012701280129013001310132013301340135013601370138(313901400141014201430144(3145014601470148014901500151015201530154015501560
REMREM ******* INGRESO DE DATOS *******
CLEAR 1000DEFDBL A,B,C,D,E,F,G,H,MDIM DIR*(50),MACIS,15 )DIM A(15,15),E(Í5,1>,C(1115),E(15,15),F<15,1),G(1,15)CLS:PRINTPRINT"ANÁLISIS DE SISTEMAS DE CONTROL"PRINT"DISCRETO EN EL ESPACIO DE ESTADO"FOR 1=1 TO 60:PRINT"-";:NEXT IPRINT a 526, "*•***-* INGRESO DE DATOS *****"FOR 1=1 TO 100:W=W+1:NEXT ICLS:PRINT:PRINT"MENÚ EN INGRESO DE DATOS"
1 ; :NEXT IINGRESO POR TECLADO"INGRESO DESDE EL DISCO"IMPRESIÓN DE DATOS"MENÚ PRINCIPAL"
opción : ";'=LINE INPUT IA*
FOR 1=1PRINT aPRINT aPRINT 3PRINT aPRINT aIFIFIFIF
IA*='
581,709,896,1"
IA*='IA$='
TO 60:PRINT1325,"1 ~AS"7 " •"' — —*T —> O , JL.
O — — • —-
¿i „__.
Escoja unaTHEN 1280
2" THEN 36403" THEN 4S004" THEN 5580
GOTO 1190REMREM #*•** INGRESO DE DATOS POR TECLADO ****
EN INGRESO POR TECLADO"CLS:PRINTPRINT"OPCIONESFOR 1=1PRINT 3PRINT 3PRINTPRINTPRINT
aaa
IB*="I1
TO 60:PRINT"3--«t= U -( ,j:—) , J.
453,"2^ Q 1 " "7JJO 1 , iJ
709,"4896,"Cual es
THEN 1410THENTHENTHEN
1 ; :NEXT IINGRESO DE DATOS"REVISIÓN Y CORRECCIÓN DE DATOS"GRAVACION DE DATOS EN DISCO"MENÚ DE INGRESO DE DATOS"su elección LINE INPUT IB*
215030401130
DE DATOS"NEXT I
IFIFIF IE*="3"IF IE*="4"GOTO 1350CLS:PRINT:PRINT"INGRESOFOR 1 = 1 TO 6(3: PRINT"-" ;PRINT:PRINT:PRINTPRINT"ORDEN DEL SISTEMA =IF N< = 15 THEN 1490 .CLS:PRINT 3 512,"ORDEN deFOR 1=1 TO 300:W=0:NEXT IGOTO 1280PRINT:PRINTPRINT "EL SISTEMA ES DISCRETO(D)LINE INPUT E*IF B$="D" THEN GOTO 1810CLSPRINT a 269,"EL SISTEMA CONTINUOPRINT a 524,"dx ( t ) = A x ( tPRINT a 653,"y < t ) = C x ( t
LINE INPUT N$:N=VAL(N$)
sistema DEMSIADO alto1
O CONTINUO(C)
TIENE) +
i +
LAE
D
FORMAu ( t
u í t )
157015801590160016101620163(3164016501660167016S016901700171017201730174017501760177017801790180018101S201830184018501860187018801S9019001910192019301940195019601970198019902000201020202030204020502060207020802090210021102120
PRINT a 1000,"(Presione una tecla)";=K$=INKEY$IF K$="" THEN 1570CLS:POKE -437,0PRINT:PRINT:PRINT"INGRESO DE MATRICES A,B,C,D"
TO 60: PRINT"'TO NTO N400,""
"A < " ; I ;456, " ? K ; " > =A<I,K)=VAL(A$)
FOR 1=1 TO 60:PRINT"~";:NEXT IFOR 1=1FOR K=lPRINT aPRINT aLINEINPUTNEXT K,IFOR 1=1 TO NPRINT a 520,""PRINT a 584, "E C " ; I ? " , 1 ) =LINE INPUT E$:E(I,1)=VAL(B$)NEXT IFOR 1=1 TO NPRINT 3 660,""PRINT 3 712, "C ( 1 , " ; I ; " ) =LINE INPUT C*:C(1,I)=VAL(C*>NEXT IPRINT a 840,"D C 1 , 1 )= ";LINE INPUT D*:D<1, 1)=VALCD*')GOTO 2080CLSPRINT a 333,PRINT 3 524,PRINT 3 656,PRINT 8 1000,IF K$="" THEN
EL SISTEMA DISCRETOx ( k + 1 > = E x Cy ( k ) = G x"(Presione una1350
IENE LA FORMA = 'k ) + F u C -k
( k ) + H u ( k )"tecla)";5K*=INKEY*
E,F,G,H":MEXT I
CLS:PRINT-PRINT:POKE -437,PRINT"INGRESO DE MATRICESFOR 1=1 TO 60:PRINT"-FOR 1=1 TO NFOR K=l TO NPRINT a 400, " "PRINT a 456,"E (" ; I;",";K;")= " ;LINE INPUT E$:E(I,K)=VAL(E$)NEXT K,IFOR 1=1 TO NPRINT a 560,""PRINT a 584,"F ( " ; I ; " , 1 )= ";LINE INPUT F*:F(I,1)=VAL(F*>NEXT IFOR 1=1 TO NPRINT a 660,""PRINT a 712,"G ( i ,";!;")= ";LINE INPUT G$:G(1,I)=VAL(G$)NEXT IPRINT 3 840,"H ( 1 , 1 )= "5LINE INPUT H*=H(1,1)=VAL<H$)CLS:PRINT a 464, "«< INGRESO TERMINADO »>"FOR 1 = 1 TO 15(3 :W=0: NEXT IPOKE .-436, 1 : POKE -435 , 0CLS:GOTO 1230 'Va a opciones en ingreso por tecladoREM
2130 REM **•** VERIFICACIÓN Y CORRECCIÓN DE MATRICES ****2140 REM • ^ ^ —2150 IF B$="D" THEN 22102160 N$="A":M=N=L=N2170 FOR 1=1 TO M:FOR K=l TO L:MACI,K)=A(I,K):NEXT K, I2180 GOSUE 25402190 FOR 1=1 TO M:FOR K=l TO L:A(I,K)=MA(I,K):NEXT K,I2200 GOTO 22502210 N$="E":M=N:I_=N2220 FOR 1=1 TO M=FOR K=l TO L:MACI,K)=E(I,K):NEXT K,I2230 GOSUB 25402240 FOR 1=1 TO M'FOR K=l TO L:E(I,K)=MACI,K>:NEXT K,I2250 M=l=L=N2260 IF B$="D" THEN N*=IIF"=GOTO 23102270 N$="B"2280 FOR 1=1 TO L:NA(I,1)=E(I,1):NEXT I2290 GOSUB 25402300 FOR 1=1 TO L:BCI,1)=MA(I,1):NEXT I:GOTO 23402310 FOR 1=1 TO l_:MA(I, 1 >=F(I, 1 > :NEXT I2320 GOSUB 25402330 FOR 1=1 TO L:F(I,1)=MA(I,1):NEXT I2340 N=N:L=12350 IF B$="D" THEN N*="G":GOTO 24002360 N$="C"2370 FOR 1=1 TO M:MAC1,I)=CC1,I):NEXT I2380 GOBUE 25402390 FOR 1 = 1 TO M = C ( 1 , I ) =I1A ( 1, I ) : NEXT I: GOTO 24302400 FOR 1=1 TO M:MA<1,I)=G(1,I)sNEXT I2410 GOSUB 25402420 FOR 1=1 TO M:G(1,I)=MA(1,I):NEXT I2430 M=l:L=l2440 IF B*="D" THEN N$="H":GOTO 24802450 N$="D"= MA(1,i)=D(l, 1 >2460 GOSUB 25402470 D(1,1)=MA(1,1):GOTO 25102480 MAC 1, 1)=H(1, 1)2490 GOSUB 25402500 H(1,1)~MA<1,1)2510 C1_S:PRINT 3 462, " <« VERIFICACIÓN TERMINADA »"2520 FOR 1=1 TO 150:W=W+1:NEXT I2530 GOTO 12S0 7 Va a -opciones en ingreso por teclado2540 CLS:X=1=Y=12550 IF M<4 AND L<4 THEN Z=M=W=L:C=-5=GOTO 26002560 IF M>=4 AND L>=4 THEN Z=4:W=4:C=0:GOTO 26002570 IF M>=4 THEN GOTO 25902580 2=M.: W=4 : C=-8 : GOTO 26t302590 Z=4:W=L=C=02600 V=(17-2*W)/2:MV=INT(V)2610 C=(62-14-x-Z)/2+70+64*MV+C:A=C-121 :E=C-62620 U=M-Z:H=L-W:VA=A:VB=B:VC=C2630 PRINTHM A T R I 2 »;N$;":" .2640 P RI NTn — — "2650 PRINT 3 C,"";2660 FOR I=X TO W2670 FOR J=Y TO Z2680 PRINT US TNG" • ##4Mttttt# - ###" ; MA C I, J ) ; : NEXT J
269027002710272(3273027402750270027702780279023002810282023302340235023602870233028902900291029202930294029502960297029S0299030003010302030303040305030603070308030903100311031203130314031503160317031803190320032103220323032403250
A=VA:C=C+128: PRINT 3 C,U11;:NEXT IFOR J=Y TO Z-" PRINT a A, " ( " ; J ; " ) " ; : A=A+13 : NEXT JFOR I=X TO W:PRINT a E,"(";I;")";:B=E+12B=NEXT I
IF IA$<>"1" THEN 2920PRINT a 890,PRINT 3 900,"DESEA CAMBIAR ELEMENTOSCS/N) : ";LINE INPUT A$IF A$="N" THEN GOTO 2940IF A$="S" THEN 2300GOTO 2750 ',PRINT 3890,"":PRINT a 900,"ESCRIBA FILA DEL ELEMENTOLINE INPUT I$:l=VAL(I$)PRINT 3 890,""PRINT a 900,"ESCRIBA COLUMNA DEL ELMENTO : ";LINE INPUT K$:K=VALíK$)PRINT a 890,""D=C+13*(K-Y)+I28*< I-X5 + 1PRINT a 900,"ESCRIBA EL ELMENTO CORRECTO s ";LINE INPUT MA$:MA(I,K)=VAL(MA$)PRINT a 890,""PRINT a D,"";:PRINT USING" #######.###";MA<I,K);GOTO 2750PRINT a 1000,"(Presione una tecla)";:K*=INKEY*IF K$="" THEN 2920
IF Z^M THEN GOTO 2930IF U<4 THEN Y=Y+U:Z=Z+U:GOTO 2630
IF W=L THEN GOTO 3030IF H<4 THEN W=W+H:X=X+HsGOTO 3010X=X+4:W=W+4:H=H-4IF M>4 THEN Y=l:Z-4:U=M-ZsGOTO 2630
RETURNREMREM •**** ALMACENAMIENTO DE MATRICES EN EL DISCO •**•*•*rjr-'M , — __, ,__ , _ _.. ~ :. ,—__ , , ^_—nc.ll ~~ ~
IF GRAMATR=1 THEN 3330OPEN "R",1,"DIRECTOR"FIELD 1,10 AS A*ON ERROR GOTO 3130GET 1,1CLS:PRINT"ESTE ES SU DIRECTORIO :":PRINT:GOTO 3140CLS:PRINT"ESTE ES SU DIRECTORIO :n=NN=i:GOTO 3150NN=CVICA^)IF NN<2 THEN PRINT:PRINT"DIRECTORIO VACIO":GOTO 3200FOR 1=2 TO NNGET 1,I:PRINT A*,
NEXT IPRINT a 896,"Escriba un nombre para el archivo : ";LINE INPUT M*FOR .1 = 1 TO NNIF M$=DIR$(I) THEN 3260NEXT IGOTO 3310
326032703280329033003310332033303340335033603370338033903400341034203430344034503460347034803490350035103520353035403550356035703580359036003610362036303640365036603670368036903700371037203730374037503760Z77037S03790330033103S20
PRINT 3 890, " " :PRINT o) 896, "Archiva existente,";PRINT" a para el iminar lo, sino otra : ";LINE INPUT F$IF F$="a" THEN L=I:GOTO 3320PRINT a 890, " " :GOTG 3200
LSET A$=M$PUT 1,LLSET A$=MKI$(NN)PUT 1, 1GLOSECLS: PRINT 3 5 12, " Gravando datos en : " ; M$OPEN "R" , 1,M$, 40FIELD 1,20 AS X$,20 AS Y*A=3B=NC 2+3LSET X*=B$:LSET Y$=MKI$(N)PUT 1 , 1LSET X$=MKD$CD< 1, 1) ) = LSET Y*=MKD$(H< 1 , 1 > )PUT 1,2FOR 1=1 TO NFOR K=l TO NIF B$="D" THEN LSET X*=MKD* C E ( I , K) ) : GOTO 3500LSET X$=MKD*(A(I,K) )PUT 1,AA=A+1MEXT KIF E$="D" THEN 3550LSET X*=MKD$(B<I, 1) > :LSET Y$=MKD* ( C ( 1 , I ) ) : GOTO 3560LSET X*=MKD*CF<I, 1) ) = LSET Y*=MKD* ( G ( 1 , I) )PUT i, EE=B+ 1NEXT IGLOSEIF GRAMATR=Í THEN RETURNCLS: PRINT a 464, "<« GRAVACION COMPLETADA >»"FOR 1 = 1 TO 100 : W==W+1 : NEXT ICLS: IE$=" " =GOTO 1280REMREM -ií-**** INGRESO DESDE EL DISCO *****
CLS:PRINT"ESTE ES SU DIRECTORIO :":PRINTOPEN "R",1,"DIRECTOR"FIELD 1,10 AS A$ON ERROR GOTO 3740GET 1,1NN=CVICA$)IF NN>=2 THEN 3760PRINT:PRINT"DIRECTORIO VACIO":FOR 1=1 TO 150:NEXT IGLOSE:RESUME 1130FOR 1=2 TO NNGET 1,1PRINT A$,
NEXT IPRINT a 896,"Si desea eliminar algún archivo presione ";PRINT"a,sino otra tecla : ";
3830 LINE INPUT G$3840 IF G$="a" THEN 38603850 GLOSE:GOTO 40703860 PRINT a 890, " "3870 PRINT a 896,"Escriba el nombre del archivo :";.38B0 LINE INPUT M*3S90 FOR 1=1 TO NN3900 IF M$=DIR$(I) THEN 39403910 NEXT I3920 PRINT 3 890, "": PRINT a 896, "No existe ese archivo11
3930 FOR 1=1 TO 100:W=0:NEXT I:GOTO 38103940 DIR$(I>="ZZZZZZZZ":N/.=NN:CLOBE3950 CMD"0" , N"/.,DIR$(1)3960 KILL M$3970 OPEN"R", 1, "DIRECTOR"3980 FIELD 1, 10 AS A$3990 NN^NN-14000 FOR 1=2 TO NN4010 LSET A$=DIR$(I)4(320 PUT 1, I4030 NEXT I4040 LSET A$=NKI$(NN>=PUT 1,14050 GLOSE4060 GOTO 36704070 PRINT a 890,""4080 PRINT 3 896,"Nombre del archivo a recuperarse :";4090 LINE INPUT M$4100 FOR 1=1 TO NN4110 IF M$=DIR$<I) THEN 41504120 NEXT I4130 PRINT a 890,"":PRINT 3 896,"No existe ese archivo"4140 FOR 1=1 TO 150íW=0=NEXT I:GOTO 40704150 . . . . . 7Recuperando el archivo del disco4160 OPEN "R",2,M$,404170 A=34180 FIELD 2,20 AS X$,20 AS Y*4190 GET 2,14200 B$=LEFT$(X$,1):N=CVI(Y$)4210 GET 2,24220 D <1, 1)=CVD(X$) :H <1, 1)=CVD(Y$)4230 B=NC2+34240 FOR 1=1 TO N4250 FOR K=l TO N4260 GET 2,A4270 IF B$="D" THEN ECI»K)=CVD(X$)=GOTO 42904280 A( I-, K)=CVD(X$)4290 A=A+14300 NEXT K4310 GET 2,E4320 IF B$="D" THEN F(I,1)=CVD(X$):G(1,I)=CVD(Y$):GOTO 43404330 B(I,1)=CVD(X$):C(1,I)=CVD(YÍ)4340 E=E+14350 NEXT I4360 GLOSE-4370 POKE -436,14380 CLS:PRINT:PRINT
439044004410442044304440445044004470448044904500451045204530454045504560457045804590460046104620463046404650466046704630469047004710472047304740475047604770478047904S004810482048304840435048604870438048904-90049104920493049404950
PRINT"ARCHIVO RECUPERADO : ";M$=PRINT:PRINTPRINT TAB<10>"=-—> EL ORDEN DEL SISTEMA ES :";:PRINT NPRINT:PRINT TAB(10)"= > EL SISTEMA ES :";IF B$="D" THEN PRINT "DISCRETO":POKE -437,2:GOTO 4440PRINT "CONTINUO":POKE -437,0PRINT:PRINT a 896,"Desea revisar sus datas (S/N) :";K*=INKEY*:IF K*="" THEN 4450IF K$="S" THEN 4490IF K$="N" THEN 1130GOTO 4450IF B*="D" THEN 4540M=N:L=N:N$="A"FOR 1=1 TO M:FOR K=l TO L:MA(I,K)=A(I,K):NEXT K,IGOSUB 2540GOTO 4570N$="E"=M=N:L=NFOR 1=1 TO MrFOR K=l TO L:MA(I,K)=E(I,K):NEXT K,IGOSUB 2540M=l= L=NIF E$="D" THEN N$=nF":GOTO 4630N$="B"FOR 1=1 TO L:MA(I,1)=E(I,1):NEXT IGOSUB 2540GOTO 4650FOR 1 = 1 TO L:MAU, l)=F(Ii 1) = NEXT IGOSUB 2540M=N:L=1IF E$="D" THEN N$="G":GOTO 4700N$="C":FOR 1 = 1 TO M "- MA ( 1, I ) =C (1, I ) : NEXT IGOSUB 2540GOTO 4720FOR 1 = 1 TO M = MA(1, I)=G.(1, I) :NEXT IGOSUB 2540M=1:L=1IF B$="D" THEN N$="H":GOTO 4770IM$="D"=MA(1,1)=D(1,1)GOSUB 2540GOTO 4790MAC1,1)=H(1,1)GOSUB 2540GOTO 1130REMREM *•*•** IMPRESIÓN DE MATRICES ****DCTM —— — , : ., .. : ,: :r\n.i 1CLSIF B$="D" THEN 4860PRINT 3 512,"Imprimiendo matrices : A,B,C,D":GOTO 4870PRINT 3 512,"Imprimiendo matrices : E,F5G,H"CMD"P",X$IF V'ALCX$)=63 THEN PRINT a 350, " » : GOTO 4910PRINT 3 396,"Debe inicializar la impresora"PRINT a 390,"":GOTO 4870LPRINT CHRÍC27)5CHRÍC23)LPRINT CHR$<27);CHR$<14>LPRINT:LPRINT TAB(13)"*** D A T O S ***"LPRINT:LPRINTIF B*="D" THEN 5160
4960497049804990300050105020503050405050500050705080509051005110512051305140515051605170518(35190520052105220523052405250526052705280529(353(30531053205330534053505360537053805390540054105420543054405450546054705430549055005510
LPRJNT TAEC15)LPRINT TAB(10)
"SISTEMA CONTINUO" : LPRINT : LPRINT"dx(t). = A
LPRINT TAEÍ10) » . y ( t ) = CLPRINT CHR$<27> ;CHR$<15>LPRINT CHR$(27) ; CHRS ( 19)
N:L=N:N$="A" •
(t) + E u ( t > H : LPRINT(t> + D u ( t ) "
MFOR 1=1 TOGOSUE 5360
M:FOR K=l TO L : NA ( I , K ) =A ( I , K ) : NEXT K, I
1 TO N = M A C I , 1>=B(I, 1) :NEXT5360
FOR IGOSUE
FOR 1=1 TO N:MA<1,I)=C<1,I):NEXT IGOSUE 5360M=1:L=1:N$="D"MAÍ1,1)=D(1,1)=GOSUEIF M$=n" THEN 5150LPRINT:LPRINTLPRINT TAEÍ10)"DatasGOTO 1130LPRINT TAEÍ15) "SISTEMALPRINT TAEC10) "xík+1) =
TAE(10) " y(k) =
5360
almacenados en ; M*
LPRINTLPRINT
DISCRETO": E
: G x ( k )++
LPRINT:LPRIMTF u(k)":LPRINTH u C k ) " •
CHR$<27);CHR$<15)LPRINT CHR$(27>;CHR$(19)
FOR 1=1 TO M=FOR K=l TO L:MA(I,K)=E(I,K):NEXT K,IGOSUE 536(3
FOR 1=1 TO N=MA(I,1)=F(I,1):NEXT IGOSUE 536(3
FOR 1=1 TO N=MA(1,I)=G(1,I):NEXT IGOSUE 5360 -
MA(1,1)=H(1,1):GOSUE 5360IF Hs-n « THEN 5350LPRINT¡LPRINTLPRINT TAEÍ10)"Datas almacenadas en : ";M$GOTO 1130LPRINT:LPRINT=Y=1LPRINT TAEC13)"MATRIZ :";N$:LPRINTIF L>4 THEN 5410W=L:GOSUE 5490RETURNW=4-:2=L-W:GOSUB 5490LPRINT:LPRINTIF 2<=4 THEN 5470W=i»j+4 : Y=Y+4 : Z = 2-4 : GOSUE 5490LPRINT:LPRINT:GOTO 5430IF W=L THEN RETURN •Y=W+1:W=W+2:GOSUB 5490RETURN 'LPRINT TAEÍ26)iFOR K=Y TO WLPRINT "(";K;") ";:NEXT K:LPRINT:LPRINT
5520 POR I»l TO M5530 LPRINT TAEÍ13) " ( " ; I ; " ) " ;3540 FOR K=Y TO W5550 LPRINT USING" tttttttttttttt. ##t" ;MA( I, K > 55560 NEXT K=LPRINT:NEXT i5570 RETURN55B0 GRAMATR=15590 DATIN - PEEKÍ-436)5600 IF DATIN=0 THEN 56505610 CLSsPRINT 5) 512, " Gravando datos en : " ;5620 IF E*="D" THEN M$="DATOSD/PRO":PRINT M*:GOTO 56405630 M$="DATOSC/PR011 : PRINT M$5640 GOSUE 30505650 CLS= PRINT SI 512, " Cargamdo programa : MENU/BAS. LARS"5660 RUN"MENU/BAS-LARS"
1000101(31 f7V~'f7lX «j j¿.(tJ
1030104010501000107010301090110011101120113011401150116011701180119012001210122012301240125012601270128012901300131013201330
REMREM **** D I S C R E T I Z A C I O N ****
1350136013701~7CJ|7l.LijCíkj
13901400141014201430144014501460147014S01490150015101520153015401550
REMCLEAR 1000:DIM DI R$ ( 50 ) : POKE -437,0DEFDBL A, F, G, P, M, E, H, X , S , O , B, C, U , VGOSUB 4300DIM AUCN,N) ,FI (N,N) ,E(N,N) ,F(N, 1) , G < 1 , N ) , MA(N,N) , XU(M,N)DIM Al íN+1 ) , PR(N) , PI ÍN) , 0(N) , A2(N+1 ) , U(N) , V(N)CLS= PRINTPRINT" ANÁLISIS DE SISTEMAS DE CONTROL"PRINT'DISCRETO EN EL ESPACIO DE ESTADO"FOR K=l TO 60: PRINT"-" ; = NEXT KPRINT a 522,"**** D I S C R E T I Z A C I O N *#**"FOR K=l TO 100 :W=0: NEXT KCLS:PRINTPRINT "MENÚ EN DISCRETIZACION"FOR K=l TO 60ÜPRINT"-" ; :NEXT K : PRINT : PRINT = PRINT : PRINTPRINT TAB(10)"1 — --- > MÉTODO DE SERIES"PRINT TAB<10)"2 ----- > MÉTODO DE LOS TRAPECIOS"PRINT TABÍ10? " " ;PRINT"3 — •- — > PRESENTACION-IMPRESION DE RESULTADOS"PRINT TAE(10)"4 ----- > PERIODO DE MUESTREO"PRINT TAB (10) "5 '— --- > MENÚ PRINCIPAL"PRINT S 896, "Cual es su elección : " 5LINE INPUT M$IF M*="l" THEN MET=1?GOTO 1330IF M$="3" THEN 2390IF M$=n2" THEN MET=2 = GOTO 1620IF M$=U4" THEN 3260IF M*="5" THEN 2700GOTO 1240REMREM ******** DISCRETIZACION MEDIANTE SERIES ********
MÉTODO DE SERIES ***•* ***# (l
CLS'DIS^l :COT=0:F*="1"POKE 16916,3P R I N T TAB (9) "********DOTMT "TA 'P l 'O ' l 1 1 — __ : __ ,. ___ . ____ ,. __ : ___ .— _— ___ -.-. _ __ _ : _ : _ — ., __ „„.. ___ — ._: _ : _n r í J - i N i ] ri x.' \ /CLS: PRINT: PRINT TAB (20) "Ingrese: "PRINT a 395, "Periodo de maestreo Tíseg) = " ;LINE INPUT T$:T=VALCT$) :T1=TPRINT 3 926,"**** CALCULANDO ****"GOSUB 2S10FOR 1=1 TO NAU( I, 1 )=0FOR J=l TO NAU(I, 1 )=AU(I, D+FKI, J)*B( J, 1)NEXT JF(I, 1)=T*AU(I, 1)NEXT IFOR 1=1 TO N = G C 1 , I)=C(1, I) :NEXT IH( 1 , 1 )=D( 1,1)CLS:PRINTPRINT TAB (10) "La discret i sacian del sistema continuoPRINT TAB (10) "ha terminado. ": PRINT = PRINT : PRINT
15001570158015901600161016201630164016501660167016801690170017101720173017401750176017701780179018001810182018301840185018601870188018901900191019201930194019501960197019801990200020102020203020402050206020702080209021002110
PRINT TAEC10)"PRESIONE CUALQUIER TECLA PARA VOLVER AL"PRINT TAB(10)"MENÚ DE DISCRETIZACION."0*=INKEY*:IF 0$="" THEN 1580 ELSE PRINTPOKE 16916, (3CLSíPOKE -437,2:GOTO 1150REMREM ****** MÉTODO DE TRAPECIOS ******O CTM . — . ,~—. : : :. :: : . „ „ ._ : _r\c.i i — —CLS:DIS=1:COT=0:POKE'16916,3:F$="1"PRINT TAB(9)"******** MÉTODO DE TRAPECIOS ********"PRINT TABÍ9) " "CLS:PRINT:PRINT TAB(20)"Ingrese:"PRINT a 331, "Presidan de las calculas = ";LINE INPUT E$:EPS=VAL(E$)PRINT a 395,"Periodo de maestreo T(seg) = ";LINE INPUT T$:T1=VAL(T$>PRINT a 926,"**** CALCULANDO ****"T=T1:GOSUB 2810FOR 1=1 TO N:FOR J=l TO N:XU(I,J)=E(I,J):NEXT J,IF=0:NI=10K=NI:T=T1/NIGOSUB 2810K=NIFOR 1=1 TO NFOR J=l TO NIF I=J THEN FI(I,J)=1 ELSE FI(I,J)=0NEXT J,I
NN
FOR 1=1 TOFOR J=l TOAU(I,J)=0FOR L=l TO NAU CI,J)=AU(I,J)+E(I,L)*FI< L,J)NEXT L,J,IFOR 1=1 TO NFOR J=l TO NIF I=J THEN FI(I,J)=1+AU(I,J) ELSE FI(I,J)=AU(I,J)NEXT J,IK=K-l:IF K>0 THEN 1830FOR 1=1 TO NFOR J=l TO NIF I=J THEN MACI,J)-FIÍI,J)-l ELSE MA(I,J)=FI(I,J)NEXT J,IT=-T1/Ni:GOSUB 2810FOR 1=1 TO NFOR J=l TO NIF I=J THEN E(I,J)=1+E(I,J)NEXT J,IFOR 1=1 TO NAU(I,1)=0FOR J=l TO NAUCI,1)=AU(I,1)+E(I,J)*E<J,1)NEXT J,IFOR 1=1 TO NPR(I)=0FOR J=l TO NPRCI)=PR(I)+MA(I,J)*AU<J, 1)
21202130214021502160217021802190220022102220223022402250226022702280229023002310232023302340235023602370238023902400241024202430244024502460247024802490250025102520253025402550256025702580259026002610262026302640265026602670
NEXT JF(I,1)=T1*PR(I)/(2*NI)NEXT IIF F=0 THEN 2230FOR 1=1 TO NIF ABSCFC I, D-PI (I) XEPS GOTO 2180 ELSE 2200NEXT IGOTO 2250FOR 1=1 TO N=PI(I)=F(I,1):NEXT INI=NI+5:PRINT 3523, "NI —->";NIGOTO 1760
N=PI(I)=FCI,1):NEXT I. :GOTO 1760
TOFOR 1=1NI=NI+1:F=FOR 1=1 TOFOR 1=1 TOHC1,1)=DC1,1)CLS:PRINTPRINT TABC10)PRINT TAE(10)PRINT TABC10)
N=FOR J=l TO N=E<I,J)=XU(I,J)=NEXT J,IN:G(1,I>=C(1,I):NEXT I
'La discretizacion del sistema continuo"' ha terminado.":PRINT:PRINT:PRINT'PRESIONE CUALQUIER TECLA PARA VOLVER AL"
PRINT TABC10)"MENÚ DE DISCRETIZACION."0*=INKEY$=IF 0$="" THEN 2330 ELSE PRINTPOKE 16916,0CLS". POKE-437,2:GOTO 1150REMREM **** PRESEMT-GRAEA-IMPRESION DE RESULTADOS **••**rí t,rl * * : " : * ' " ~ ~ ' : : *~"~ * •"' :: : • '~"~~—:—"~" :
DISC=PEEKC-437)IF DISC=2 THEN 2440CLS:PRINT 3 512,"NO existen RESULTADOS"FOR 1 = 1 TO 200 :¡W=0: NEXT IGOTO 1150
PRESENTACION-CLS:PRINT"OPCIONES EN IMPRESIÓN"= 1aaaaa
3"~.'*^. » 1 _-_-,X,_J , JL/,c:-7 ii o ___„_•*+ J O , JL.^Ql u "7 —__.-J Q ± , i_)
709,"4 ~896,"Cual es
FOR K'PRINTPRINTPRINTPRINTPRINTIFIFIFIFIFGOTO 2500N$="En:M=N=L=NFOR 1=1 TO N:FORGOSUE 3980
TO 60: PRINT11-11 ; =NEXT KDE RESULTADOS1RESULTADOS"
• PRESENTACIÓN• IMPRESIÓN DE• GRAVACION EN DISCO• MENÚ EN DISCRETIZACION"su elección :";:OPI*=INKEY*
OPI$=""OPI$="1"OPI$=II2"OPI$="3"
THEN :THENTHENTHENTHEN
:5002570277027901150
K=l TO N:MA(I,K)=ECI,K):NEXT K,I
FOR 1=1 TO L=MACI,1)=F(I,1)=NEXT IGOSUE 3980N$="G":M=N:L=1FOR 1 = 1 TO M s M A C l , I)=GU, I) :NEXT IGOSUEX 3980
MAC 1,1)=HC1,1)
2680269027002710272027302740275027602770278027902800281(32820283028402850286028702880289029002910292029302940295029602970298029903000301030203030304030503060307030803(3903100311031203130314(3315031603170318(331933200321032203230
GOSUB 3980GOTO 239.0M*="PATOSD/PRO"IF F$O"1" THEN 2750GRAMATR=1CLS:PRINT 3 512,"Gravando datos enGOSUB 4530CLS:PRINT S 512,"Cargando programaRUN"MENU/BAS.LARS"GOSUB 5060GOTO 2390GOSUB 4530GOTO 2390REMREM **-**• SUBPROGRAMA PARA CALCULAR EXP(A#T)
DATOSD/PRO"
MENU/BAS.LARS"
FOR 1=1 TO NI —-i " p D T K J T £l A1^ 1 " P _ — . — '•-, » •U.— i - r r\. IN I OJ Q_J -L i r .•• f
FOR KL=L+1 TO NIF ABSCAÍI,L))<ABSCA(I,KL)) THEN L=KL:GOTO 2860NEXT KLEMÍI)=AES(A(I,L))NEXT IMAX=EM(1)FOR 1=2 TO NIF MAX>EM(I) THEN 2950MAX=EM(I)NEXT IQ=MAX*AES(T)P=INT<3.7*N*Q+4)PRINT a 669,PFOR 1=1 TO NFOR J=l TO NIF I=J THEN FICI,J)=1 ELSE FI(I,J)=0NEXT J,IK=PFOR 1=1 TO NFOR J=l TO NAU(I,J)=0FOR L=l TO NAU( I*, J)=AU<I, J)+A(I,L)*FI(L, J)NEXT L,J,IFOR 1=1 TO NFOR J=l TO NIF I=J THEN FKI, J)=1+T*AU<I, J)/K ELSE FI ( I, J ) =T*AU C I , J ) /KNEXT J,IK=K-1IF K>1 THEN 3040FOR 1=1 TO NFOR J=l TO NAUCI,J)=0FOR L=l TO NAUCI,J)=AUCI,J)+A(I,L)*FI(L,J)NEXT LIF I=J THEN ECI,J)=1+T*AUCI,J) ELSE ECI,J)=T*AU(I,J)NEXT J,I
3240325032603270328(33291333003310332R33303340335033603370333033903400341034203430344034503460347034B034903500351035203530354035503560357035B0359036003610362036303640365036603670368036903700371037203730374037503760377037803790
RETURNREMREM ****** DETERMINACIÓN DEL PERIODO DE MUESTREO ******
DEL PERIODO DEdiscret izacion
CLS:POKE 16916,2PRINT:PRINT"CALCULOPRINT:PRINT"Para laPRINT" de estado"PRINT:PRINT" —> Determinando laPRINT"tica del sistema":PRINT TAB(A2(l)=lFOR 1=1 TO NFOR K=l TO NIF I=K THEN AU(I,K)=1 ELSE AU(I,K)NEXT K,IFOR 1=2 TO N+lFOR J=l TO NFOR K=l TO NMACJ,K)-0FOR U=l TO NMA C J,K)=MA(J,K)+A(J,L)*AU C L,K)NEXT L,K,JA2 <I)=0FOR J=l TO NA2(I)=A2(I)-MACJ,J)NEXT JA2CI)=A2(I)/ÍI-1)FOR J=l TO NFOR K=l TO NAU(J,K)=MA(J,K)IF J=K THEN AU< J,K)=AU(J,K>~HA2<I )NEXT K,JNEXT ICLS:PRINT:PRINT " > " ;PRINT "CalculandoGOSUB 5600CLS:POKE 16916,6PRINT:PRINT"POLOS DEL
MUESTREO T ADECUADO"'de las ecuaciones";
ecuación caracteris"ir)"continuo"
los polos del sistema continuo'
PRINT TABÍ 10) "PoloSISTEMA CONTINUO:"=PRINT
Real Imagi PRINT
FOR 1=1 TO NPRINT TABC11) ;PRINT USING F*;lNEXT I
PR(I),PI(I)
FOR- 1 = 1 TO NIF A B S Í P R C I ) X1E-6 THEN 3720LN=LN+1 : 0 ( L N ) = A B S C P R ( I ) / 4 . 6 )NEXT IIF LN=0 THEN BMAX=0 : CA=1 : GOTO 3760GOSUB 3910BhAX=AMAX:LN=0FOR 1=1 TO NIF ABSÍPI C I ) K1E-6 THEN 3790LN=LN+i :0(LN)=ABS(PI ( I ) / ( 2*3 . 1415926) )NEXT I
38003810382038303840385(338603870388038903900391039203930394039503960397039803990400040104020403040404050406040704080409041004110412041304140415041604-17041804190420042104220423042404250426042704280429043004310432(34330434043504360
IF LN=0 AND CA=1 THEN T=i:GOTG 3860IF LN=0 THEN CMAX=0:GOTO 3840GOSUB 3910CMAX=AMAXIF BMAX>CMAX THEN T=0.2/BMAX=GOTO 3860T=0.2/CMAXPRINT:PRINT"Se propone un prer iodo de muéstreo T ='PRINT USING"##.###### (seg>";T=PRINTPRINT a 1000, " (Presione una tecla)11;M$=INKEY*:IF M*=u" THEN 3890POKE 16916,0:GOTO 1150AMAX=0<1)FOR 1=2 TO LNIF 0(I)>AMAX THEN AMAX=0(I)NEXT IRETURNREM **•** UTILITARIOS PARA DISCRETIZACION ****REMREM **#•-* PRESENTACIÓN DE MATRICES EN ***•*REM **** LA PANTALLA ****
IF M<4 AND L<4 THEN Z=M:W=L:C=-5:GOTO 4060IF M>=4 AND L>=4 THEN Z=4:W=4:C=0:GOTO 4060IF M>=4 THEN GOTO 4050Z=M = W=4s 0-8 : GOTO 4060
V=(17-2*W)/2=MV=INT(V)C=<62»14*Z)/2+70+64*MV+C:A=C-121:E=C-6
PRINT"M A T R I Z ";N$;":"P D T MT i' 'iI rí JUN I /
PRINT a C,"";FOR I=X TO WFOR J=Y TO ZPRINT USING" #######.###" 5 MAC I,J) ;=NEXT JA=VA:C=C+128:PRINT a C,M1I;:NEXT IFOR J=Y TO Z = PRINT a A, " ( " .; J ;" ) " 5 : AFOR I = X TO W:PRINT a E, " (" ; I ; " ) " ; :EPRINT 5) 1000, " (Presione una tecla) :| ;: M$=INKEY$IF M$="" THEN 4180
— \ ) A • TD — \ * f~"—>l/i"* í~" — \ f* * lOI Cí•— VH • 4-' —• V J-' " w — V W • Lr-— v\-r * "¿L-ÍD
IF Z^M THEN GOTO 4240IF U<4 THEN Y=Y+UsZ=Z+U:GOTO 4090y=Y+4 = Z = Z+4 = U=U-4:GOTO 4090IF W=L THEN GOTO 4290IF H<4 THEN W=W-hH : X=X+H : GOTO 4270
IF M>4 THEN Y=l:Z=4^U=M-Z=GOTO 4090Y~l:Z=M-U~M~Z:GOTO 4090RETURNREM **** OBTENCIÓN DE DATOS DEL DISCO - ***M$="DATOSC/PRO"OPEN "R",2,M$,40
DIM A(N,N),B(N,1>,C(1,N>FIELD 2,20 AS Xí,20 AS Y$GET 2,1
43704380439(3440044104420443044404450446044704480449045004310452045304540455045604572)458045904600461046204630464046504660467046804690470047104720473047404750476047704780479048004S1048204S30484048504860437048804890490049104920
B$=LEFT*<X*, 1 ) =N=CVI ( Y$ )GET 2,2D( li 1)=CVD(X$) :H<1, 1 )=CVD<Y*)B=NC2+3FOR 1=1 TO NFOR K=l TO NGET 2, AA(IiK)=CVD(X$)A=A+1NEXT KGET 2, EE< I, 1)=CVD(X$) :C(1, I)=CVD(Y$)E=E+1NEXT I .GLOSERETURNREM **** ALMACENAMIENTO DE MATRICES EN DISCO ****IF GRAMATR=1 TREN 4840CLS: PRINT : PRIMT" ESTE ES SU DIRECTORIO: ": PRINTOPEN "R",l, "DIRECTOR"FIELD 1, 10 AS A$ON ERROR GOTO 4670GET 1, 1NN=CVI(A$)IF NN<2 THEN PRINT:PRINT "DIRECTORIO VACIO" ¡GOTO 4690FOR 1=2 TO NNGET 1, I : PRINT A$,DIR$< 1-1 >=A$NEXT IGOTO 4690PRINT: PRINT" DI RECTORIO VACIO"NN=l: RESUME 4690PRINT 3 896, "Escriba un nombre para el archivo : " ;LINE INPUT M*FOR 1=1 TO NN-1L=IIF M$=DIR$(I) THEN 4760NEXT INN=NN+I=L=NN:GOTO 4810PRINT 3 890, "" SPRINT 3 896, "Archivo existente,";PRINT"S) para el i minar lo, sino otra = " ;LINE INPUT D$IF D$="a" THEN 4810PRINT 3 890, 1 I I 1 - : GOTO 4690LSET A$=M$:PUT 1,LLSET A$=MKI*<NN) :PUT 1,1CLOSEOPEN "R" , 1,M$,40FIELD 1,20 AS X$,20 AS Y$A=3:E=NC2+3LSET X$="D":LSET Y*=MKI*(N)PUT 1,1LSET X$=MKD$(D(1, 1) ) : LSET Y*=MKD$ C H ( 1 , 1 ) )PUT 1,2FOR 1=1 TO NFOR K=l TO N •
49304940495©496(34970498049905000501050205030504050505060507050805090510051105120513051405150516051705180519052005210522052305240525052605270528052905300531053205330534053505360537053B0539(3540054105420543054405450546054705480
LSET X$=I1KD*(E( I,K) )PUT 1,.AA=A+1NEXT KLSET X*=MKD$(F(I,1)):LSET Y$=MKD$(G(1,I))PUT 1,BB=E+1NEXT ICLOSEIF GRAMATR=1 THEN 5050CLS: PRINT a 462, "«< GRAVACION COMPLETADAFOR 1=1 TO 100:W=W+l:NEXT ICLS:RETURNREM **** IMPRESIÓN DE MATRICES **•**CMD"P",X$IF VAL(X$)=63 THEN PRINT a 820,"":GOTO 512PRINT a 870,"(Inicialice la impresora)";PRINT a 820,""GOTO 5070LPRINT CHR$(27) ; CHRÜK23)
CHRSÍ27)5CHR$(14):>0 THEN 5200!LPRINT:LPRINT TAB(11)¡LPRINTTAB(15)"SISTEMA DISCRETOTAB(10) "x(k+l> = E x(k)TAB(10) " y(k) = G xík):LPRINT=PAS=1=1 THEN LPRINTTAB(5)"MÉTODOCHR$(27)CHR$(27)
=" E "11 s FOR K=l
LPRINTIF PAS"
LPRINT:LPRINT:LPRINTLPRINTLPRINTLPRINT:IF MET=LPRINTLPRINTLPRINT
FOR 1=1 TO
*** DISCRET-IZACION
=LPRINT:LPRINT+ F Li(k) " : LPRINT+ H u ( k ) "
TAB(5)"MÉTODODE TRAPECIOS"15)19)
DE SERIES" -'GOTO 5230
GOSUE 5380;_- II rr II
FOR 1=1LPRINT: GOSUB 53S0
sN*="G"TO N=MA(1,I)GOSUB 53B0:N$="HH-Hí1,1):LPRINTLPRINT TAE(10)
TO L:MA(I,K)=E(I,K) :NEXT K, I
1)=F<I, 1) --NEXT I
G(l,I)=NEXT I
GOSUE 5380PERIODO DE
FOR 1=1LPRINT:M=l:L=lMA(1,1)LPRINT:RETURNY=lLPRINTIF L>4W=L=GOSUBRETURNW=4:Z=L-W:GOSUB 5510.LPRINTsLPRINTIF Z<=4 THEN 5490W=W+4:Y=Y+4:Z=Z-4:GOSUE 5510LPRINT:LPRINT:GOTO 5450IF W=L THEN RETURN
MUESTREO T=";T1;"(seg)
TAB(13)"MATRIZTHEN 5430
5510
;N$:LPRINT
54905500531055205330554055505560557055805590560056105620563056405650566056705680569057005710572057305740575057605770578057905S005810592058305840585058605S7058305890590059105920593059405950596059705980599060006010602060306040
)
Y=W+1=W=W+Z:GOSUB 5510RETURNLPRINT TABC26) ; .FOR K=Y TO WLPRINT " ( " ;K-, "FOR 1=1 TO MLPRINT T ABC 13)FOR K=Y TO WLPRINT USING"NEXT K:LPRINT¡NEXT iRETURNREM *** PROGRAMA PARAREM •**•* POLINOMIO POR
< " ; I
:NEXT K:LPRINT:LPRINT
JHMí" ;MA(I,K)
CALCULO DE RAICES DE UNEL MÉTODO DEL DESCENSO
REM *** MAS PRONUNCIADOGGSUB 5780REM **** VERIFICACIÓN DE U+jVFOR J=l TO NU( J)=A2<1> =V( J)=0FOR Jl=l TO NT=U( J)*PR( J)-VC J)*PI ( J)+A2< Jl+1 )V( J)=V( J)*PR( J)+U< J)*PI < J)U ( J ) =TNEXT JlNEXT JFOR J«l TONU ( J ) =U C J ) C 2 : V ( J ) =V C J ) C 2U( J)=U< JH-VÍ J)U( J)=SQRCU( J) )RETURN
#•*#•#****•»*•
REMREMREM N — -REM Al —REM Rl —REM II —NO=NJ9=0E=1.0E-5E1=EC2FOR 1=1FOR 1=1FOR J=lAl (J)=ANEXT JIF N0>0RETURNIF A1(NO)<>0
SUB. PARA LA SOLUCIÓN DE ECUACIONES POLINOMIALESMÉTODO DEL DESCENSO MAS PRONUNCIADO
GRADO DEL POLINOMIOVECTOR DE COEFICIENTES EN ORDEN DESCENDENTEVECTOR CON PARTES REALES DE LAS RAICESVECTOR CON PARTES IMAGINARIAS DE LAS RAICES
PR(I):
PIÍ I )'
TOTOTO NO
J + D / A 2 Í 1 )
0=NEXT0:NEXT
THEN 5950
THEN 5990
NO=NO-1GOTO 5930IF .NOO1 THEN 6030J9=J9+1PRC J9)=-A1(NO)RETURNIF NOO2 THEN 6350X=-A1 ( 1 ) /2
60506060607060806090610061106120613(3614061506160617061SQ61906200621 0622062306240625062606270
6290630063106320633(363406350636(3637063806390640064106420643(364406450646064706480649065006510652065306540655(3656(36570658065906600
J9=J9-i-lT=X*X-A1 (2)IF T<0 TREN 612(3.T-SQR(T)PRÍ J9)=X+TPR(J9+1)=X-TRETURNPR(J9)=XPR( J9+1)=PR( J9)PI ( J9)=SQR(-T)PIC J9+1)=-PI( J9)RETURNREM SUB. EVALUACIÓNU=lV=0FOR J=l TO NOT=U*X-V*Y+0 ( J )
DE F(Z)=U-f-JV
U=TNEXT JRETURNREM SUB. EVAL. FMZ)=U1+JV1U1=NGVl-0FOR J=l TO NO-1T^U 1*X~V 1 *Y+ ( NO- J ) *0 ( J )V1=V1*X+U1*YU1=TNEXT JRETURNREM DESCENSO MAS PRONUNCIADOT=ABS(A1 (NO) )IF T=l THEN 6450H=TC (I/NO) -T=lFOR J=l TO NOT=T*HOí J)=A1 ( J)/TNEXT JGOTO 6470FOR J=l TO N : 0 ( J ) =A1 C J ) : NEXT JH=l
Y=0.6GOSUB 6170
IF FKE1 THEN 6710GOSUB 6260T=U1*U1+V1*V1X1=-(U*U1+V*V1 )/T
) /T
Y-Y+Y1GOSUB 6170 .F2=U*U+V*VIF F2<E1 THEN 6690
N -O ÜJ
X•N
UJ
Q N O •O 2 LU X H ü_ V
t-H
'.N
xLL
I x
LL
IIt-
i X
X
-i
CO
I Q
>
IIII
-H
> X
> O * i
nco
-o
ii H
> 5
Q 'N in o'N Ü_
O
II H
LL 5
<C
*03
COen
m
pj
hs_
<t
-o
Q
22
LU
*í
X
UJ
UJ
-rH Q
~
x N
>-
•— • o
•~
-tn
*Q
tnFQ
_
X
X
PQ
H X
>
QLL
0
II II
LL I
IM
l£
J X
> H
>-
x >
-i
11 1!
-}-
^^
^-v
O O
1>
^
I~D
*~
D1!
*-
~w
il o
o: K
H^3
U
- Q
-
¡3 C--I
O 2 ÜJ X H S 1! > LL h-i
xTi
||
+
'-N
l> O
'"U ^3
11 -
I>
CC»-
D C
L
>-
>-
1 ^
II
>—
X
+
o *
x'"D
C
''í ^
~-
I X
M
Ii
i!C
L CE
Ü
"j
! *0£
CU
I 1
-» N
— v
T-(
-i-
H
< <
:u
u.
x-.t-i
i~'-\
-•l-í
T-¡
<E <t
Q ¡> f
'••!-Q |
2 2
ÜJ
X O
í- H
m n
v
uO
'"D
ZCK
LL O
i-i L
L
1
i-H *tr i •— • i-f <c n hi
*-x i—, ¡
—•—
x
-i LL!
< 2
Q O(N
th
I in
1*1 z o
II H
l"""
1!
I
'l
2
W
J:
[— . V •
-H <
11
+hJ
x ^c
-i c
r h-
il 0
II
h- L
L H
j— !! ^
*- ^ h-
^—
x-i
UJ
<£
2!
Q tr-T
H l>
1 in
¡~"i z o 11 h-
o o
z w
o<¡
r- N
N-^
M n
-ti
nO
Nco
CQ
en C
Q 03
m c
ora
T-i
CM n
-t
m <
i N
CD
¡>- o
t>
cr-
o
E> o
o*
•JttX
1000101010201(33010401030106010701030109011001110112011301140115011601170118011901200121012201230124012501260127012S01290130013101320J 3301340135013601370138013901400141014201430144014501460147014S01490150015101520153015401550
REMREM A N Á L I S I S
DEFDBL A,F,E,GGOSUE 5730CLS:PRINTPRINT11 ANÁLISISPRINT"DISCRETOFOR 1=1 TO 60:PRINT"PRINT a 590, "**** - AFOR 1=1 TO 150:W=W+1CLSDIM MA(N,N) , Q(N,N) , PI CN) , PR(N)
DE SISTEMAS DE CONTROL"EN EL ESPACIO DE EStADO"
";:NEXT IN A L INEXT I
I S #*•**'
AF(N,N),S(N,N),AJ,N) , Al CN+1) ,U(N),V<N),C(N)
CLS = PRINT: PRINT11 MENÚFOR 1=1 TO 60:PRINT"PRINT:PRINT:PRINTPRINT TABU0) " 1
TABÍ10)"2TABÍ10)"3TABC10)"4S 896,"Cual esINPUT OA*
.n ]_ u
EN ANÁLISIS-" ; =NEXT I
su
CONTROLABILIDAD11 : PRINTOBSERVABILIDAD":PRINTESTABILIDAD11 : PRINTMENÚ PRINCIPAL"elección : "í
THENTHENTHENTHEN
MET=1:GOTOMET=2:GOTO2S101280
13001920
512,"Cargando programa = MENU/BAS.LARS1
PRINTPRINTPRINTPRINTLINEIF QA$=IF OA$="2"IF OA$="3"IF OA£="4"GOTO 1210CLS:PRINTRUN"MENU/BAS.LARS"REMREM ********** CONTROLABILIDAD
CLS:PRINTSPRINTPRINT"CONTROLABILIDAD"FOR 1=1 TO 60:PRINT"-";:NEXT IPRINT:PRINT
7 Se estructuraPRINT"- > " ;PRINT "Estructurando matriz de controlabi1 i dadFOR 1=1 TO N=QÍI,1>=F(I,1):NEXT IFOR K=2 TO NFOR 1=1 TO NFKI, 1 )=0FOR L=l TO NFlCI,1)=F1(I,1)+E<I,L)*F(L,1)NEXT L,IFOR 1=1 TO NQ(I,K)=F1(1,1)F(I,1)=F1(I,1)NEXT I,K
: F CI, 1)=Q(1, 1) ;7 Calculo
la matriz Q
Q1
FOR 1=1 TO N: :NEXT Idel determinante
FOR 1=1FOR K=l
TOTO
MAÍI,K)=Q(I,K)
156015701580159016001610162016301640165016601670168016901700171017201730174017501760177017SS179(318(3013101S20183018401850186018701888189019001910192019301940195019601970198019902000201020202030204020502060207020802090210021102120
5 :M*=INKEY*
NEXT K, IPRINT:PRINT" ---- -> " 5PRINT" Calculando el determinante de Q": PRINTDET=1 :GOSUE 2540 'IF ABSCDETX1E-10 THEN 1670PRINT: PRINT T ABC 10) "EL SISTEMA ES CONTROLABLE"PRINT a 896, "Desea resultados numéricos CS/N) :"M$=INKEY$:IF M$=tr" THEN 1630IF M$="N" THEN 1140IF M$="S" THEN 1690GOTO 1620PRINT: PRINT TAB(10)"EL SISTEMA ES INCONTROLABLE"GOTO 1620M=N:L=N:N$="Q"FOR 1=1 TO N:FOR K=l TO N : MA C I , K )=Q ( I , K ) : NEXT K, IGOTO 1770GOSUB 6240IF ABSCDETK1E-10 THEN 1750LPRINT TABÍ 10) "SISTEMA CONTROLABLE" : GOTO 1760LPRINT TAB( 10) "SISTEMA INCONTROLABLE11LPRINT CHR*<27) ;CHR$(22) :GOTO 1140PRINT a sao, ""PRINT o) 896, "Resultados en Pantalla (S/N)IF M$=" " THEN 1780IF M$="N" THEN 1840IF M*="S" THEN 1830GOTO 1780GOSUB 5400PRINT 3 896, "Resultados en Impresora (S/N)IF M$=" " THEN 1840IF M$="S" THEN 1720IF M$="N" THEN 1140GOTO 1840REMREM ********** OBSERVABILIDAD *** ********rj t~ • M __ __ _ _ ... _ __ __ _ríc.1 I ~~ ~~~ ~~ : ' .— — — —
CLS:PRINT:PRINTPRINT" OBSERVABILIDAD"FOR 1=1 TO 60: PRINT "-"?:NEXT IPRINT:PRINT
'Se estructura la matriz RPRINT:PRINT"-.- --- > " ;PRINT"Estructurando matriz de observabi 1 i dad R":PRINTFOR 1=1 TO NR(1?I)=G(1,I)NEXT IFOR 'K=2 TO NFOR 1=1 TO NGl ( 1 , I )=0FOR L=l TO NGl ( 1, I )=G1 ( 1, I )+G< 1,L)*E(L, I )NEXT L, IFOR 1=1 TO NR(K, I )=G1 (1,1)G(l, I)=G1 (1,M)NEXT IiKFOR 1=1 TO N=G(1, I)=R(1, I) :NEXT I
" ; : M$=INKEY$
2130 7 Calculo del determinante de R2140 FOR 1 = 1 TO N2150 FOR K=l TO N2160 MA(I,K)=R(I, K)2170 NEXT K,I2180 PRINT" > Calculando el determinante de R":RRINT2190 DET=li GÜSUB 25402200 IF ABSÍDETK1E-10 THEN 22302210 PRINT TAB(10)"EL SISTEMA ES OBSERVABLE"2220 PRINT 3 890,"Desea resultados numéricos CS/N) :"2230 SE$= INKEY$224(3 IF SE$="" THEN 22202250 IF SE$="N" THEN 11402260 IF SE$="S" THEN 23002270 GOTO 22202280 PRINT TABC10),"EL SISTEMA ES INOBSERVABLE"2290 GOTO 22202300 FOR 1=1 TO N2310 FOR K=l TO N2320 MA(I,K)=R<I,K)2330 NEXT K,I2340 M=N:L=N:N*="R"2350 PRINT a 850,""2360 PRINT a 896,"Resultadas en pantalla (S/N) ="=G$=INKEY$2370 IF 6$="" THEN 23602380 IF G$="N" THEN 24102390 IF G$="S" THEN 2400 ELSE 23602400 GOSUE 54002410 PRINT 3 850,""2420 PRINT 3 896,"Resultados en impresora CS/N) :":H$=INKEY$2430 IF H*="u THEN 24202440 IF H$="N" THEN 11402450 IF H$="S" THEN 2460 ELSE 24202460 GOSUB 6240 -2470 IF AESCDETX1E-10 THEN 249024SS LPRINT TABC10)"SISTEMA OBSERVABLE":GOTO 25002490 LPRINT TAB(10)"SISTEMA INOBSERVABLE"2500 LPRINT CHR$<27);CHR$C22):GOTO 11402510 REM2520 REM *** CALCULO DEL DETERMINANTE ***2530 REM **•* MEDIANTE TRIANGULARIZACION #•**2540 FOR 1=1 TO N'2550 FOR K=I TO N2560 B=K:ESC=12570 IF MA(K,I)<>0 THEN 26002580 NEXT K2590 DET=0:RETURN2600 IF B=I THEN 26702610 FOR J=l TO N2620 AUX=MACI,J)2630 MA(I,J)=MA(B,J)2640 MAÍB,J)=AUX2650 NEXT J2660 DET =-DET .2670 ON ERROR GOTO 27002680 DET=DET*MA(1,1)
2690270027102720273027402750276027702730279028002S1023202B30284828502860287028802S9S2900291.02920293©2940295029602970298029903(30030103020303030403 05©30603070"308030903100311031203130314031503160317031803190320032103220323032403250
GOTO 2710H!*=" 1" :DET=DET/1000:ESC=ESC*1000: RESUME 2710IF I=N THEN 2790FOR K=I+1 TO NAUX^MACK,I)FOR J=I TO NIF MA(K,J)=0 THEN 2780MA C K, J ) =MA C K, J ) -MA ( I, J ) *AUX/MA CI, I-)NEXT JNEXT KNEXT IRETURNREMREM *###*•*#•*#•* ESTABILIDAD *## •*•*#• #-}*"*••*
CLS=PRINTPRINT"ESTÁBILIDAD"FOR 1=1 TO 60:PRINT "-PRINT:PRINTD Q T M"T » :— __—'"•. » •r K J. N 1 .•• l
PRINT" Determinando la7 Algoritmo7 1.a ecuación
A(1)=1FOR 1=1 TO NFOR K=l TO NIF I=K THEN S(I,K);NEXT K,I
FOR J=l TO NFOR K=l TO NAF(J,K)=0FOR L=l TO NAF(J,K)=AF(J,K)+E < J,L)*S(L,K)NEXT L,K,JA<I)=0FOR J=l TO N
:NEXT I
ecuación característica" •PRINTde Leverrier para encontrar
caracteristi ca
ELSE S(I,K>=0
J)NEXT JA( I)=ACFOR J=lFOR K=l
TOTO
SCJ,K)=AF(J,K)IF J=K THEN SÍJ,K)NEXT K,JIF. KN+1 THEN 1 = 1 + 1 :<50TOPRINT " > " ;PRINT "Calculando los
7 Determinación7 el método del
REMREM •**•*RE:M ***REM *** MASGOSUB 3390REM *** . VERIFICACIÓN DEFOR J=l TO N
SíJ,K)+A(I)
2980
polos del sistema":PRINTde los polos del sistema mediantedescenso mas pronunciado
PROGRAMA PARAPOLINOMIO POR
CALCULO DE RAICES DE UNEL MÉTODO DEL DESCENSO
PRONUNCIADO *#*
U+JV
J26032703280329033(30331033203330334033503360337033S033903400341034203430344034503460347034S0349035003510352035303540355C33560357035S035903600361036203630364036503660367036S03690370037103720373037403750376037703780'379(33S003S10332(3
U( J)VCJ)FORT=U(V( J)U( J)NEXTNEXTFORU( J)UC J)U(J)GOTOREMREMREMREMREMREMREMREMREMREMNO=N
=A ( 1 )=0Jl=l TO NJ)*PR(J)-V(J)*PI(J)+A(Jl+1)=V(J)*PRCJ)+U(J)*PI< J)
JlJ
J=l TON=U(J)C2:V(J)=V(J)C2=UCJ)+V(J)"SQRíUCJ))4640
SUB. PARA LA SOLUCIÓN -DE ECUACIONES PÜLINOMIALESMÉTODO DEL DESCENSO MAS PRONUNCIADO
N __.
PR ~D T
GRADO DEL POLINOMIOVECTOR CONCOEFICIENTES EN ORDEN DESCENDENTEVECTOR CON PARTES REALES DE LAS RAICESVECTOR CON PARTES IMAGINARIAS DE LAS RAICES
N y A no son alteradas por la subrutina
FOR 1 = 1 TO N'- PRC I )=0:FOR 1=1 TO N:PI<I)=0¡FOR J=l TO NOAl (J)=A< J+D/AC1)NEXT JIF N0>0 THEN 3600RETURNIF Al(NO)J9=J9+1NO=NO-1GOTO 3580IF NOO1 THEN 3680
NEXT INEXT I
>0 THEN 3640
PRC J9)=-AKNO)RETURNIF IMOO2 THEN 4000
T=X*X-A1(2)IF T<0 THEN 3770T=SQR(T)PR(J9)=X+TPRCJ9+1)=X-TRETURNPRCJ9)=XPRCJ9+1)=PR<J9>PI(J9)=SQRÍ-T)PI(J9+1)=-PÍ(J9)RETURNREM SUB. EVALUACIÓN DE FCZ)=U+JV
383038403S50386038703880389039003910392039303940395039603970398039904000401040204030404040504060407040804090410041104120413041404150416041704-1804190420(3421042204230424042504260427042804290430043104320433043404350'4360437043804390
U=l
FOR J=l TO NOT=U*X-V*Y+C< J)
NEXT JRETURNREM SUE. EVAL. F7(Z)=U1+JV1
FOR J=l TO NO-1T-U1*X-V1*Y+(NO-J)*C<J)
U1=TNEXT JRETURNREM DESCENSO MAS PRONUNCIADOT=AES(A1(NO))IF T=l THEN 4100H^TC Cl/NO)~P—~ 1
FOR J«l TO NO
CfJ)=A1(J)/TNEXT JGOTO 4120FOR J=l TO N:C( J)=A1 (J)-=NEXT J
GOSUB 3320
IF FKE1 THEN 4360GOSUE 3910
X1=-<U*U1+V*V1YÍ=(U*V1-V*U1).
Y=Y+Y1GOSUE 3820
IF F2<E1 THEN 4340IF F2<F1 THEN 4320X=X-X1Y=Y~Y1Xl=0.9*X1Yl=0.S*Y1GOTO 4210F1=F2GOTO 4170IF AESCX1KE AND AESCY1XE THEN 4360GOTO 4320X'=X*H
IF AES(Y»E THEN 4400Y=0
4400 J9=J9+14410 PR<J9)=X4420 PI<J9)=Y4430 IF Y=0 THEN 45704440 J9=J9+14450 PRCJ9)=X4400 PI(J9)=-Y4470 R=-2*X4480 S=X*X+Y*Y4490 Al(1)=A1(1)-R4300 Al<2)=A1(2)-R*Al(1)-S4-510 IF N0<5 THEN 45504520 FOR J=3 TO NO-24530 A1(J)-A1C J)-R*A1< J-l)-S*Al(J-2)4540 NEXT J '4550 NO=NO-24500 GOTO 364(34570 T=l45B0 FOR J=l TO NO-14390 T-T*X+A1(J)4600 AlCJ)=T4610 NEXT J4620 NO=NQ-14630 GOTO 36404640 FOR 1=1 TO N4650 POLO=SQR ( PR C I) C-2+PI (I ) L 2 )4660 IF POLO =>1 THEN 47004670 NEXT I4680 ESTA=14690 PRINTíPRINT TAB(10) "SISTEMA ESTABLE"¡GOTO 47104700 ESTA=0=PRINT:PRINT TAB< 10)'"SISTEMA INESTABLE"4-710 PRINT 3396,"Desea resultados numéricos CS/IM) : " : K$=INKEY*4720 IF K$="" THEN 47104730 IF K$="N" THEN 11404740 IF K$=nS" THEN 4750 ELSE 4710475(3 PRINT 3 850, u "4760 PRINT 5) 396, "Resultados en pantalla (S/N) : " :HK*=INKEY*4770 IF HK*=Iin THEN 47604730 IF HK$="N" THEN 50104790 IF HK*="S11 THEN 4S00 ELSE 47604800 CLS-PRINT4310 PRINT"ECUACION CARACTERÍSTICA :"4820 PRINT:PRINT JAEC10)"Expanente Coeficiente"4830 PRINT4840 FOR 1=1 TO N+l4850 PRINT TABÍ14);4860 PRINT USING"## ####.^^tt";N-I+1;A(I)4870 NEXT I4880 PRINT 3 1000,"(Presione una tecla)";:M$=INKEY$4890 IF M$=M" THEN 48804900 CLS:PRINT4910 PRINT"POLOS DEL SISTEMA :"4920' PRINT4930 PRINT TAE(10)"Polo Real Imagi.":PRINT4940 F$="^tt4950 FOR 1 = 1 TO N
49604970498049905000501050205030504050505060507050S05090510051105120513051405150516051705130519052005210522052305240525052605270528052905300531053205330534053505360537053805390540054105420543054405450546054705480 *5490550055105520
PRINT TABCU);PRINT USING F$;I,PRCI),PI(I)NEXT IPRINT a 1000, ll (Presiona una tecla) " ; : M*=INKEY$IF M$="" THEN 4990CLSPRINT 5) 896, "Resultados en impresora (S/N) : " ; : S$=INKEY*IF S$="" THEN 5020IF S$="N" THEN 1140IF S$="S" THEN 5060 ELSE 5020GOSUB 6240LPRINT CHR$C14):LPRINT:LPRINTLPRINT CHR$<27);CHR$C14?L'PRINT-LPRINT TABC 13) "ESTABILIDAD-LPRINT CHR$<27>;CHR$C15>LPRINT¡LPRINT:LPRINTLPRINT TABC10)"ECUACIÓN CARACTERÍSTICA :":LPRINT:LPRINTLPRINT TABC20)"Exponente Coeficiente"LPRINT=LPRINTFOR 1=1 TO N+l
;X,ACI)LPRINT TABC23);LPRINT USING"##LPRINTNEXT ILPRINT=LPRINTLPRINT TABC10)"POLOS DEL SISTEMA":LPRINTLPRINTLPRINT TABC20)"Polo RealLPRINT=LPRINT
Imag."
FOR 1=1 TO NLPRINT TABC 21) ;LPRINT USING G$ ; I , PR C I ) , PI C I )LPRINTNEXT ILPRINT=LPRINTIF ESTA^l THEN LPRINT TAB ( 10) " SISTEMA ESTABLE" : GOTO 5350LPRINT TABC 10) "SISTEMA INESTABLE"LPRINT CHR$C27) ;CHR$(22) : GOTO 1140REMREM **•*•* UTILITARIOS PARA ANÁLISIS #•***REM ' __ ____ ' ___ ' ____ ' ___ — _ ' ___ ' __ ' — __ >— — __ — •— ': _ • __ . _ :
REMREM •#*•** PRESENTACIÓN DE MATRICES EN PANTALLA ****
IF M<4 AND L<4 THEN Z=M : W=L : C=-5 ' GOTO 547Í3IF M>=4 AND L>=4 THEN 2=4: W=4: C=0: GOTO 5470IF M>4 THEN GOTO 54602=M:W=4:C=-8:GOTO 5470Z=4= W=L=C=0V= ( 1 7™2*W ) /2 : MV=I NT C V )C=(62-14*Z)/2+70+64*MV+C:A=C-12l:B=C-6U=M-2 :. H=L-W : VA=A : VB=B : VC=CPRINT a 10, "M A T R I Z ";N$;":"PRINT a C, " " ;FOR I=X TO W
553(35540555055605570558(355905600561056205030564056505660567056S0569057005710572057305740575057605770573057905S0058105S20583058405850586053705380589(3590059105920593059405950596059705980599060006010602060306040-6050606060706080
FOR J=Y TO ZPRINT USING" #######.###";MA<I,J)A^VA:C=C+123: PRINT 3 C,"";:NEXT IFOR J=Y TO Z:PRINT 3 A,"C";J;")";:,FOR I=X TO W: PRINT a. B, " ( " ; I; " ) " ; ::
NEXT J
=A+13sNEXT J=B+128sNEXT* I
PRINT a 896,"DETERMINANTE^";DET?IF H$="l" THEN PRINT" * " ;ESCPRINT a 1000,"(Presione una tecla)IF M$="" THEN 5610'f^ i 1/"* " ("I CI
IF Z=M THEN GOTO 5670IF U<4 THEN-Y=Y+U:Z=Z+U=GOTO 5500Y=Y+4:Z=Z+4:U=U-4:GOTG 5500IF W=L THEN GOTO 5720IF H<4 THEN W=W+HsX=X+H=GOTO 5700
IF M>4 THEN Y=lsZ=4=U=M-Z:GOTO 5500Y~ 1 - Z—M » U—M~Z • Gí'íTí") 5500RETURNREMREM **•** OBTENCIÓN DE DATOS DEL DISCO **-**N*="DATOSD/PRO"OPEN "R",2,N$,40
FIELD 2,20 AS X$,20 AS Y$GET 2,1 •B$=LEFT$(X*,1)=N=CVICY$)DIM EÍN,N),F(N,1),G(1?N)GET 2,2DC 1, 1)=CVD<X$) = H C 1 ,B=NC2+3FOR 1=1 TO NFOR K=l TO NGET 2,AE<I,K)=CVD(X*>A=A+1NEXT KGET 2,BFCI, 1)B=B+1NEXT ICLOSERETURNLPRINT
GC1,I)=CVD<Y$)
LPRINT TABC13)"MATRIZ :";N$LPRINT=LPRINTIF L>4 THEN 6050W=L:GÜSUB 6130RETURNREMREM ****** IMPRESIÓN DE MATRICES ****#*#W=4:Z=L-W:GOSUB 6130LPRINT:LPRIMTIF Z<=4 THEN 611(3W=W+4:Y=Y+4:Z=Z-4:GOSUB 6130
Inicialice la impresora1
6090 LPRINT-'LPRINT:GOTO 60706100 IF W=L THEN RETURN6110 Y=W+1=W=W+Z:GOSUB 61306120 RETURN6130 LPRINT TABC26);6140 FOR K=Y TO W6150 LPRINT "(";K;") ";:NEXTK6160 LPRINT = LPRINT:LPRINT -6170 FOR 1=1 TO M61B0 LPRINT TAB(13) "(";I;")";6190 FOR K=Y TO W6200 LPRINT USING" #######.###";MA(I,K)6210 NEXT K6220 LPRINT=LPRINT:NEXT I6230 RETURN6240 CMD"P" , X$6250 ' IF VAL(X$>=63 THEN 62706260 PRINT a 870,""=PRINT a 896,6270 LPRINT CHR$<27)5CHR*(21)6280 LPRINT CHR$(27);CHR$(14)6290 IF PAS^l THEN 63406300 LPRINTíLPRINT6310 LPRINT:LPRINT:LPRIMT TAE(?)"*** A N Á L I S I S6320 LPRINT:LPRINT6330 PAS=16340 IF OA*="3" THEN RETURN6350 LPRINTsLPRINT6360 -IF MET=2 THEN 63806370 LPRINTsLPRINT TAE(12)"CONTROLABILIDAD":LPRINT:GOTO 63906380 LPRINT = LPRINT TAB ( 12) "OESERVABILIDAD11 --LPRINT6390 LPRINT CHR$<27);CHR$<15)640S LPRINT CHR$(27);CHR$(19)6410 GOSUB 59706420 LPRINT:LPRINT6430 .LPRINT TABC10)"DETERMINANTE = ";DET;6440 IF H$=nl" THEN LPRINT" * ";ESC6450 LPRINT:LPRINT:LPRINT6460 RETURN
10001010102010301040105010001070108010901100111011201130114011501160117011801190120012101220123012401250126012701280129013001310132013301340135013601370138013901400141014201430144014501460147014801490150015101520"1530154015501560
REMREM ******#*# REALINENTACION DE ESTADO *********DCTM _., , : . .. : : : :: :r\L-[ i
CLS:POKE 16916,6DEFDBL A,B,C,E,F,Q,M,X,PPRINT"ANÁLISIS DE SISTEMAS DE CONTROL"PRINT"DISCRETO EN EL ESPACIO DE ESTADO"FOR 1 = 1 TO 60: PRINT11»" ; :NEXT I : PRINT : PRINTPRINT:PRINT JAB(6)"***** REALIMENTACION DISCRETA ";PRINT"DE ESTADO *****"GOSUE 3860DIM X(N,2*N),P(N,2),Q(N,N),V<N,2),C<N,2>,qi(N>,PE(N,N)DIM MA(N,N),AU(N,N)
'Se estructura la matriz Q
1)+E(I,L)*F(L,
FOR 1 = 1 TO N Ü -FOR K=2 TO NFOR 1=1 TO NFl(I,1)=0FOR L=l TO NFl(I,1)=F1(INEXT L,IFOR 1=1 TO NQ(I,K)=F1(1,1)F<I,1>=F1(1,1 )NEXT I,KFOR 1 = 1 TO N.-FCI, 1)=Q(I, 1)
1 CalculoTO NTO NQ ( I, K)
:MEXT
:NEXT Idel determinante
FOR 1=1FOR K=lMA<I,K>=NEXT K,IFOR 1=1 TOFOR K=I TOB=K
NN
NACK,I)<>0 THEN 1450NEXT KCLS:PRINT=PRINTPRINT"EL SISTEMA ESPRINT"No es posiblePRINT:PRINTPRINT"(Presione una teclaPRINT"al MENÚ PRINCIPAD"M$=INKEY*:IF M$="" THEN 1430GOTO 1810IF B=I THEN 1520FOR J=l TO NAUX=MACI,J)MACI,J)=MA(E,J)MAíB,J)=AUXNEXT JDET =-DETDET=DET*MA(I, I)IF I=N THEN 1600FOR K=I+1 TO NAUX=MACK,I)FOR J=I TO N
INCONTROLABLE"sPRINThacer la real imentación
para regresar
de estado"
1370 IF MA(K,J>=0 THEN 159(31580 MA(K,J)=MA(K,J)~MA<I,J)*AUX/MA<I,I)1590 NEXT J,K1600 NEXT I1610 'Ingresando ubicación deseada para los polos162.0 CLS:NUM=0:PRINT:PRINT" Ingrese los polos deseados:"1630 PRINT a 586, "Polo" r¡ PRINT 8 596, "Parte real";1640 PRINT a 616,"Parte imag."1650 FOR 1=1 TO N1660 PRINT a 700,""1670 PRINT a 715,I:PRINT 3 724, (1 " ; : LINE INPUT R$1680 PC I, 1)=-VAL(R*)1690 PRINT 3 744,"";:LINE INPUT I*:P(I,2>=-VAL(1$)1700 IF P(I,2)<>0 THEN NUM=NUM+1:IF NUM>2 THEN NUM=11710 NEXT I1720 FOR 1=1 TO N1730 IF SQRÍPCI,1)C2+P(I,2)C2)<1 THEN 18401740 CLS: PRINT: PRINT" *-**•* ERROR *•***"1750 PRINT:PRINT"Los polos ingresadas producen INESTABILIDAD"1760 PRINT:PRINT"Para intantario otra vez presione una tecla"1770 PRINT a 1000, "(3 —-> MENÚ PRINCIPAD";1780 L*=INKEY$:IF L$="" THEN 17801790 IF L$="a" THEN 18101800 GOTO 16201810 POKE 16916,0:CLS1820 PRINT Q 512,"Cargando programa : MENU/EAS.LARS"1830 RUN"MENU/EAS.LARS"1840 NEXT I1850 IF NUMO1 THEN 19401860 CLS:PRINT¡PRINT"**** ERROR ****»:PRINT1870 PRINT"Cuando existan polos' complejos deben"1880 PRINT"venir en pares conjugados"1S90 PRINT:PRINT"Para hacerlo nuevamente presione una tecla"1900 PRINT a 1000, "(a > MENÚ PRINCIPAL)11;1910 G$=INKEY$:IF G$="" THEN 19101920 IF G$="3" THEN 18101930 CLS:GOTO 16201940 PRINT a 896,"Para repetir ingreso presione1950 PRINT a 1000, " C a •> MENÚ PRINCIPAD";1960 G$=INKEY$:IF G$="" THEN 19601970 IF G*=IiaH THEN 18101975 IF <a$="R" THEN 162019B0 "Determinación de coeficientes de la ecuación1990 ^carácteristica en base a los polos deseados2000 CLS:PRINT2010 PRINT" > Calculando coeficientes de ecuación";2020 PRINT" característica"2030 F=02040 FOR 1=1 TO N2050 VCI,1)=1:V(I,2)=02060 NEXT I2070 FOR K=l TO N2080' C(K,1)=0:C(K,2)=02090 LN-N-F2100 FOR 1=1 TO LN2110 NF=N-F-I+1.2120 A1=SQR(V(I, 1)C2+V(I,2)C2)
R,sino otra"
2130 A2=SQR(P(NF,1>C2+P(NF,2)C2>2140 A3=A1*A22150 B1=ATN(V<I,2)/V(I, 1) )2160 IF V(I,1><0 THEN Bl=3-141592654+B12170 B2=ATN<P(NF,2)/P<NF,.l ) )2180 IF P(NF,1)<0 THEN E2=3.141592654+B22190 E3=E1+E22200 CCK,1)=C(K,1)+A3*COS(B3):V(I,1)= C(K,1) .2210 C í K, 2 ) =C ( K, 2 ) +A3*SIN ( B3) -' V C 1, 2 ) = C (K, 2)2220 NEXT I2230 F=F+12240 NEXT K2250 7 Cal culo del palinomio carácter isti co matricial2260 CLS = PRINT:PRINT"-——> Calculando polinomio caracte";2270 PRINT"ristico rnatricial PÍE) "2280 FOR 1=1 TO N2290 FOR J=l TO N2300 AU(I,J)=E(I,J)2310 NEXT J,I2320 FOR 1=1 TO N233(3 FOR K=l TO N2340 FOR J=l TO N2350 PE(K,J)=AU<K,J)2360 IF J=K THEN PE(K,J)=PE<K,J)+CCI , 1)2370 NEXT J,K2380 FOR K=l TO N2390 FOR J=l TO N2400 AU(K,J)=02410 FOR L=l TO N2420 AlHK,J)=AU(K,J5+ECK,L)*PE<L,J)2430 NEXT L,J,K2440 NEXT I2450 "'Calculo de los elemento de la ultima fila de2460 Tla matriz inversa de Q2470 CLS:PRINT:PRINT" -> Encontrando los elementos de la1
2480 PRINT TAE(7)"matriz inversa de Q"2490 FOR 1=1 TO N2500 FOR K=l TO N2510 XCI,K)=Q(I,K)2520 NEXT K2530 FOR J=N+1 TO 2*N2540 X(I,J)=02550 IF (JH\I)=I THEN X(I,J)=12560 NEXT J2570 NEXT I2530 FOR 1=1 TO N2590 FOR K=I TO N2600 B=K2010 IF ABS(X(K,I))>1E~6 THEN 26402620 NEXT K2630 GOTO 13702640 IF B=I THEN 26802650 FOR L=l TO 2*N2660 AUX = X'C I,L) :X(I,L)=XCB,L) :X(B,L)=AUX2670 NEXT L2680 AUX=X(I,I)
2690270(3271027202730274(3275027602770278027902800281028202830284028502860287028802390290029102920293029402950296029702980299030003010302030303040305030603070308030903100311031203130314031503160317031S0319032003210*3220323032403250
TO 2*N(I,K)/AUX
FOR K=:X(I,K) =NEXT KIF I=N THEN 2790"FOR K=I+1 TO NAUX1=X<K,I)=IF AUX1=0 THEN 2780FOR Jai TO 2*NX(K,J)=XÍK,J)-X<I,J)*AUX1NEXT JNEXT KNEXT IFOR 1=1 TO NQI ( I)=X(N,N+nNEXT I
'Calculando la matriz de realimentacion KCLS:PRINT:PRINT" > Calculando la matriz de reali";PRINT"mentación K mediante"PRINT TABC7)"la formula de ACKERMAN"FOR 1=1 TO NK<I)=0FOR J=l TO NK(I)=K(I)+QI(J)*PE(J, I)NEXT J,IPRINT ¡PRINT11 Cal culos terminados" : PRINTPRINT"Presione una tecla"G$=INKEY$:IF G$="" THEN 2940POKE 16916,0CLS = PRINT"Los cálculos de la martiz de realimentacionPRINT"han terminado,"PRINT"Considérese las siguientes opciones :"FOR 1=1 TO 60:PRINT"PRINT:PRINTPRINT TABC5) "1PRINT TAB(5)"2 -——PRINT=PRINT TABC5)"3PRINT a 896,"Cual esL1NE INPUT ES$IF ES$="2"
GOTO 3040IF Y$O"YACLSPRINT 3 51FOR 1=1 TOGOTO 2960CLS:PRINT:PRINT:PRINTY$="YA" :PRINT: PRINT"Para efectuarPRINT:PRINT"se modifica la matrizPRINT:PRINT:PRINT TAB(20)"E = E -FOR 1=1 TO 200:W=0:NEXT IFOR 1=1 TO NFOR J=l TO NE CI,J)«ECI,J)-F C1,1)*KC J)NEXT J,IG=10GOTO 2960
-" ; -NE-XT I : PRINT
- EFECTUAR .REALIMENTACION":PRINT• PRESEN-IMPRESION DE RESULTADOS"
> MENÚ PRINCIPAL"su elección : ";
=GOTO 362C
la matr i:
REALIMENTADO1
la real imentación"E con la expresiónF K"
THEN 3260THEN 3100THEN M*="DATOSR/PRO"
THEN 3150
, " El sistema
7 Modif
YA FUEI
326032703280329033003310332033303340335033603370338033903400341034203430344034503460347034B03490350035103520353035403550356035703580359036003610362036303640365(33660367036803690370037103720373037403750376037703780379038003810
CLS = PRINT:PRINT"Matriz de real irnen tacian K :"
FOR 1 = 1 TO N = MAU, I)=K( I) :NEXT IGOSUB 4100IF G=0 THEN 2960CLS:PRINT"Matriz E de lazo cerrada :"M=N=L=N-N$="E (laso cerrado)"FOR 1=1 TO NFOR K=l TO NMA(I,K)=ECI,K)NEXT K,IGOSUB 4100PRINT a 890,""PRINT a 896,"Para imprimir polos de lazo cerrado Pres. ";PRINT"a,sino otra"M$=INKEY$:IF M$="" THEN 3410IF M*O"a" THEN 2960LPRINT:LPRINTLPRINT TABÍ10)"POLOS DE LAZO CERRADO :"LPRIIMT: LPRINTLPRINT TAB(20)"Palo Real Imag."LPRINTüLPRINT
FOR 1=1 TO NLPRINT TABC21);LPRINT USING G$;I;-P<I,1);-P(I,2);LPRINTNEXT IGOTO 2960GOTO 2960REMREM -***•* UTILITARIOS PARA REALIMENTACION DEREM *#**• ESTADO #**•*
REMREM **•** GRAVACION DE MATRICES EN DISCO •****IF Y$O"YA" THEN 1810CLSsPRINT 3 512,"Gravando matrices lazo cerrado enPRINT "DATOSR/PRO"OPEN"R",1,M$,40FIELD 1,20 Añ X$,20 AS Y$
B=NC 2+3LSET X$=B$=LSET Y*=MKI*(N)PUT 1,1LSET X$=MKD$(D(1,1)):LSET Y$=MKD$(HC1,1))PUT 1,2FOR 1=1 TO NFOR K=l TO NLSET X$=MKD$(E(I,K))PUT 1,A
NEXT KLSET X*=MKD$(F(I,1)):LSET Y$=MKD$(GC1,I)) •PUT 1,E
JB203S3038403850386038703880389039003910392039303940395039603970398039904000401040204030404040504060407040804090410041104120413041404150416041704180419042004210422(3423042404250426042704-280429043004310432043304340435043604370
NEXT IGLOSEPOKE -435,1GOTO 1810REMREM **** SEGMENTO PARA RECUPERAR DATOS DEL DISCO ****N$="DATOSD/PRO"OPEN "R",2,N$,40
FIELD 2,20 AS X$,20 AS Y$GET 2,1B$=LEFT$<X$,1):N=CVICY$)DIM E(N,N) ,F(N, 1),G{1,N)GET 2,2
B=NC 2+3FOR 1=1 TO NFOR K=l TO NGET 2,A
A=A+1NEXT KGET 2,EFC I, 1)=CVDCX$) =G(1, I)=CVD(Y$)
NEXT ICLOSERETURNREM *** PRESENTACIÓN DE MATRICES ***
IF M<4 AND L<4 THEN. Z=M=W=L:C=-5:GOTO 4170'IF M>=4 AND L>=4 THEN Z=4:W=4:C=0:GOTO 4170IF M>=4 THEN GOTO 4160
V=(17-2*W)/2:MV=INT(V)C=(62-14*Z)/2+70+64*MV+C:A=C-121=B=C-6U=M-Z:H=L-W:VA=A:VE=E=VC=CPRINT a C, 1I!I 5FOR K=X TO WFOR J=Y TO ZPRINT USING" #######.###";MA(K,J)í¡NEXT JA=VA=C=C+128:PRINT a C,"";:NEXT KFOR J^Y TO Z:PRINT 3 A,"(";J;")";:A=A+13:NEXT JFOR K=X TO W--PRINT a E, " (" ?K; " > " ; =E=B+i2S:NEXT KA=VA:E=VE:C=VCPRINT a 1000,"(Presione una tecla)";:M$=INKEY*IF M^="" THEN 4280
IF Z=M THEN GOTO 4340IF U<4 THEN Y=Y+U=Z=Z+U:GOTO 4200
IF W=L THEN GOTO 4390IF H<4 THEN W=W+H:X=X+H=GOTO 4370
IF M>4 THEN Y=l : Z=4 : U=M-Z : GOTO 420Í3
4-38043904400441044204430444044504460447044804490450045104520453045404550456045704580459046004610462046304640465046604670468(23469047004710472047304740475(34760
m p r m r presone=" " THEN 4410GOTO 4440
Y=I:Z=MSU=M-Z:GOTO 4200PRINT a 890, " "PRINT a 896, "ParaC$=INKEY$:IF C$="IF C$="a" TRENRETURN .REM •*** IMPRESIÓN DE MATRICES •*-**CMD"P" , X$IF VAL(X$)=63 TREN PRINT 3PRINT a 896, "Debe inicialiPRINT a S90,"":GOTO 4450
a,sino otra1
850, " M : GOTO 4490ar la impresora"
IF 0>00=10LPRINTLPRINTLPRINTLPRINTLPRINTLPRINTIF M>4
THEN 4550
LPRINT CHR$C27);CHR$(23)CHR$(27);CHR$(14)TABC6)11*** REALIMENTACION DE ESTADOCHR$(27);CHR$(15);CHR$(27);CHR$(19);LPRINT:Y=1
;N^:LPRINTTABÍ13)"MATRIZTHEN 4600
W=M:GOSUB 4680RETURNW=4.5Z-M-W:GGSUB 4680LPRINT'LPRINTIF Z<=4 THEN 4660
4680LPRINT:LPRINT:GOTO 4620IF W=M THEN RETURNY==W+1 :W=W+Z = GOSUB 4680RETURNLPRINT TABC26)5FOR K=Y TO WLPRINT "(";K;")FOR J=l TO LLPRINT TAB<13) " < " ; J ; " )FOR K=Y TO WLPRINT USING" #######NEXT K:LPRINT:NEXT JRETURN
iNEXT K:LPRINT:LPRINT
;MA(J,K);
10001010102010301040105010601070108010901 1001110112011301140115(311601170118011901200121012201230124012501260127012S0129013001310132013301340135013601370133013901400141014201430144014501460147014B01490150015101520153015401550
REMREM *"*-*-x- E S T A D O S Y S A L I D A 'S ****
DEFDBL X,E,F,G,V,X,Y,M,ACLS:PRINT:PRINT"ANALISIS DE SISTEMAS DE CONTROL"PRINT"DISCRETO EN EL. ESPACIO. DE ESTADO"FOR 1 = 1 TO 60:PR.INT"-" ; :NEXT I = PRINT : PRINT : PRINTPRINT TABC15)"****PRINT TAB(13)"1PRINT TAB(13)"2PRINT TAB(13)"3PRINT S 896,"IndiqueLINE INPUT H$IF H*="l" THENIF H$="2" THENIF H$="3" THEN
ESTADOS Y SALIDASSISTEMA DE LAZOSISTEMA DE LAZOMENÚ PRINCIPAL"
su elección : ";
****":PRINTABIERTO":PRINTCERRADO":PRINT
M$="DATOSD/PRO"11701410
'GOTO
(-435)THEN M*=
"El sistema
1260Y(101)
GOTO 1110REALI=PEEKIF REALI^lCLSPRINT a 512FOR 1=1 TOGOSUB 3390IF N<5 THENDIM XCN,101)GOTO 1270DIM X(N,201),Y(201 )CLSSPRINT:PRINT"MENÚFOR 1=1 TO 60:PRINT"
i PRINTTAB(S)"1 -¡PRINT TAB<8)"2TAB(8)"3TAB(S)"4
PRINT- a 896," "Cual esLINE INPUT M*
"DATOSR/PRO"SGOTO 1220
NO ha sida REALIMENTADO1
I:GOTO 1040
PRINT¡PRINTPRINT:PRINTPRINT
VA (201) , VÍ201), VI (201)', MA(N,201)EN ESTADOS Y SALIDAS"-" ; :NEXT I:PRINT
• SEÑAL DE ENTRADA Y ESTADO INICIAL"> ESTADOS Y SALIDAS":PRINT
• GRÁFICOS":PRINT> CAMBIO DE SISTEMA/MENÚ PRINCIPAL"su elección : " i
1 THENTHENTHENTHEN
147019903660RUN
IF M*IF M$IF M$IF M$GOTO 1340POKE 16916,0:CLSPRINT a 512,"CargandoRUN"MENU/BAS.LARS"REM **** SELECCIÓN DE SENIAL DE ENTRADAREM *•-*•*-* CONDICIONES INICIALES
programa MENU/BAS.LARS1
**•*#•
CLS:POKE 16916,6PRINT:PRINTUESTADOS Y SALIDAS"FOR 1=1 TO 60:PRINT"~"5:NEXT I:PRINTPRINT:PRINT TABÍ10) ;.PRINT11*** SEÑAL DE ENTRADA Y CONDICIÓN INICIALPRINT:PRINT"SENAL DE ENTRADA :"¡PRINTPRINT"1 > Señal PASO"PRINT"2 --—> Señal RAMPA"PRINT"3 > Sin EXCITACIÓN":PRINT
15601570138015901600161016201630164016501660167016S016901700171017201730174017301760177017801790130(318101820183018401850186018701880189019001910192019301940195019601970198019902(20020102020203020402050206020702080 '209021002110
PRINT "Escoja la señal : ":D=0SE$=INKEY$:IF SE$="" THEN 1570IF SE$-"1" THENIF SE$="2" THENIF SE*=n3" THENGOTO 1570CLS:PRINTSPRINT"SEÑAL RASOPRINT TAB(12)"Magnitud = "PRINT TABC12)"Retrasa = "
INICIAL
16201940CLS:PRINT:PRINT = D=-192 = GOTO 1660
:":PRINTi:LINE INPUT;=LINE INPUT
:M=VAL<M*>
:LINE INPUT X$
PRINT"ESTADOFOR 1=1 TO NPRINT 3 760-HD, " "PRINT a 788+D, "XCI,0)=VAL(X$)NEXT IPRINT 3896,"Se imprimen entrada y estado inicial (S/N)M$=INKEY*:IF M¡*="" THEN 1730IF M$="S" THEN 1770IF M$="N" THEN POKE 16916,0=GOTO 1270GOTO 1730GOSUB 4070IF TIT=1 THEN 1800TIT=1:GOSUB 3280LPRINT TABC10)"ENTRADA DEL SISTEMA :"POKE 16916,0IF SE$-"1" OR SE$="3'LPRINT TAB(33) "LI C kLPRINT " Para k >LPRINT TABC33)"u ( kLPRINT:LPRINT:LPRINTLPRINT TABC10)"ESTADOFOR 1=1 TO N
) " x" ; I; '
THEN 1850) = " ; P;" k"o = n ; R :
INICIAL
GOTO .1860Para k o =" ;R
( 0;xc 1,0) :LPRINT
LPRINT TABC2LPRINT USINGNEXT IGOTO 1270POKE 16916,7CLS:PRINT:PRINT"SENAL RAMPA :":PRINTPRINT TABC12)"Pendiente = ";:LINE INPUT P$:P=VAL<P$)PRINT TABC12)"Retraso = ";:LIME INPUT R$
GOTO 1660CLS2POKE 16916,7:PRINTREMREM •**•** CALCULO DE LOS ESTADOS Y LA SALIDA **•**rjr— M „ .. : : . : : :: , _^ :: , „. „ : ,ríc.11PRINT"ESTADOS Y SALIDAS"FOR 1 = 1 TO 60 : PRINT11 »n 5 = NEXT I: PRINTPRINT :PRINT TABC15)"*** ESTADOS Y SALIDAS ***"PRINT:PRINT"Desde Ka = 0 Hasta Kf = " iLIME INPUT K$:KF=VAL(K*)=PRINTPRINT" Para revisar los cálculos paso a paso presione 5)'PRINT:PRINT"Caso contrario otra tecla"D$=INKEY$: IF-1" D$=" " THEN 2100IF D$="a" THEN 2130
2120 PRINT:PRINT" -> Efectuando los cálculos"2130 . Y<0)=0. 'Calculo de estados y salida2140 FOR 1=1 TO N2150 Y(0)=Y<0)+G(1,I)*X(I,0)2160 NEXT I2170 IF D$="o)" THEN K=0:E=4:CLS:GtiSUB 2B5021B0 FOR J=l TO KF2190 IF SE$="1" THEN 23702200 FOR 1 = 1 TO N 7 Para una senial rampa2210 XCI,J)=02220 FOR K=l TO N2230 X(I,J) = X(I,J)+E(I,K)-*X(K,J-l)2240- NEXT K2250 IF J<R THEN 22702260 X C I i J)=X<I,J>+F<I, 1>*P*J2270 NEXT I2280 Y(J>=02290 FOR 1=1 TO N2300 Y(J)=Y(J)-t-GU,I)*X(I, J)2310 NEXT I2320 IF J<R THEN 23502330 Y(J)=Y(J)+HC11 1)*P*J2340 IF J=KF THEN B=4:K=J:CLS:GOSUB 28502350 IF D$="a" THEN B=4: K=J=CLS:GOSUB 28502360 GOTO 25302370 FOR 1=1 TO N 'Para una senial paso23S0 X(I,J)=02390 FOR K=l TO N2400 X CI,J ) =X <I,J > +E(I,K > *X < K,J-l)2410 NEXT K2420 IF J<R THEN 244(32430 X(I,J)=X C 1 7 J)+F(1, 1)*M2440 NEXT I2450 YCJ)=02460 FOR 1=1 TO N2470 YCJ)=YCJ)+G(1,I)*X(I,J)2480 NEXT I2490 IF J<R THEN 25202500 Y( J)=Y< JH-HÍ1, 1 )*M2510 IF J=KF THEN E=4=K=J:CLS:GOSUB 28502520 IF D$=nS" THEN B=4:K=J=CLS:GOSUB 28502530 NEXT J2540 PRINT 3 990,"Resultados en Impresora CS/N) :2550 M*=INKEY*:IF M$="" THEN 25502560 IF M$="S" THEN 26102570 IF M$="Nn THEN POKE 16916,0:GOTO 12702580 GOTO 25502590 GOTO 12702600 "Impresión de estados y sal ida2610 GOSUB 40702620 IF TIT=1 THEN 26402630• GOSUE 32802640 LPRINT = LPRIIMT CHR$ ( 27 ) ; CHR* ( 14 )2650 LPR1NT TAB(5)"ESTADOS = "2660 LPRINT CHR$(27);CHR$(15)2670 M=N sL=KF:A$="X"
26802690270027102720273027402750276027702730279028002810282023302840235028602870288028902900.29102920293029402950296029702980299030003010302030303040305(33060307030303090310031103120313031403150316031703130319032(30321032203230
FOR 1=1 TO NFOR J=0 TO KFMA(I,J)=X(I,J)NEXT J,IGOSUB 3030LPRINT: LPRINT CHR$C27);CHR$(14)LPRINT TABC5)"SALIDA :"LPRINT CHR$(27);CHR$<15)M=líL=KF:A$="Y"FOR 1=0 TO KFMAU, I)=Y( I)NEXT IGOSUB 3030POKE 16916,0GOTO 1270
'Suprograma para presentar en la7 pantal la los estados y la sal ida
PRINT:PRINT -ESTADOS = "FOR L=l TO NIF L>B+4 THEN CLS:B=B+B: A=£3 : PRINT s PRINT11 ESTADOS"IF A>256 THEN A=0A-A+64IF L<=B THEN PRINT a 514+A,""5:GOTO 2930IF L<=B+4 THEN PRINT a 546+A, "" 5 ¡GOTO 293(3PRINT "x";L5"<";K;")=";SPRINT USING" ###4f#4H*. ###" 5 X < L, K) ;NEXT LPRINT a 896,"SALIDA : u<";K;")=";PRINT USING11 ##4t###tt. tt##" ; Y < K )IF D$="a" THEN 2990PRINT a 1000,"Presione una tecla"$=GOTO 3000PRIiMT a 990, "Para terminar pres. a, sino otra" 5M$=INKEY$:IF M$="" THEN 3000IF M$^"3" THEN POKE 16916, 0 : CLS: GOTO 127Í3RETURNREMREM **•* SUE. PARA IMPRESIÓN DE ESTADOS Y SALIDAS **•*PRINT a 896,"-^——> Imprimiendo estados y salidas"LPRINT:LPRINT:Y=0IF L>3 THEN 3100W=L=GOSUB 3180RETURNW=3:Z=L-W:GOSUB 3180LPRINT=LPRINTIF 2<=4 THEN 3160
LPRINT:LPRINT:GOTO 3120IF W=L THEN RETURNY=W+l:W=W+Z:GOSUB 3180RETURNLPRINT TABC13)"k " ;FOR K=Y TO WLPRINT K;" ";:NEXT K=LPRINT:LPRINTsLPRINTFOR 1-1 TO MIF A$="Y" THEN LPRINT TABC13) "y ";:GOTO 3240LPRINT TABC13) A*;I i
324032503260327032803290330033103320\JiOw !¿J3340335033603370338033a? 0340034103420343034403450346034703480349035003510352035303540355(3356035703580359036003610362(3363036403650366036703630369(33700371037203730374037503760377037803790
DE LAZO ABIERTO" ¡GOTOCON REALIMENTACION " ;
FOR K=Y TO WLPRINT USING" tt#tt#4Mt#. 4Httt" ; M A ( I , K > ;NEXT K=LPRINT:LPRINT:NEXT IRETURNLPRINT:LPRINT CHR$(27);CHR$<19)LPRINT-'LPRINTrLPRINT- CHR$<27> ;CHR$< 14)LPRINT TABC6)"*** ESTADOS Y SALIDAS ***LPRINT CHRÍC27);CHR*(15)LPRINT:LPRINT:LPRINTIF H$="2" THEN 3350LPRINT TAB(10)"EM EL SISTEMALPRINT TABC 10)"EN EL SISTEMALPRINT11 DE ESTADO"LPRINT:LPRINT:LPRINTRETURNREMREM -**** OBTENCIÓNREM **•#* EL DISCOOPEN "R",2,M$,40A=3FIELD 2,20 AS X$,20GET 2,1B$=LEFT$(X$,1):N=CVI(Y*)DI'M E(N,N),F(N,1),GUSN>GET
3370
DE MATRICES DESDE
AS Y$
#**•»(••*•#•*#-
^ , jL.
Di 1, 1B=NC2+3FOR 1=1FOR K=lGET 2,AEíI,K)=CVD<X$>
1)=CVD(Y*)
TOTO
NEXT KGET 2,EFCI,1)=CVD(X$):GC1,B=B+1NEXT IGLOSERETURNREMREM GRAFI COS -s-********•**•#•-*•#
16916,7CLS:PRINT:PRINT"ESTADOS Y SALIDAS":POKEFOR 1 = 1 TO 60:PRINT ."-" 5 :NEXT isPRINTPRINT: PRINT TABC 15 >"**•* G R Á F I C OPRINT"Desde Ko=0 Hasta Kf =KF=VAL <K$) :ETS=0:BTE=0PRINT: PRINT11' > Calculando estados y salidasY(0)=0FOR 1=1 TO NY(0)=Y(0)+G(1, I)*X(I,0)NEXT I
FOR J=l TO KFIF SE$="1" THEN 3920FOR 1=1 TO N
**•*•" : PRINTLINE INPUT K*
38003S103820383038403850386038703880389039003910392039303940393039603970398039904000401040204030404040504060407040804090410041104120413041404150416041704180419042004210422042304240425042604270428042904300431043204330434043504360
1)
FOR K=l TO NX(I,J) = X(I,J)+E(I,K)*X(K,NEXT KX(I,J)=X(I,J)+F(I,1)*P*JNEXT I
FOR 1=1 TO NY<J)=Y(J)+G(1,I)*X(I, J)NEXT IY(J)=Y(J)+H(1,1)*P*JGOTO 4040FOR 1=1 TO NX(I,J)=0FOR K=l TO NXC I, J)=X<I,J)+E(I,K)*X(K, J-NEXT KXCI,J)=XCI,J)+F(I,1)*MNEXT IY(J)=0FOR 1=1 TO NY(J)=Y<J)+GÍ1,I)*X(I,J)NEXT IY(J)=Y<J)+H<1,1)*MNEXT JGOSUB 4070GOTO 4110CMD"P",X$IF VAL(X$>=63 THEN RETURNPRINT a 896,"Inicialice laPRINT a 890,""íGOTO 4070LPRINT'LPRINT CHR$<27);CHR$<14)LPRINT TAEÍ10)"GRÁFICOS"LPRINT CHR*(27);CHR*(15):LPRINT:LPRINTCLS: pRlNT:PRINT"Desea graficarPRINT TABC16)"1 •> Estados11-:PRINT TAB(16)"2 ——> Salida " :PRINT"Indique su elección " " ;
Menú)"?1 1 1 1 THEN 4190
IF ELE$IF ELE$="2IF ELE$="aGOTO 4190CLS:PRINT:PRINT"E1 sistema tiene1
PRINT a 640,"Estado a graficarseIF G>N THEN PRINT a 896,"N O EPRINT a 890,""PRINT a 768," -> Graficando xl!
FOR 1=0 TO KF:VA(I)=X(G,I)=NEXT ILPRINT CHR$(27);CHR$(20)LPRINT TAB(20)"x";G;"( k ) "F$="0":GOSUB 4510LPRINT CHR*(30);CHR*(27);CHR$Í19)LPRINT:LPRINT=LPRIMT TAB(15)"EscalaLPRINT US ING''####.####" ;ESC; : LPRINTLPRINT CHR$(30):LPRINT:LPRINT
impresora1
:"sPRINTPRINTPRINT
PRINT a 1000, "(aELE$=INKEY*=IF
"1 THEN 4240THEN 4420THEN POKE 16916,0:LPRINT CHR*(30)sGOTO 1270
X I
estados"";:INPUT GS T E":GOTO 4240
5 G ; " ( k ) "
eje vertí cal ='(un i/div)"
4370438043904400441044204430444044504460447044S04490450045104520453045404550456045704530459046004610462040304640465046604670468046904700471047204730474047504760477047904S004S1048204S3048404850486048704880489049004910492049304940
1=1 TO 200=W=21=0 TO KF:V1 í 31=0 TO KFVI (0) :V( I )=0K=l TO KF
3: NEXT I : GOTO 4140:)=VA(I) =NEXT I
PRINT a 896,"Otro estado <S/N>";MÜí=INKEY$: IF M$=" " THEN 4380IF M$="S" THEN CLS:GOTO 4240IF M$="N" THEN 4140GOTO 4380CLS: PRINT: PRINT11 -> Graficando salida :y ( k )"FOR 1=0 TO KF--VAÍI )=Yí I) : NEXT ILPRINT CHR$(27);CHR$<20)LPRINT TABC20)"y < k )"F$~"0"=GOSUB 4510LPRINT CHR$C30);CHR$C27)?CHR$(19)LPRINT:LPRINT=LPRINT TABÍIS)"Escala eje vertical =LPRINT USING "####. #4t##" ;ESC; : LPRINT11 (un i /d iv)"GOTO 4140REMREM •***• SUBPROGRAMA DE GRÁFICOS ****X=430/KF:E=0FOR 1=0 TO KFIF ABS(VAd) )>lE-6 THEN 4610NEXT ICLS:PRINTPRINT"*** ERROR ***":PRINTPRINT"Tados los datos para el gráfico son nulos"FORFORFORMAX =FORIF MAX:MAX=V1NEXT KVI<V<I))=-ÍE6:VA(I)=MAXNEXT IIF V A C 0 X 0 THEN AUX=ABS ( VA ( KF ) ) s GOTO 4740IF VA(KF»0 THEN AUX=VA ( 0 ) : GOTO 4740AUX=VA(0) -VACKF)IF AUX=0 THEN 4570FOR 1=0 TO KFVA(I)=VAÍ D/AUXNEXT IESC=AUX/10LPRINT CHR$(27);CHR*(20);CHR$(18)LPRINT CHR*<27);CHR$C16);CHR$(0);CHR$(150);CHR$<255)LPRINT CHR$(255)5Z=3K=0FOR 1=0 TO KFVA(I)=INT<VA<I)*210)NEXT IS=217IF VA(K)>=S-IF 8=7 THEN Q=192:GOSUE 5080IF S=0 THEN Q=129:GOSUE 5080IF E=l THEN Z=Z-l:GOSUB 5350B=S-7¿Z=Z+1IF Z>3 THENGOTO 4880
V1(K) THEN 4670K) :V(I)=K
7 THEN 4950Q=192:GOSUEQ=129:GOSUEZ=Z-l:GOSUB
Z=l
Q Q
03
03Q
Qtn
tn
C3
p5
p"[
Q
03 Ü
3m
o o
LD
LDZ
••
••
LÜ M
O
_L o
oí
af—
TH
TH m
u u n
LL N
- cr
o
tn"¿
. \n
z z
p}
O
II Ü
J LÜ
35
i — A
x
x en
- I- h
- 0
X.
*i
LDII
— N
- Q -
>-} <r
ii
u r^
> e
n tn
icr
tn
o LL
LL
LL ii
g|g
g§
Q O¡
'N ihQ <f
- fu
Q D
in e
n' i"-"t
Z L
DLÜ
••
Q
X
-—•
QO
h-
»-j in
O
— S
i<i-
Q <
£ ui
V >
O
03
I O
H
03 (-
0
LL
ü o
¡i¡¡
Q m FP
OJ
03
ih LD
pq 2i
D
LüÜ3
X
i"i
[—LD ••
Q
- II
—
Lü*~
3—
Q
< Z
! tn L
L•^
- ¥
1
*~3
03
IIPM
*~3
I —<
x
II LL
Lü
Q in T-! cr X u Q cr x u o cr ~r o .r-
,~,
.r-
N-
Q
"•"•
N Q
O—
in
—jo
, in
.
cr o
cr
x F
- x
CJ
O•-
tZ
1—
II
H
f— '
o:
Z M
Z""5
J—
l
[—
1 ¡
:
i- c
r cr
cr
xLÜ
E
L O
C
L O
!
¡¡¡1
2
03 cr x h-
Q
—•4
- W
T-I
£Tm
x oz LÜ
h-
X Z
h-
i-i cr
=
CL
TH _I
=
••||
s
«-
T
-(
LL =
¡1LL
«•
§§
G3 03
E3TH
mm
n tnz
Z
Lü W
cr x
3i
Z5
f—
03
Qí-
o in
LU -í
LD TH
cr T
-( .. ^
v N
."
tn i
oT-
Í U3
h-
II LL
ii
o
•
Q 03 Q tn P3 US
Qen
ino n
•i 'N P
}0
15
-i tn ii o
Q
Q03
in
C3
C--I
tn
LH
n'¡
^Z
" LÜ
03
XO
<t
- r-
LD
O-
Z
U C
Lo c
r u A
« D
- Q
^ h
- 0
II Lü
il
LL
03 Oí in H
0^
LD <
3S
Q
1
Mn
tn D
mN
11 -
m L
D H
o•• ^
h-
O 'N
l—
! O
H ll
11
LD
0
ü_ <
••
ID •
• T-t
••
Q
Z
1N
in
Lü
LLx
-H
x
IIu
+ h
- LL
ü x
•• ^
A. m
T-Í ^
u
oíl -
i?
iC
L >
LD
II 11
LL
1!
• r- cr x o LL •tft cr X o T
-i
íft cr
T-H
~
J^
+ o
~<
•" X
II ^-
v -^
•*
-<¿
[X
. }—
-,
r-J
2Ü
O
Z
— M
—
1 1 1
in.
IA
x cr
o c
rH
X H
X0
0
03
Oí
THN
T
H H
II I-
T-Í
II Z
u
Z
u
cr c
r cr
¡I LL
CL
o C
La
n j
LL
_i
o in t LD H •cr
CL .. ->~i + NI 1! N!
Z Lü X nJ—
( Z
A
cr v
H D
NI
x
h-Lü
Lü
LLZ
C
C
HH
e>
tnoí
tn
T-Í
f-v|
cr
crx
xo
u
03
Q-t
m
cr
crx
x0
U
Q
Q
tfi-
4ít
cr
crx
xo
o
o
o
cr
trx
xo
•-
o
--.r. ^. .r. ^-s
— t
> —
mN
O
í h-
inO
í T-
Í C
4 01
^^ ^-
^-^
^>ífl-
tft-
W-
-tñ-
!— c
r cr
cr
cr
z x
X x
xw u
a o
ucr tL
h-
H H
h-
Z_J
z z
z z
cr
" M
!— ! h- i M
I
TH c
r cr
cr
cr i-
II
CL
CL
CL C
L
ÜJ
NI _i
_i
_j _
j cr
inin
in t
n m
m i
n ITÍ
in
n tn
ui
m i
n in
m m
in
in i
ntn
in
iri i
n iri
m i
n m
in
in m
in
u~i i
n m
m
-íll
BIBLIOGRAFÍA
- OGATA, Katsuhiko, Ingeniería de Control Moderno, McGraw - Hill, 1974.
- FRANKLIN, Gene, Digital Control of Dynamic Systems, Addison Wesley,'
1980.
- WIGBERG, Donald, Espacio de Estado y Sistemas Lineales, McGraw -Hill
1973.
- KUO, Benjamín^ Digital Control Systems, Holt, Rinehart and Winston,
1980.
- DORF, Richard, Sistemas Automáticos de Control. Teoría y Práctica,
Fondo Educativo Interanericano, 1977.
- DISTEFANO üoseph, Retroalimantación y Sistemas de Control, McGraw -
Hill, 197Z.
- TAKAHASHI Y., Control and Dynamic Systems, Addison - Wesley, 1970.
- GUERRERO Francisco, Tesis: Realimentación Discreta de Estado, E.P.N.,
1984.
- MORALES Bernardo, Tesis: Métodos y Programas Computacionales para el
Análisis de Estabilidad de Sistemas Discretos, E.P.N., 1983.
- BANDA H.,Ledesma B.sAnálisis, Diseño y Construcción de un Sistema E
lectrónico de Control para una máquina DC, Jornadas de Ingeniería EÍe£
trica y Electrónica, 1985.
- Seminario de Control Discreto, Ing. Marco Barragán, E.P.N., del 22 al
30 de julio de 1985.
- TRS - 80 Model III Operation and BASIC Language Reference Manual, Ta_n_
- dy Corporation, 1980.
- TRS - 80 Model III Disk Gwner's Manual, Tandy Corporation, 1980.
Top Related