Sunteți pe pagina 1din 6

Universidad Simn I.

Patio
Docente: Francisco Medrano Rocha
Clculo Numrico
Correccin de la lista de ejercicios 7 (en MATLAB)
Ejercicio 3. En primer lugar se debe transformar esta EDO de segundo orden en un sistema de
primer orden. Por lo tanto deben introducirse nuevas variables, tantas como valores iniciales
tenga el problema. En este caso hay dos valores iniciales, uno sobre el desplazamiento angular
y otro sobre la velocidad angular 0 . Nuestra ecuacin original es
1
2 2 00
ml + 0,990 + mgl sin = 0
3
2

(1)

Introduciendo las variables u1 (t) = (t) y u2 (t) = 0 (t) (que es equivalente a considerar la
funcin vectorial de variable t siguiente ~u = (u1 (t), u2 (t))T ). Derivando esas variables se tiene
u01 = 0 = u2
u02

2
= =
3ml2
00

1
0,99u2 mgl sin u1
2

esto teniendo en cuenta que u02 = 00 se obtiene despejando de la ecuacin (1) y u1 = .


Podemos escribir el sistema anterior como sigue:

 0  
u2 (t)
u1 (t)
0
 = f (t, ~u)
=
~u (t) =
(2)
3
u02 (t)
0,99u2 (t) 21 mgl sin u1 (t)
2ml2
|
{z
}
f (t,~
u)

Ahora la ecuacin (2) es un sistema de primer orden y puedo aplicar un mtodo numrico o
un resolvedor de MATLAB, en este caso usaremos ode45.
15
2 (conversin en radianes), 0 (0) = 0 (velocidad angular
Trataremos el caso (0) = 15 = 360
0, la masa m es "soltada").
En primer lugar debemos escribir en MATLAB la funcin f que describa el miembro de la
derecha del sistema (2). Tomando en cuenta que segn los datos del problema ml2 = 1,28 y
g/l = 7,45:
f=i n l i n e ( [ u ( 2 ) ; 0.105469 u ( 2 ) 5.5875 s i n ( u ( 1 ) ) ] , t , u )

Vamos entonces a resolver este sistema en el intervalo [0, 5], es decir t0 = 0 y TF = 5. El


15
2, 0). Podemos
valor inicial de el sistema (2) es ~u0 = (u1 (0), u2 (0)) = ((0), 0 (0)) = ( 360
llamar entonces a ode45 con la instruccin siguiente:
u0 =[(152 p i ) / 3 6 0 ; 0 ]
% para e l v a l o r i n i c i a l
[ t , u]= ode45 ( f , [ 0 , 5 ] , u0 ) % c a l c u l o de l a s o l u c i o n

Recuerde que la variable t contiene la discretizacin del tiempo y u es una matriz cuyas
columnas son u1 (tn ) y u2 (tn ) para cada tn de la discretizacin de t.
Para obtener el grfico del tiempo versus (t) (tiempo vs desplazamiento angular) escribimos
la instruccin:
plot ( t , u (: ,1) )

Para el grfico del tiempo versus 0 (t) (tiempo vs velocidad angular):


plot ( t , u (: ,2) )

Si queremos el grfico de tiempo-estado escribimos la instruccin:


plot (u (: ,1 ) ,u (: ,2 ) )
legend ( angulo , ve l oc i da d angular )

Para recuperar y 0 al cabo de TF damos las instrucciones:


u ( end , 1 )
% para e l a n g u l o f i n a l
u ( end , 2 ) % para l a v e l o c i d a d f i n a l

DIAGRAMA TIEMPOESTADO
0.6

0.6
posicin
velocidad

0.4

0.4

0.2

0.2

0.2

0.2

0.4

0.4

0.6

0.6

0.8

10

15

20

25

0.8
0.4

30

0.3

0.2

0.1

0.1

0.2

0.3

Figura 1: Soluciones con TF = 30


Para un tiempo ms grande, digamos TF = 30 vemos que tanto el angulo barrido como la
velocidad del pndulo experimentan un efecto amortiguado, es decir ambas curvas solucin
se aproximan del valor 0 (el pndulo alcanza su posicin de equilibrio y deja de moverse) una
situacin que corresponde a la realidad. Al mismo tiempo el grfico tiempo-estado representa
una espiral que parte de la condicin inicial 15 (o lo mismo 30
radianes) y velocidad angular
360
0 (simplemente se suelta la masa en ese ngulo), esta espiral converge al punto de equilibrio
(0, 0) que es la situacin en la que, luego de haber transcurrido mucho tiempo, el pndulo
esta en equilibrio.
Ejercicio 4. Nuestra EDO original es de segundo orden:
x00 + 0,6x0 + x3 = 100et/3

(3)

debemos transformarla en un sistema de primer orden. Hay dos valores iniciales, uno sobre
x(0) = 0 y otro sobre x0 (0) = 1. Por lo tanto introduciremos 2 variables nuevas u1 (t) = x(t)
y u2 (t) = x0 (t). Derivando esas variables:
u01 = x0 = u2
u02 = x00 = 0,6x0 x3 + 100et/3 = 0,6u2 u31 + 100et/3
Es decir tenemos el sistema
 0  

u2 (t)
u1 (t)
0
~u (t) =
=
= f (t, ~u)
u02 (t)
0, 6u2 (t) u1 (t)3 + 100et/3

(4)

Vamos a resolver este sistema en el intervalo [0, 5], esto es t0 = 0 y TF = 5. La condicin


inicial del sistema es ~u0 = (u1 (0), u2 (0)) = (x(0), x0 (0)) = (0, 1).
Primeros escribimos la funcin f del miembro de la derecha de (4) en MATLAB:
f=i n l i n e ( [ u ( 2 ) ; 0.6 u ( 2 )u ( 1 ) ^3+100 exp( t / 3 ) ] , t , u )

Luego utilizamos ode45:


u0 = [ 0 ; 1 ] % l a c o n d i c i o n i n i c i a l
[ t , u]= ode45 ( f , [ 0 , 5 ] , u0 ) ;
% c a l c u l o de l a s o l u c i o n
plot ( t , u ( : , 1 ) ) % grafico del desplazamiento x ( t )
p l o t ( t , u ( : , 2 ) ) % g r a f i c o de l a v e l o c i d a d x ( t )
p l o t ( u ( : , 1 ) , u ( : , 2 ) ) % g r a f i c o tiempoe s t a d o
l e g e n d ( p o s i c i o n , v e l o c i d a d ) % l o s v a l o r e s de cada e j e coordenado
u ( end , 1 )
% e l d e s p l a z a m i e n t o f i n a l ( a l cabo de T_F)
u ( end , 2 ) % l a v e l o c i d a d f i n a l ( a l cabo de T_F)

Pruebe los mismos comandos esta vez utilizando ode23s:

desplazamiento en metros

[ t , u]= o d e 2 3 s ( f , [ 0 , 5 ] , u0 ) ;

8
6
4
2
0

4
5
6
tiempo en segundos

10

10

velocidad en m/s

40
20
0
20
40

5
tiempo

Figura 2: Soluciones hasta TF = 10


La figura 2 muestra las soluciones para x(t) y x0 (t). Debido a la presencia de una amortiguamiento viscoso la masa experimenta un movimiento de vaivn amortiguado, con un
desplazamiento y velocidad que tienden a cero. En la figura 3, el grfico tiempo-estado (desplazamiento vs velocidad) nos muestra que se parte de (0,1) y para una tiempo transcurrido
muy grande se alcanza el estado de equilibro (0,0) donde la masa ya no se mueve y regresa
a su posicin inicial.

GRAFICO: desplazamiento vs velocidad


25
20
15

velocidad

10
5
0
5
10
15
20
25

3
4
5
desplazamiento

Figura 3: Grfico estado-tiempo para TF = 100


Ejercicio 5.

Figura 4: Deslizamiento de una cuenta


Luego de hacer un diagrama de cuerpo libre, horizontalmente actan sobre la cuenta la
~ y la componente en x de la fuerza
componente en x, Dx = dx
de la fuerza amortiguada D
dt
tangencial debida al peso Fx = mg sin cos . Tomando en cuenta que f 0 (x) = tan y
1 + tan2 = sec2 , sin2 + cos2 = 1 obtenemos
Fx = mg

f 0 (x)
1 + f 0 (x)2

Por la segunda ley de Newton mx00 = Fx + Dx . Es decir, tenemos la EDO de segundo orden
siguiente:
f 0 (x)
x0
(5)
1 + f 0 (x)2
Nuevamente hay dos valores iniciales en este problema, uno para la posicin x(t) y otro para
la velocidad x0 (t), debemos por tanto introducir dos nuevas variables: u1 = x y u2 = x0 .
Derivando esas variables:
mx00 = mg

u01 = x0 = u2
u02 = x00 = g

f 0 (x)

u2
0
2
1 + f (x)
m

Esto es equivalente al sistema de primer orden siguiente:


!
 0 
u
(t)
(t)
u
2
1
= f (t, ~u)
=
~u0 (t) =
f 0 (x)

g 1+f
u02 (t)
0 (x)2 m u2 (t)

(6)

Resolvemos este sistema con ode45 y los datos siguientes: x(0) = 2 6,2832 (posicin
horizontal inicial), x0 (0) = 10 (velocidad inicial en direccin positiva, es decir a la derecha).
Como no se especifica el tiempo final TF , vamos a tomar TF = 100.

Figura 5: Deslizamiento de una cuenta en una onda senoidal


En la figura 5 la cuenta es impulsada en x(0) = 2 con una velocidad inicial x0 (0) = 10.
Escribimos la funcin f del sistema en MATLAB tomando en cuenta que m = 0, 1 kg,
g = 9, 8 m/s2 , = 0,1 y que para f (x) = sin(x) tenemos f 0 (x) = cos(x):
f=i n l i n e ( [ u ( 2 ) ; 9.81 c o s ( u ( 1 ) ) /(1+ c o s ( u ( 1 ) ) ^2)u ( 2 ) ] , t , u )

Luego con ode45:


u0=[2 p i ; 1 0 ] % l a c o n d i c i o n i n i c i a l
[ t , u]= ode45 ( f , [ 0 , 1 0 0 ] , u0 ) ;
% c a l c u l o de l a s o l u c i o n
plot ( t , u ( : , 1 ) ) % grafico del desplazamiento x ( t )
p l o t ( t , u ( : , 2 ) ) % g r a f i c o de l a v e l o c i d a d x ( t )
p l o t ( u ( : , 1 ) , u ( : , 2 ) ) % g r a f i c o tiempoe s t a d o
l e g e n d ( p o s i c i o n , v e l o c i d a d ) % l o s v a l o r e s de cada e j e coordenado
u ( end , 1 )
% e l d e s p l a z a m i e n t o f i n a l ( a l cabo de T_F)
u ( end , 2 ) % l a v e l o c i d a d f i n a l ( a l cabo de T_F)

GRAFICO TIEMPOESTADO
10

10
desplazamiento x(t)
velocidad x(t)

8
8
6
6

velocidad horizontal

solucin

2
0
4
2
6

5
tiempo

4
7

10

Figura 6: Soluciones con = 0,1

3
2
desplazamiento

En la figura 6 vemos que la cuenta tiene el impulso suficiente para superar una joroba y luego
su movimiento es de vaivn amortiguado en el valle senoidal con mnimo local en x = /2
hasta que para un tiempo transcurrido suficientemente grande la cuenta se detiene (velocidad
cero) en ese punto. El grfico estado-tiempo nos muestra una espiral que converge a un punto
de estabilidad cuyas coordenadas son (/2, 0). Podemos verificar esto tomando en cuenta
que u(end,1) nos la posicin final de la cuenta y u(end,2) la velocidad final. Para TF = 100
deberamos obtener u(end,1)=-1.5708 que es prximo de /2 y u(end,1)=4.3654e-06 que
es prximo de una velocidad 0.
Para = 0 (no hay fuerza amortiguada) obtenemos los siguientes resultados
GRAFICO TIEMPOESTADO
10.8

100
desplazamiento x(t)
velocidad x(t)

10.6
80
10.4
60
velocidad horizontal

solucin

10.2

40

10

9.8
20
9.6
0
9.4

20

5
tiempo

9.2
20

10

20

40
desplazamiento

60

80

100

Figura 7: Soluciones con = 0


En la figura 7 se observa la situacin ideal en la que la cuenta se mueve siempre horizontalmente y la velocidad es siempre positiva pero peridica. Experimente el caso = 0,01.
Ejercicio 6. Proceda exactamente como el los ejercicios anteriores. Qu sucede si usamos
ode45 con = 1000? Observar que ode45 tarda ms de lo normal en calcular la solucin,
esto es porque para valores de muy grandes el problema del oscilador de Van Der Pol es
un problema rgido. Observe que sucede en MATLAB si en lugar de ode45 utiliza ode23s.

S-ar putea să vă placă și