Vous êtes sur la page 1sur 25

UNIVERSIDAD NACIONAL

AUTÓNOMA DE HONDURAS
Aplicación de la Topológia
Productos y Cocientes de
Espacios Topológicos

Mini Proyecto de Laboratorio

Autores:
Any Marissa Avila (Coordinadora)
Keylin Suyapa Escobar
Daniel Andrés Dala

29 de Mayo 2020
Figura 1: Estructura de acero de 7 niveles sujeta a cargas externas.

1 PRELIMINARES

1.1 Modelos Mecánicos Dinámicos Lineales


Considerando el sistema mecánico cuya dinámica es descrita por la ecuación
diferencial:
d2 x dx
m 2 +δ + ω2 x = 0 (1.1)
dt dt
donde se asume que m, ω, δ ∈ R, m > 0 y 4mω 2 − δ 2 > 0 el sistema (1.1) es
equivalente al sistema de ecuaciones diferenciales de primer orden:
    
d x 0 1 x
= 2 (1.2)
dt y − ωm −mδ y
El sistema (1.2) puede estudiarse utilizando el siguiente sistema genérico.
    
d x 0 1 x
= (1.3)
dt y −α −β y
para dos parámetros adimensionales α, β .

1
2 Modelos Dinámicos Planares Lineales Basados
en Señales Mecánicas No Lineales

2.1 Modelos mecánicos dinámicos no lineales


Considerando el sistema mecánico determinado por la deexión de un nodo
de interés en la estructura de la gura 1, cuya dinámica es aproximadamente
descrita por el sistema genérico 2.1
   
d x y
= (2.1)
dt y −αx −βx3

para dos parámetros adimensionales α, β .


Es posible aplicar GNU Octave para resolver (1.3) para las condiciones iniciales
x(0) = 1, y(0) = x0 (0) = 0. Aplicando un método numérico de cuarto orden
para calcular la curva solución aproximada X̂([0; 10]) ≈ X([0; 10]) correspondi-
ente a la solución X(t) de (1.1), con un orden de error relativo r = ϑ(10−16 ),
para las condiciones√ iniciales x(0) = 1; y(0) = 0, y para los valores paramétri-
cos m = 10; ω = 50; δ = 0. A continuación se presenta el código del pro-
grama NLMechanicalSystem.m en GNU Octave, que puede aplicarse para cal-
cular X̂([0; 10]) y generar un subconjunto del campo vectorial que controla la
dinánica del sistema mecánico 2.1.
% Copyright (C) 2020 Fredy Vides
% f u n c t i o n [ t , x]= NLMechanicalSystem (m, k , d , T, x0 )
% A mechanical system s i m u l a t i o n

% Example : [ t , x]= NLMechanicalSystem ( 1 0 , 5 0 , 0 , 1 0 , [ 1 , 0 ] ) ;

% Author : Fredy Vides <fredy@HPCLAB>


% S c i e n t i f i c Computing I n n o v a t i o n Center
% Created : 2020 − 05 − 03
f u n c t i o n [ t , x]= NLMechanicalSystem (m, k , d , T, x0 )
Fx=@( x , y ) y ;
Fy=@( x , y ) ( 1 /m) ∗ ( − k ∗ x+d ∗ x . ^ 3 ) ;
f=@( t , y ) [ y ( 2 ) ; ( 1 /m) ∗ ( − k ∗ y(1)+d ∗ y ( 1 ) . ^ 3 ) ] ;
opt=o d e s e t (" RelTol " , eps ) ;
[ t , x ] = ode45 ( f , [ 0 , T] , x0 , opt ) ;
cx=norm (max( abs ( x ) ) ) ;
[X,Y]= meshgrid(− cx : 2 ∗ cx / 3 0 : cx ) ;
q u i v e r (X,Y, Fx (X,Y) , Fy (X,Y) , ' k ' ) ;
hold on ;
plot (x ( : , 1 ) , x ( : , 2 ) , ' k ' , ' markersize ' , 1 2 ) ;
hold o f f ;
axis equal ;8
end
Es posible aplicar el programa NLMechanicalSystem.m para simular una
serie de tiempo de deexiones aproximadas X̂([0; 10]) = {x1 , ..., xT }, para el el-
emento estructural representado por un nodo genérico de dos grados de libertad.
Una vez que se ha escrito el programa y se ha guardado en un directorio de ruta

2
simple (sin dejar espacios entre los nombres de los sub-directorios), es posible
utilizar el icono para asegurarse de que el Directorio Actual/Current Directory
de GNU Octave sea el directorio donde se guardó el archivo de programa Me-
chanicalSystem.m. Se puede ejecutar el programa NLMechanicalSystem.m en
la ventana de comandos de GNU Octave con la siguiente secuencia de comandos:

PRÁCTICA 1
>> [ t , x]= NLMechanicalSystem ( 1 0 , 5 0 , 0 , 1 0 , [ 1 , 0 ] ) ;

t =

0.00000 0.03550 0.08874 0.16523 0.24658 0.32926 0.41320 0.49902


0.58771 0.68087 0.77781 0.87459 0.97125 1.06856 1.16375 1.25383
1.34023 1.42436 1.50724 1.58957 1.67197 1.75503 1.83937 1.92580
2.01542 2.11009 2.20703 2.30371 2.40045 2.49807 2.59189 2.68088
2.76659 2.85033 2.93300 3.01530 3.09781 3.18113 3.26591 3.35302
3.44370 3.54011 3.63712 3.73377 3.83065 3.92866 4.02126 4.10924
4.19432 4.27769 4.36021 4.44250 4.52517 4.60881 4.69413 4.78206
4.87401 4.97102 5.06793 5.16457 5.26166 5.35825 5.44944 5.53651
5.62105 5.70413 5.78652 5.86886 5.95172 6.03573 6.12162 6.21043
6.30377 6.40071 6.49747 6.59413 6.69148 6.78649 6.87643 6.96273
7.04682 7.12966 7.21199 7.29440 7.37749 7.46188 7.54839 7.63814
7.73301 7.82995 7.92663 8.02338 8.12104 8.21471 8.30356 8.38919
8.47288 8.55553 8.63783 8.72036 8.80371 8.88856 8.97576 9.06658
9.16324 9.26027 9.35691 9.45382 9.55188 9.64433 9.73220 9.81720
9.90053 9.98302 10.00000

x =

1.00000 0.00000 − 0.82700 1.25714 0 . 1 5 3 0 4 − 2.20973


0.99685 − 0.17729 − 0.70896 1.57698 − 0.06191 − 2.23178
0.98038 − 0.44079 − 0.56417 1.84623 − 0.27527 − 2.14968
0.93252 − 0.80747 − 0.39509 2.05414 − 0.47502 − 1.96768
0.85181 − 1.17136 − 0.20432 2.18890 − 0.65306 − 1.69339
0.74099 − 1.50156 0.00592 2.23603 − 0.80208 − 1.33542
0.60268 − 1.78434 0.22085 2.18086 − 0.90772 − 0.93818
0.43943 − 2.00861 0.42492 2.02416 − 0.97223 − 0.52332
0.25384 − 2.16283 0.60930 1.77306 − 0.99894 − 0.10281
0.04831 − 2.23346 0.76656 1.43594 − 0.99015 0.31300
− 0.16765 − 2.20442 0.88349 1.04749 − 0.94767 0.71386
− 0.37542 − 2.07251 0.95866 0.63631 − 0.87325 1.08957
− 0.56545 − 1.84426 0.99531 0.21635 − 0.76881 1.42991
− 0.73017 − 1.52782 0.99592 − 0.20173 − 0.63650 1.72463
− 0.85803 − 1.14843 0.96237 − 0.60764 − 0.47870 1.96322
− 0.94344 − 0.74135 0.89640 − 0.99114 − 0.29797 2.13449
− 0.98954 − 0.32255 0.79986 − 1.34204 − 0.09681 2.22556
− 0.99906 0.09698 0.67486 − 1.65010 0.11967 2.22000
− 0.97396 0.50693 0.52369 − 1.90492 0.33034 2.11054
− 0.91600 0.89705 0.34890 − 2.09555 0.52503 1.90308

3
0.69602 1.60554 − 0.94545 − 0.72841 0.99536 − 0.21518
0.83374 1.23467 − 0.99038 − 0.30942 0.96072 − 0.62052
0.92827 0.83161 − 0.99879 0 . 1 0 9 9 6 0.89372 − 1.00313
0.98269 0.41429 − 0.97264 0 . 5 1 9 4 4 0.79623 − 1.35280
1.00000 − 0.00598 − 0.91369 0 . 9 0 8 7 8 0.67033 − 1.65929
0.98230 − 0.41889 − 0.82374 1 . 2 6 7 7 7 0.51836 − 1.91220
0.93135 − 0.81421 − 0.70484 1 . 5 8 6 1 9 0.34284 − 2.10054
0.84895 − 1.18171 − 0.55925 1 . 8 5 3 7 0 0.14633 − 2.21199
0.73706 − 1.51120 − 0.38946 2 . 0 5 9 5 1 − 0.06922 − 2.23070
0.59789 − 1.79238 − 0.19805 2 . 1 9 1 7 7 − 0.28234 − 2.14509
0.43389 − 2.01462 0.01277 2.23588 − 0.48148 − 1.95981
0.24763 − 2.16642 0.22754 2.17741 − 0.65865 − 1.68252
0.04150 − 2.23414 0.43111 2.01760 − 0.80656 − 1.32186
− 0.17435 − 2.20182 0.61474 1.76365 − 0.91072 − 0.92353
− 0.38169 − 2.06678 0.77102 1.42395 − 0.97383 − 0.50823
− 0.57104 − 1.83564 0.88657 1.03438 − 0.99923 − 0.08770
− 0.73485 − 1.51657 0.96044 0.62273 − 0.94553 0.72788
− 0.86133 − 1.13602 0.99588 0.20266 − 0.93249 0.80762

2.2 Identicación lineal de dinámica estructural basada en


señales mecánicas no lineales
Aplicando el programa Octave TMatrixID.m desarrollado en 3.1.2, se puede
desarrollar un algoritmo de identicación que permite calcular el modelo lineal
UAC de tres grados de libertad que mejor aproxima la dinámica del sistema
mecánico en el sentido óptimo de mínimos cuadrados, con base en la muestra
X̂([0; 10]) de la serie de tiempo X̂([0; T ]); T > 0. Es posible escribir un programa
en GNU Octave que permite implementar un algoritmo identicación para sis-
temas basados en señales mecánicas, con base en modelos genéricos de la forma
2.1. El código del programa NLMechanicalSystemID.m para la identicación
de sistemas mecánicos estructurales lineales se muestra a continuación.
% Copyright (C) 2020 Fredy Vides
% f u n c t i o n [ Thp , f , t , x ,Y]= NLMechanicalSystemID (m)
% A sytem i d e n t i f i c a c i o n computational
% implementation

% Example : [ Thp , f , t , x ,Y]= NLMechanicalSystemID ( 1 8 0 )


% Author : Fredy Vides <fredy@HPCLAB>
% S c i e n t i f i c Computing I n n o v a t i o n Center
% Created : 2020 − 05 − 03
f u n c t i o n [ Thp , f , t , x , Yp]= NLMechanicalSystemID (m)
subplot (211);
[ t , x]= NLMechanicalSystem ( 2 , . 1 , − 4 , 3 0 , [ 1 , 0 ] ) ;
hold on ;
[ Ap, Thp , f ]=TMatrixID ( x ,m) ;
N=s i z e ( x , 1 ) ;
Yp = [ 1 ; 0 ] ;

4
f o r k =1:(N− 1)
Yp=[Yp Thp ∗Yp ( : , k)+ f ] ;
end
plot (x ( : , 1 ) , x ( : , 2 ) , ' b. − ' , ' markersize ' , 1 2 ) ;
p l o t (Yp ( 1 , : ) , Yp ( 2 , : ) , ' r . − ' , ' m a r k e r s i z e ' , 1 2 ) ;
axis square ;
g r i d on ;
hold o f f ;
subplot (212);
plot ( t , x (: ,1) , ' k ' , t , x (: ,2) , ' r ' ) ;
hold on ;
p l o t ( t , Yp ( 1 , : ) , ' k . − ' , ' m a r k e r s i z e ' , 1 2 ) ;
p l o t ( t , Yp ( 2 , : ) , ' r . − ' , ' m a r k e r s i z e ' , 1 2 ) ;
l e g e n d ( ' x ' , ' dx/ dt ' )
axis equal ;
g r i d on ;
end
Se puede aplicar el programa NLMechanicalSystemID.m para calcular y visu-
alizar diversas identicaciones aproximadas de sistemas mecánicos estructurales
de la forma (3.1), correspondientes a diferentes valores de submuestreo m. En
particular para m = 140, se pueden utilizar las siguientes secuencias de coman-
dos para calcular la identicación del sistema correspondiente.

PRÁCTICA 2
>> [ Thp , Tp , t , x ,Y]= NLMechanicalSystemID ( 1 4 0 ) ;
La salida gráca producida por el programa se muestra en la gura 2.1

Figura 2.1 :Salida gráca producida por el algoritmo de identicación para un


tamaño de submuestreo de la serie de tiempo del sistema de m = 140. La
sub-gura superior muestra el diagrama de fase aproximado del sistema
mecánico. La sub-gura inferior muestra las grácas de posición y velocidad
correspondientes

5
Figura 3.1: Subestructura ε de orden reducido basada en una conguración de
sensores predeterminada

3 Modelos Dinámicos Planares Lineales Multi-


variados de Dos Grados de Libertad por Nodo

Consideremos una subestructura ε de orden reducido de una estructura como


la de la gura 1, la cual está basada en una conguración de sensores que puede
ser representada por la gura 3.1 Si la dinámica de ε está aproximadamente
determinada por un modelo matricial de la forma:
d2 x dx dx(0)
M = Kx + D , x(0) = x0 , = v0 (3.1)
dt2 dt dt
donde M es una matriz de masa simétrica positiva denida. Es posible
reducir el modelo (3.1) a una expresión de la forma
dy
= Hy, y(0) = y0 (3.2)
dt
donde H; y; y0 están denidos por las siguientes expresiones.
 
x
y= dx
 dt 
x
y0 = 0
v0
 
0 I
H=
M −1 K M −1 D

La solución de (3.2) está determinada por la expresión


y(t) = etH y0 (3.3)

6
En esta sección, en lugar de buscar una solución analítica (aproximada) di-
recta para simular la dinámica de ε, aplicaremos la tecnología de controlarores
algebraicos universales (UAC) desarrollada en [3] para calcular un modelo com-
putacional de la forma (1.1),(1.2).

Observación. La estructura matricial del modelo (3.2) produce algunas restric-


ciones estructurales en los modelos dinámicos de la forma (3.3). En particular,
si D = 0, las matrices etH cumplen con las siguientes restricciones
(etH )T ZetH = Z, t ≥ 0 (3.4)
Donde Z es la matriz determinada por la expresión
 
0 I
Z= (3.5)
−I 0

3.1 Identicación de sistemas dinámicos con base en señales


mecánicas externas
Considerando nuevamente la subestructura ε en el medio continuo R2 en la
gura 3.1. Es posible simular le dinámica aproximada/esperada original de ε
con el programa de GNU Octave StructuralDynamicalSystem.m cuyo código se
muestra a continuación.
% Copyright (C) 2020 Fredy Vides
% f u n c t i o n [ t , x ,A]= StructuralDynamicalSystem (N,m, d , T, x0 , v0 )
% A mechanical system s i m u l a t i o n
% Example : [ t , x ,A]= StructuralDynamicalSystem ( 4 , 1 0 0 , 0 , 5 , . . .
% [0 ,0 ,0 ,.1 ,0 ,0 ,0 ,.1] ,[0 ,0 ,0 ,0 ,0 ,0 ,0 ,0]);

% Author : Fredy Vides <fredy@HPCLAB>


% S c i e n t i f i c Computing I n n o v a t i o n Center
% Created : 2020 − 05 − 03
f u n c t i o n [ t , x ,A]= StructuralDynamicalSystem (N,m, d , T, x0 , v0 )
ht=T/m;
t =0: ht :T;
x=[x0 , v0 ] ;
A=s p d i a g s ( ones (N, 1 ) ∗ [ 1 0 −20 1 0 ] , − 1 : 1 ,N,N) ;
A(N,N)=A(N,N) / 2 ;
Ce=abs (max( e i g (A ) ) ) ;
E=eye (N) ;
A=[−A, − Ce ∗E; − Ce ∗E, −A ] ;
E=eye (2 ∗N) ;
Z=z e r o s (2 ∗N) ;
Z=[Z E; −E Z ] ;
[ v , a]= e i g ( f u l l (A) ) ;
l a p=d i a g ( ( d+s q r t ( d^2−4∗ d i a g ( a ) ) ) / 2 ) ;
lam=d i a g ( ( d− s q r t ( d^2−4∗ d i a g ( a ) ) ) / 2 ) ;
z =[v v ; v ∗ l a p v ∗ lam ] ;
l a p=d i a g ( l a p ) ;
lam=d i a g ( lam ) ;

7
A=r e a l ( z ∗ d i a g ( [ exp ( ht ∗ l a p ) ; exp ( ht ∗ lam ) ] ) / z ) ;
i f d==012
A=(A−Z ∗ inv (A) . ' ∗ Z ) / 2 ;
end
E=A . ' ;
f o r k=1:m
x=[x ; x ( k , : ) ∗ E ] ;
end
end

3.1.1 Sistemas dinámicos estructurales disipativos


Podemos aplicar el programa GNU Octave StructuralDynamicalSystem.m para
calcular una muestra de señales mecánicas correspondientes a deexiones y ve-
locidades de deexión del sistema estructural ε(t) bajo condiciones disipativas,
para una secuencia {tk }N
k=1 de tiempos de muestreo. Para generar la muestra de
señales mecánicas antes mecionada y almacenarla en memoria como un archivo
en formato *.csv, podemos aplicar la siguiente secuencia de comandos en GNU
Octave.

PRÁCTICA 3
>> L=7;
>> [ t , x ,A]= StructuralDynamicalSystem (L , 2 0 0 , − 1 , 2 0 , . . .
. 1 ∗ [ 1 z e r o s ( 1 , L−1) 1 z e r o s ( 1 , L − 1)] , z e r o s ( 1 , 2 ∗ L ) ) ;
>> c s v w r i t e ( ' TXdata . csv ' , [ t . ' , x ] ) ;
Con base en señales mecánicas almacenadas en formato *.csv, es posible iden-
ticar la dinámica de los sistemas mecánicos correspondientes a estas señales
aplicando programas basados en algoritmos UAC como el programa Building-
DynamicsA.m cuyo código se muestra a continuación.
% Examples :
% L= 7 ; [ t , x ,A]= StructuralDynamicalSystem (L , 2 0 0 , − 1 , . . .
% 2 0 , . 1 ∗ [ 1 z e r o s ( 1 , L−1) 1 z e r o s ( 1 , L − 1)] , z e r o s ( 1 , 2 ∗ L ) ) ;
% c s v w r i t e ( ' TXdata . csv ' , [ t . ' x ] ) ;
% [ t , x , xp , Ap, Aps]= BuildingDynamicsA ( ' TXdata ' , 3 , . . .
% 20 ,0 ,0);
% L= 7 ; [ t , x ,A]= StructuralDynamicalSystem (L , 2 0 0 , 0 , . . .
% 2 0 , . 1 ∗ [ 1 z e r o s ( 1 , L−1) 1 z e r o s ( 1 , L − 1)] , z e r o s ( 1 , 2 ∗ L ) ) ;
% c s v w r i t e ( ' TXdata . csv ' , [ t . ' x ] ) ;
% [ t , x , xp , Ap, Aps]= BuildingDynamicsA ( ' TXdata ' , 3 , . . .
% 20 ,0 ,1);
% L= 7 ; [ t , x ,A]= StructuralDynamicalSystem (L , 2 0 0 , 0 , . . .
% 2 0 , . 1 ∗ [ 1 z e r o s ( 1 , L−1) 1 z e r o s ( 1 , L − 1)] , z e r o s ( 1 , 2 ∗ L ) ) ;
% c s v w r i t e ( ' TXdata . csv ' , [ t . ' x ] ) ;
% [ t , x , xp , Ap, Aps]= BuildingDynamicsA ( ' TXdata ' , 3 , . . .
% 20 ,1 ,1);
f u n c t i o n [ t , x , xp , Ap, Aps]= BuildingDynamicsA ( fname , sm , ss , sp , smat )
TXdata=c s v r e a d ( [ fname , ' . csv ' ] ) ;
[N, n]= s i z e ( TXdata ) ;

8
t=TXdata ( : , 1 ) ;
x=TXdata ( : , 2 : n ) ;
L=(n − 1)/4;
i f sp==0
[ Ap, Aps]=LSDITMatrixID ( x , s s ) ;
else
[ Ap, Aps]=HLSDITMatrixID ( x , s s ) ;
end
xp = TXdata ( 1 , 2 : n ) ;
i f smat==1
Tm=Aps . ' ;
else
Tm=Ap . ' ;
end
f o r k =1:(N− 1)
xp=[xp ; xp ( k , : ) ∗ Tm] ;
subplot (121);
[ dx , dy]= BuildingDynamics ( 1 , L− 1,x ( k , : ) ) ;
t i t l e ( ' O r i g i n a l system behavior ' )
subplot (122);
[ dx , dy]= BuildingDynamics ( 1 , L− 1,xp ( k , : ) ) ;
t i t l e ( ' I d e n t i f i e d system behavior ' )
pause ( . 1 ) ;
end
figure ;
s u b p l o t ( 2 1 1 ) ; p l o t ( t , x ( : , sm ) , ' k . − ' , ' m a r k e r s i z e ' , 1 5 ) ;
hold on ;
p l o t ( t , xp ( : , sm ) , ' b . − ' , ' m a r k e r s i z e ' , 1 5 ) ;
hold o f f ;
g r i d on ;
legend ( ' o r i g i n a l signal ' , ' i d e n t i f i e d signal ' ) ;
s u b p l o t ( 2 1 2 ) ; p l o t ( t , x ( : , sm+L ) , ' k . − ' , ' m a r k e r s i z e ' , 1 5 ) ;
hold on ;
p l o t ( t , xp ( : , sm+L ) , ' b . − ' , ' m a r k e r s i z e ' , 1 5 ) ;
hold o f f ;
g r i d on ;
legend ( ' o r i g i n a l signal ' , ' i d e n t i f i e d signal ' ) ;
end
Observación: El programa BuildingDynamicsA.m requiere los programas
GNU Octave: BuildingDynamics.m, LSDITMatrixID.m y HLSDITMatrixID.m
Para información sobre el procedimiento necsario para obtener copias de estos
programas, el lector es referido a la sección Ÿ5.
Podemos aplicar el programa GNU Octave BuildingDynamicsA.m para identi-
car y aproximar la dinámica del sistema correspondiente a la muestra de señales
mecánicas almacenada en el archivo TXdata.csv, la secuencia de comandos re-
comendada se muestra a continuación.

>> [ t , x , xp , Ap, Aps]= BuildingDynamicsA ( ' TXdata ' , 3 , 2 0 , 0 , 0 ) ;

9
Figura 3.2: Salidas grácas generadas por el algoritmo de identicación UAC:
Identicación de comportamiento dinámico (izquierda). Identicación de señales
mecánicas correspondientes (derecha).

10
Las salidas grácas generadas por el programa se muestran en la gura 3.2
Observación: La dinámica identicada en la gura 3.2 del ejemplo ante-
rior, corresponde a un sistema disipativo.

3.1.2 Sistemas dinámicos estructurales conservativos


Podemos aplicar el programa GNU Octave StructuralDynamicalSystem.m para
calcular una muestra de señales mecánicas correspondientes a deexiones y ve-
locidades de deexión del sistema estructural ε(t) bajo condiciones conserva-
tivas, para una secuencia {tk }N
k=1 de tiempos de muestreo. Para generar la
muestra de señales mecánicas antes mecionada y almacenarla en memoria como
un archivo en formato *.csv, podemos aplicar la siguiente secuencia de coman-
dos en GNU Octave.

PRÁCTICA 4
>> L=7;
>> [ t , x ,A]= StructuralDynamicalSystem (L , 2 0 0 , 0 , 2 0 , . . .
. 1 ∗ [ 1 z e r o s ( 1 , L−1) 1 z e r o s ( 1 , L − 1)] , z e r o s ( 1 , 2 ∗ L ) ) ;
>> c s v w r i t e ( ' TXdata . csv ' , [ t . ' , x ] ) ;
Podemos aplicar el programa GNU Octave BuildingDynamicsA.m para iden-
ticar y aproximar la dinámica del sistema correspondiente a la muestra de
señales mecánicas almacenada en el archivo TXdata.csv, la secuencia de co-
mandos recomendada se muestra a continuación

>> [ t , x , xp , Ap, Aps]= BuildingDynamicsA ( ' TXdata ' , 3 , 2 0 , 1 , 1 ) ;


Las salidas grácas generadas por el programa se muestran en la gura 3.
Observación: La dinámica identicada en la gura 3.3 del ejemplo ante-
rior, corresponde a un sistema conservativo donde D = 0.

11
Figura 3.3: Salidas grácas generadas por el algoritmo de identicación UAC:
Identicación de comportamiento dinámico (izquierda). Identicación de señales
mecánicas correspondientes (derecha).

12
PROBLEMA 4

Considerando el caso particular β = 0 para la ecuación 1.3.


• Calcular una función Hα ∈ C 2 (R2 , R) que verica las restricciones:
∂Hα 0 ∂Hα
x0 = y = , y = −αx = − , Hα (0, 0) = 0
∂y ∂x
para cualquier (x, y) en el conjunto solución de 1.3 cuando β = 0.

Prueba:
Dada la ecuación 1.3 para el caso especico β = 0:
    
d x 0 1 x
=
dt y −α −β y
    
d x 0 1 x
=
dt y −α 0 y
(
dx
dt =y
dy
dt = −αx
Se requiere calcular una función Hα tal que
( (
∂Hα
x0 = ∂y x0 = dx
dt = f (x, y) = y
−∂Hα
⇒ dy
y0 = ∂x
y0 = dt = f (x, y) = −αx
Si dicha función tiene segundas derivadas continuas se verica la igualdad
de sus derivadas cruzadas:

∂f ∂ 2 Hα ∂ 2 Hα ∂g
= = =−
∂x ∂x∂y ∂y∂x ∂y

y2
Z Z
⇒ Hα (x, y) = f (x, y)dy + h(x) = ydy + h(x) = + h(x)
2

h0 (x) = αx
αx2
h(x) =
2

y 2 + αx2
⇒ Hα =
2

∂ 2 Hα ∂ 2 Hα ∂f ∂f
⇒ =0 =0 =0 =0
∂x∂y ∂y∂x ∂x ∂y
y cumple que :
∂Hα
= y = x0
∂y
−∂Hα
= −αx
∂x

13
• Para la función Hα (x, y) calculada en el inciso anterior considerar la sigu-
iente relación en R2 : (x, y) ∼α (x0 , y 0 )) ⇔ Hα (x, y) = Hα (x0 , y 0 ). Probar
que α es una relación de equivalencia.
y 2 + αx2
Hα (x, y) =
2
Solución:
1. Reexiva: ∀x ∈ A : x ∼ x
y 2 + αx2 y 2 + αx2
= ⇒ (x, y) ∼α (x, y)
2 2
(x, y) ∼α (x, y)
2. Simétrica: ∀x, y ∈ A : x ∼ y ⇒ y ∼ x
Si (x, y) ∼α (x0 y 0 ) ⇒ (x0 , y 0 ) ∼α (x, y)
y 2 + αx2 (y 0 )2 + α(x0 )2 (y 0 )2 + α(x0 )2 y 2 + αx2
= ⇒ =
2 2 2 2
(x0 , y 0 ) ∼α (x, y)
3. Transitiva: ∀x, y, z ∈ A : x ∼y ∧y ∼ z ⇒ x ∼z
(x, y) ∼α (x0 , y 0 ) ∧ (x0 , y 0 ) ∼α (w, z) ⇒ (x, y) ∼α (w, z)

y 2 + αx2 (y 0 )2 + α(x0 )2 (y 0 )2 + α(x0 )2 z 2 + αw2


= ∧ =
2 2 2 2
y 2 + αx2 z 2 + αw2
⇒ =
2 2
y 2 + αx2 (y 0 )2 + α(x0 )2 (y 0 )2 + α(x0 )2 z 2 + αw2
+ = +
2 2 2 2
y 2 + αx2 z 2 + αw2
=
2 2
(x, y) ∼α (w, z)
Por tanto ∼α es una relación de equivalencia. 

• Considerando la topología cociente en R2 correspondiente a la relación de


equivalencia ∼α denida en (b). Calcular πα ((1, 0)), donde πα es el mapa
de proyección canónica correspondiente a la topología cociente determi-
nada por ∼α .
Prueba:

y 2 + αx2
Hα (x, y) =
2
02 + α(1)2 α
Hα (1, 0) = =
2 2

14
πα ((1, 0)) = (x, y) ∈ R2 |(x, y) ∼α (1, 0)


= (x, y) ∈ R2 |Hα (x, y) = Hα (1, 0)




y 2 + αx2
 
α
= (x, y) ∈ R2 | =
2 2
2 2 2

= (x, y) ∈ R |y + αx = α

→ Si α = 0

π0 ((1, 0)) = (x, y) ∈ R2 |y 2 = 0




= (x, y) ∈ R2 |y = 0


→ Si α > 0

π0 ((1, 0)) = (x, y) ∈ R2 |y 2 + αx2 = α




y2
 
= (x, y) ∈ R2 | + x2 = 1
α

πα ((1, 0)) es una elipse.


Notemos que el conjunto determinado por la clase de equivalencia es una
elipse, si α = 0 y esta restricción es factible para los sistemas que se
estudian en este laboratorio.

15
APÉNDICE

Sección 2

TMatrixID.m de GNU Octave que calcula el par (Th , f ):


% Copyright (C) 2020 Fredy Vides
% f u n c t i o n [A, Ap, f ]=TMatrixID ( x ,m)
% A universal algebraic controller
% comptutation
% This method i s based on the UAC method
% p r e s e n t e d by F . Vides i n the a r t i c l e :
% " U n i v e r s a l a l g e b r a i c c o n t r o l l e r s and
% system i d e n t i f i c a t i o n "
% See a l s o : MechanicalSystemID .
% Author : Fredy Vides <fredy@HPCLAB>
% S c i e n t i f i c Computing I n n o v a t i o n Center
% Created : 2020 − 05 − 03
f u n c t i o n [A, Ap, f ]=TMatrixID ( x ,m)
N=s i z e ( x , 1 ) ;
m=min ( [m N− 1 ] ) ;
x0=x ( 1 :m, 1 ) ;
x1=x ( 2 : (m+ 1 ) , 1 ) ;
y0=x ( 1 :m, 2 ) ;
y1=x ( 2 : (m+ 1 ) , 2 ) ;
E=ones (m, 1 ) ;
c1 =[y0 E ] \ ( x1−x0 ) ;
c2 =[x0 y0 E] \ y1 ;
A=[1 c1 ( 1 ) ; c2 ( 1 : 2 ) . ' ] ;
f =[ c1 ( 2 ) ; c2 ( 3 ) ] ;
[ v , a]= e i g (A) ;
a=d i a g ( a ) ;
a=d i a g ( a . / abs ( a ) ) ;
Ap=r e a l ( v ∗ a/v ) ;
end

16
17
18
19
Sección 3

LSDITMatrixID.m
f u n c t i o n [A, Ap]=LSDITMatrixID ( x ,m, sp )
[N, n]= s i z e ( x ) ;
m=min ( [m N− 1 ] ) ;
x0=x ( 1 :m, : ) ;
x1=x ( 2 : (m+ 1 ) , : ) ;
f o r k=1:n/2
C=x0 \( x1 ( : , k ) ) ;
c ( k , : ) =C( 1 : n ) . ' ;
L=x0\x1 ( : , n/2+k ) ;
K( k , : ) = L ( 1 : n ) . ' ;
end
A=[ c ;K ] ;
[ v , a]= e i g (A) ;
a=d i a g ( a ) ;
a=d i a g ( a . / abs ( a ) ) ;
Ap=r e a l ( v ∗ a/v ) ;
end
HLSDITMatrixID.m
f u n c t i o n [ Ha ,A]=HLSDITMatrixID ( x ,m)
[A, Ap]=LSDITMatrixID ( x ,m) ;
[N, n]= s i z e (A) ; Z=eye ( n / 2 ) ;
Z=kron ( [ 0 1; − 1 0 ] , Z ) ;
Ha=logm (A) ;
Ha=(Ha+Z ∗Ha . ' ∗ Z ) / 2 ;
A=expm (Ha ) ;
A=(A−Z ∗ ( (A. ' ) \ Z ) ) / 2 ;
Ha=A;
[ v , a]= e i g (A) ;
a=d i a g ( a ) ;
a=d i a g ( a . / abs ( a ) ) ;
A=r e a l ( v ∗ a/v ) ;
A=(A−Z ∗ ( (A. ' ) \ Z ) ) / 2 ;
end
BuildingDynamics.m
f u n c t i o n [ dx , dy]= BuildingDynamics ( nx , ny , dx )
dx=[0 0 ; r e s h a p e ( dx ( 1 : ( ( nx +1) ∗ ( ny +1))) , ny+1,nx + 1 ) ] ;
x=0:nx ;
dy =0:( ny +1);
[ x , dy]= meshgrid ( x , dy ) ;
z=z e r o s ( ny+2,nx +1);
dx=x+dx ;
colormap (1 e − 10 ∗ [1 1 1 ] ) ;
mesh ( dx , dy , z ) ;
hold on ;
p l o t ( dx ( : , 1 ) , dy ( : , 1 ) , ' k . ' , ' m a r k e r s i z e ' , 1 5 ) ;

20
p l o t ( dx ( : , 2 ) , dy ( : , 2 ) , ' k . ' , ' m a r k e r s i z e ' , 1 5 ) ;
hold o f f ;
a x i s ([ − 1 2 0 ny + 1 ] ) ;
axis equal ;
g r i d on ;
view ( 2 ) ;
end

21
22
23
24

Vous aimerez peut-être aussi