Vous êtes sur la page 1sur 34

Universidad Politcnica de MadridEscuela Tcnica Superior de Ingenieros Industriales

Grado en Ingeniera en Tecnologas Industriales. Curso 2015-2016-3


Matemticas de EspecialidadIngeniera Elctrica

Integracin de ecuaciones diferenciales ordinarias con

Condiciones de Contorno o Frontera

Jos Luis de la Fuente OConnor


jldelafuente@etsii.upm.es
joseluis.delafuente@upm.es
Clase_integracin_problemas_contorno_2016.pdf

1/34

2/34

ndice


Introduccin

El mtodo del disparo

El mtodo de las diferencias finitas

Mtodos de colocacin y de elementos finitos

Introduccin

3/34

En este tema analizamos los problemas que se pueden modelizar mediante una
ecuacin diferencial de segundo orden con condiciones en dos puntos dados,
extremos de un intervalo de estudio a; b.

Son los denominados problemas de ecuaciones diferenciales con valores en la


frontera, o problemas de contorno. Se formulan as:
y 00 D f .t; y; y 0/;

y.a/ D ;

y.b/ D :

Para definir la solucin se necesitan dos condiciones de contorno:




Si se dan para un mismo punto, se tiene un problema de valor inicial como


los que hemos estudiado.

Si se dan para dos puntos, se tiene un problema de valores en la frontera.

El mtodo del disparo




4/34

Se basa en encontrar la ecuacin diferencial que tiene la misma solucin del de


contorno que se estudia.
ChE-401: Computational Methods in Chem. Eng.

Shooting method

Con tal fin se genera una sucesin de problemas de valor inicial que converja al
dado.

En cada uno se estima y 0.a/, la derivada pendiente de y en el extremo


izquierdo del intervalo.
Luego se resuelve (se dispara) hacia y.b/ y se obtiene el valor real yb en b.
Chemical Engineering Dep.

Prof. Ibrahim S. Al-Mutaz

King Saud University

Chemical

ChE-401: Computational Methods in Chem. Eng.

Se itera hasta que ySolution


cerca deProblems
y.b/- Shooting
como method
sea necesario.
Boundary-Value
b estoftan

5/34

De forma ms estructurada, si se define la funcin

F .s/ D

< Diferencia entre yb e y.b/; donde

y.t / es la solucin del problema de valor inicial,

: con y.a/ D y y y 0 .a/ D s;


a

el problema con valores de frontera se reduce a resolver la ecuacin


F .s/ D 0:

Para resolver esta ecuacin se puede utilizar el mtodo de la biseccin, por


ejemplo, informando al programa correspondiente de qu dos valores s0 y s1
hacen que F .s0/F .s1/ < 0.

6/34

Ejemplo Resolvamos mediante el mtodo del disparo este problema:


8
00

< y D 4y

y.0/ D 1

: y.1/ D 3:

Escribamos la ecuacin diferencial como un sistema de dos ecuaciones de orden


uno:
y0 D v
v 0 D 4y:

En Matlab podra escribirse as:

function z=F(s)
a=0; b=1; yb=3;
ydot = @(t,y) [y(2); 4*y(1)];
[t,y]= ode45(ydot,[a,b],[1,s]); % Solver de Matlab
z
= y(end,1)-yb
end

Comprobamos que para s D 1, F . 1/  1;0512 y que F .0/  0;7622


por lo que podemos invocar el programa Bisec_y.m en el intervalo 1; 0:
>> [ss,t,y]=Bisec_y(@F,[-1,0]);
>> ss
ss =
-0.4203
>> plot(t,y)
>> xlabel(Tiempo); ylabel(y)
>> legend(y(t), y(t),Location,NorthWest)

El resultado de la evolucin en el tiempo de y e y 0 es este.


6
y(t)
y'(t)

-1
0

0.1

0.2

0.3

0.4

0.5

Tiempo

0.6

0.7

0.8

0.9

7/34

Mtodo de las diferencias finitas




Su intencin es reemplazar las derivadas de la ecuacin diferencial por su


aproximacin por diferencias fintas en una malla de puntos del intervalo de
estudio.

Se consigue un sistema de ecuaciones ms o menos grande segn lo tupida


que sea esa malla. Luego se resuelve.

Si y.t/ es una funcin con derivadas continuas al menos hasta cuarto orden,
sabemos que
0

y .t / D

y.t C h/

y.t

h/

2h

h2 000
y ./
6

y que
00

y .t / D

y.t C h/

2y.t/ C y.t
h2

h/

h2 000
C y ./:
12

8/34

for approximations wi to the correct values yi , as shown in Figure 7.6. The boundary
conditions are substituted in the system of equations where they are needed.
y
1

w1
w2
ya

y1
y2

wn1
wn
yn1

t0

t1

t 2 ...

yn

tn1 tn

yb
tn+1

Figure 7.6 The Finite Difference Method for BVPs. Approximations wi , i = 1, . . . , n for
the correct values yi at discrete points ti are calculated by solving a linear system of
equations.
objetivo
es reemplazar los y , y ; : : : ; y reales de la trayectoria por sus

El
1
2
n
aproximaciones
por diferencias
finitas,
wi . situations. If the original boundary value
After the substitutions,
there are
two possible

problem was linear, then the resulting system of equations is linear and can be solved by
Gaussian elimination or iterative methods. If the original problem was nonlinear, then
 Si el
de contorno
original
es linealequations,
el problema
se convierte
entonces
theproblema
algebraic system
is a system
of nonlinear
requiring
more sophisticated
begin with
linear example.
en approaches.
resolver unWesistema
de aecuaciones
lineales; si no es lineal, en lo propio.

E 7.8 Solve the BVP (7.7)

9/34

10/34

Ejemplo Resolvamos mediante diferencias finitas este problema:


8
00

< y D 4y

y.0/ D 1

: y.1/ D 3:

La aproximacin de la ecuacin diferencial y 00 D 4y por diferencias finitas en ti


es
wiC1 2wi C wi 1
4wi D 0;
h2

2
o, wi 1 C
4h
2 wi C wi C1 D 0:

Si se divide el intervalo de estudio en tres tramos, n D 3, el parmetro


h D 1=.n C 1/ D 1=4, por lo que habr tres ecuaciones.

Introduciendo que w0 D 1 y que w4 D 3 se llega al sistema



4h
2 w1 C w2 D 0

4h2 2 w2 C w3 D 0

4h2 2 w3 C 3 D 0:

1C
w1 C
w2 C


Sustituyendo el valor de h a este sistema con matriz tridiagonal


2 9
3" # 2 3
1
0
1
4
w1
4 1 49 15 w2 D 4 05 :
0

11/34

9
4

w3

Resolviendo este sistema se obtiene la solucin de esta tabla.


i
0
1
2
3
4

ti
0;00
0;25
0;50
0;75
1;05

wi
1;0000
1;0249
1;3061
1;9138
3;0000

yi
1;0000
1;0181
1;2961
1;9049
3;0000

Las diferencias son O.10 2/. Para obtener ms precisin habra que aumentar n.

12/34

En general, si h D .b a/=.n C 1/ D 1.n C 1/ el sistema de matriz tridiagonal


que se obtiene en este ejemplo es de la forma
3
2 2
2 13
4h
2
1
0
 0
0
0
2
3
4h2 2
1
 0
0
0
7 w1
6 1
2
7 6 w2 7 6 007
6 0
1
4h
2  0
0
0
7 6 w3 7 6 :7
6 ::
::
::: :::
:::
7 6 : 7 D 6 ::7 :
6 :
0
:
7 4 :: 5 6 7
6
::: :::
0
0
1
0
7 wn 1
6 0
4 05
5
4 0
:::
0
0
0

4h2 2
1
0

 0

4h

wn

Los errores en este mtodo vienen de la aproximacin de las derivadas y de la


resolucin del sistema de ecuaciones.

Para valores de h mayores que la raz cuadrada de la precisin de la mquina, ,


prevalecen los de la aproximacin, O.h2/.

Ejemplo Resolvamos ahora mediante diferencias finitas este otro problema:


8
00

<y D y

y2

y.0/ D 1

: y.1/ D 4:

La discretizacin de la ecuacin diferencial en ti lleva a


wi C1

2wi C wi
h2

wi C wi2 D 0

o
wi
para 2  i  n



2 C h2 wi C h2wi2 C wiC1 D 0;

1.

Las condiciones de contorno aaden



ya
2 C h2 w1 C h2w12 C w2 D 0

wn 1
2 C h2 w1 C h2wn2 C yb D 0:

13/34

En este caso tenemos un sistema de ecuaciones no lineales que podemos


resolver mediante Newton-Raphson con esta frmula de recurrencia:
wkC1 D wk

14/34

J .wk / 1f .wk /:

La funcin vectorial es
2

ya

6
6 w1
6
f .wk / D 6
6
4wn 2
wn 1


3
2 C h2 w1 C h2 w12 C w2

7
2 C h2 w2 C h2 w22 C w3 7
7
::
7;
:
7

2 C h2 wn 1 C h2 wn2 1 C wn 5
2 C h2 wn C h2 wn2 C yb

donde ya D 1 y yb D 4.
22h2w

2 C h2

6
La Jacobiana: 6
4

0
::
:
0

0

:
::
2h2 w1
2 C h2
::
:
1
::
::
:
: 2h2 w1

0


::
:
1

7
7:
5

0
2C

0
::
:
h2

1
2h2 wn

2 C h2

Cada fila i es la derivada parcial de la ecuacin i de f con respecto a cada wj .

15/34

Si organizamos todo el procedimiento en un fichero .m de Matlab:


function w1=nlbvpfd(inter,bv,n)
% Diferencias finitas no lineal para resolver BVP
%
inter, intervalo de integracin; bv, valores de contorno;
%
n, nmero de pasos.
a=inter(1); b=inter(2); ya=bv(1); yb=bv(2);
h=(b-a)/(n+1); w=zeros(n,1); w1=w+0.01;
while abs(w1-w)>sqrt(eps)
% Iteraciones de Newton-Raphson
w=w1;
w1=w-jac(w,h,n)\f7(w,h,bv,n);
end
close all, plot ([a a+(1:n)*h b],[ya w1 yb]);
end
function y=f7(w,h,bv,n)
y=zeros(n,1);
y(1)=bv(1)-(2+h^2)*w(1)+h^2*w(1)^2+w(2);
y(n)=w(n-1)-(2+h^2)*w(n)+h^2*w(n)^2+bv(2);
for i=2:n-1
y(i)=w(i-1)-(2+h^2)*w(i)+h^2*w(i)^2+w(i+1);
end
end

4.5

3.5

2.5

function a=jac(w,h,n)
1.5
a=zeros(n,n);
for i=1:n
a(i,i)=2*h^2*w(i)-2-h^2;
1
end
0
for i=1:n-1
a(i,i+1)=1;
a(i+1,i)=1;
end
end

0.1

0.2

0.3

0.4

0.5

0.6

La respuesta se consigue con >> w=nlbvpfd([0 1],[1 4],40);

0.7

0.8

0.9

16/34

Mtodos de colocacin y de elementos finitos




La idea que comparten estos dos mtodos es la de convertir el problema en el de


resolver un conjunto de ecuaciones algebraicas mediante la aproximacin de la
ecuacin diferencial por
y.t / D c11.t / C    C cnn.t /;
donde las i son funciones base definidas en el intervalo a; b y los ci
parmetros que hay determinar.

Las funciones base pueden ser polinomios, funciones trigonomtricas, splines u


otras funciones simples.

La determinacin de una solucin aproximada de la ecuacin diferencial se


reduce a encontrar los valores de los ci .

17/34

El enfoque de la colocacin consiste en usar la aproximacin de y.t / en un


conjunto de n puntos a D t1 <    < tn D b, denominados puntos de
colocacin, en los que se fuerza a que la solucin aproximada y.t / satisfaga la
ecuacin diferencial.

Esto lleva a un sistema de ecuaciones lineales, o no lineales, en los que se


calculan los ci . La idea es parecida a la de la interpolacin.

El mtodo de los elementos finitos aproxima mediante mnimos cuadrados los ci


de tal forma que se minimice la suma al cuadrado de las desviaciones entre los
valores exactos en unos puntos de la ecuacin diferencial y los aproximados.

18/34

Mtodo de colocacin

Resolvamos la ecuacin

8
00

< y D 4y

y.0/ D 1

: y.1/ D 3:


Se eligen como funciones base monomios j .t / D t j 1, para 1  j  n.


La solucin ser de la forma y.t / D

Pn

j D1 cj j .t /

Pn

j D1 cj t

j 1

Se formularn n ecuaciones con las n incgnitas c1; : : : ; cn. La primera y la


ltima son las condiciones en la frontera:
c1 D

n
X

cj j .0/ D y.0/ D 1

j D1

c1 C    C cn D

n
X

cj j .1/ D y.1/ D 3:

j D1

Las otras n 2 ecuaciones resultan de evaluar la ecuacin diferencial


P
y 00 D f .t; y; y 0/ en ti , 2  i  n 1, siendo y.t / D jnD1 cj t j 1. Es decir
1
0
n
n
n
X
X
X

 j 3

j 1
@
j 1 j 2 cj t
D f t; cj t ; cj j 1 t j 2A :
j D1

En el ejemplo,
n h
X
j D1

j D1

1 j

j
2 ti

j 1
4ti

cj D 0;

j D1

i D 2; : : : ; n

1:

19/34

Las n ecuaciones forman un sistema Ac D b, donde la matriz de coeficientes


A est definida as,
8

1 0 0  0

<


Aij D j 1 j 2 tij

:1 1 1  1

fila i D 1
3

j 1

filas i D 2; : : : ; n

4ti

fila i D n

y b D 1 0 0    0 3T .


Los ti de la malla que se usan son los uniformemente espaciados


ti D a C

i
n

1
.b
1

a/ D (en el caso del ejemplo a)

i
n

Para n D 2 el sistema queda




1 0
1 1

 
c1
c2

 
1

D 3 ;

y la solucin es c D 1 2T . Es decir y.t / D c1 C c2t D 1 C 2t.

1
:
1

20/34

Para n D 4 el sistema es
2
4

1
4
4
1

0
4  1=3 2
4  2=3 2
1

21/34

32 3

0
0
c1
2
4  .1=3/ 6  1=3 4  .1=3/3 5 4c2 5
c3
4  .2=3/2 6  2=3 4  .2=3/3
c4
1
1

cuya solucin es c D 1;0000


y.t /  1

23
D

1
405 ;
0
3

0;1886 1;0273 1;1613T . Es decir,


0;1886t C 1;0273t 2 C 1;161t 3 :

3
Exacta
y(t)=1+2t
2

y(t)=1-0.1886t+1.0273t +1.1613t
2.5

El grfico-resultado para el ejemplo:

1.5

0.5

0.1

0.2

0.3

0.4

0.5
Tiempo

0.6

0.7

0.8

0.9

22/34

El ejemplo que hemos utilizado para introducir el mtodo era lineal, pues as lo
era la ecuacin diferencial. Si fuese no lineal, habra que utilizar el mtodo de
Newton-Raphson para resolver el sistema de ecuaciones no lineales que resultase.

Igual que hemos utilizado monomios como funciones base para aplicar el
mtodo, se puede recurrir a cualesquiera otras: polinomios de Chebyshev,
funciones trigonomtricas, etc.

23/34

Mtodo de los elementos finitos de Galerkin

El mtodo de los elementos finitos, formulado por Boris Grigoryevich Galerkin,


Rusia 1871-1945, minimiza el cuadrado del error de la aproximacin de la
ecuacin diferencial a lo largo de la solucin. Aboca a un sistema de ecuaciones
lineales diferente del anterior.

Si en el procedimiento general anterior se usan como funciones base unos splines


nos referimos al mtodo de los elementos finitos. Las splines son distintas de
cero en un corto espacio de t .

En el caso de la colocacin, los ci se obtenan forzando a que la solucin


aproximada satisficiese exactamente las condiciones de contorno y los puntos de
colocacin.

El mtodo de los elementos finitos para resolver

24/34

8
00
0

< y D f .t; y; y /

y.a/ D y

: y.b/ D y ;
b

escoge una solucin aproximada y de tal forma que el residuo r D y 00


lo ms pequeo posible.

f sea

Anlogamente a como vimos para mnimos cuadrados, esto se consigue


eligiendo y de tal forma que el vector de residuos sea ortogonal al espacio
vectorial del conjunto de las soluciones de la ecuacin diferencial.

Para un intervalo a; b se define el espacio vectorial de las funciones integrables


cuadradas
(
)
Z b

L2a; bD funciones y.t / en a; b


y.t /2dt existe y es finita :
a

25/34

En este espacio se define el producto interior


Z b
y1.t /y2.t /dt;
hy1; y2i D
a

con las propiedades habituales:


1. hy1; y2i  0;
2. hy1 C y2; zi D hy1; zi C hy2; zi, siendo y escalares;
3. hy1; y2i D hy2; y1i.
Dos funciones y1 e y2 son ortogonales en L2a; b si hy1; y2i D 0.


Como este espacio es de dimensin infinita, no podemos hacer r D y 00 f


ortogonal al mismo en sentido estricto, pero si escoger una base que comprenda
lo ms posible del mismo en el sentido finito de lo clculos.

Hay dos ideas principales detrs del mtodo de Galerkin:

26/34

1- Minimizar el vector residuo r forzando a que sea ortogonal, en el sentido del


producto interior anterior, a un conjunto de
base 0.t /,

R b n C00 2 funciones
1.t /; : : :, nC1.t /. Es decir forzar a que a y
f i dt D 0, o que
b

00

f .t; y; y 0 /i .t/ dt

y .t/i .t/ dt D

forma dbil

para cada 0  i  n C 1.
2- Utilizar integracin por partes para eliminar las segundas derivadas.
Teniendo en cuenta que
b

b
y .t/i .t/ dt D i .t/y 0 .t/a
00

D i .b/y 0 .b/

y 0 .t/i0 .t/ dt
Z b
a
i .a/y 0 .a/
y 0 .t/i0 .t/ dt:
a

Utilizando la forma dbil y esta expresin resulta un conjunto de ecuaciones


l

f .t; y; y 0 /i .t/ dt D i .b/y 0 .b/

i .a/y 0 .a/

y 0 .t/i0 .t/ dt:

27/34

Resolvindolas se determinan los ci de


y.t / D

nC1
X

ci i .t /:

i D0

Esas dos ideas hacen conveniente usar funciones base i .t / elementos


finitos muy simples, como lo son los B-splines.

Para ello, en los puntos t0 < t1 <    < tn < tnC1 sobre el eje t, para
i D 1; : : : ; n, se define

i .t / D

8
t

< i

ti 1
ti 1

ti C1 t
tiC1 ti

:0

para ti

< t  ti

para ti < t < ti C1


en otros casos.

28/34

Y, tambin,
0.t/ D

8
<

t1 t
ti t0

:0

para t0  t < t1
en otros casos7.3

y nC1.t / D

8
<

t tn
tnC1 tn

para tn < t  tnC1

0 ElementenMethod
otros casos.
Collocation and the Finite
| 369
:

y
1

0 1 2

t0

t1

t2

n1 n n+1

t 3 ...

tn1 tn

tn+1

Figure 7.10 Piecewise-linear B-splines used as nite elements. Each i (t), for
1 i n, has support on the interval from ti1 to ti+1 .

Estas funciones satisfacen que i .tj / D

1 si i D j
0 si i j:

for each i that can be solved for the ci in the functional form
y(t) =

n+1


ci i (t).

(7.23)

29/34

Para un conjunto de datos .ti ; ci /, se define la B-spline lineal por tramos


S.t / D

nC1
X

ci i .t /:

i D0

Se puede comprobar que S.tj / D




PnC1
iD0

ci i .tj / D cj .

S.t/ es una funcin lineal por tramos que interpola los puntos .ti ; ci /. Adems,
los ci son las soluciones en los puntos ti de la aproximacin de la ecuacin
diferencial.

30/34

Para calcular los ci : el primero y el ltimo se obtienen por colocacin:


y.a/ D

nC1
X

ci i .a/ D c00.a/ D c0

i D0

y.b/ D

nC1
X

ci i .b/ D cnC1nC1.b/ D cnC1:

i D0

Los dems, usando las ecuaciones de los elementos finitos:


Z b
Z b
f .t; y; y 0/i .t / dt C
y 0.t /i0 .t / dt D 0;
a

sustituyendo y.t / por


ci i .t /,
Z b
Z
 X

X
i .t /f t;
cj j .t /;
cj j0 .t / dt C
a

b
a

i0 .t /

cj j0 .t / dt D 0:

31/34

Suponiendo que los puntos en t estn uniformemente espaciados un paso h, hay


que calcular todas estas integrales para cada i D 1; : : : ; n:
b

Z
i .t/i C1 .t/ dt D

D
b

t2
2h



Z b
t
t
t
1
dt D
h
h
h
a
3 h
t
3h2 D h6
h

t
h

2

b
0
.t/ dt
i0 .t/iC1


0 2

i .t/
a


dt

i .t/ dt D 2
Z

t2
h2

1
h

h

Z
D

dt D 2
0

2

1
h

1
h
2

2
dt D h
3

dt D

1
h

2
dt D :
h

Si la ecuacin diferencial es lineal, las ecuaciones de los ci tambin.

32/34

Ejemplo Mediante elementos finitos, resolvamos

8
00

< y D 4y

y.0/ D 1

: y.1/ D 3:


Sustituyendo la ecuacin diferencial en las expresiones de los ci se tiene para


cada i
l 1
!
nC1
nC1
0 D

4i .t/

nC1
i
j D0

j D0

cj j .t/ C

cj j0 .t/i0 .t/ dt

j D0

 Z
cj 4

Z
i .t/j .t/ dt C

j0 .t/i0 .t/ dt


:

Usando las expresiones de las B-splines para i D 1; : : : ; n y teniendo en cuenta


que c0 D f .a/ y cnC1 D f .b/, las ecuaciones que resultan son estas:

33/34

2

1
h

c0 C

8

2
h

c1 C

2

1
h

c2 D 0

2

1
h

c1 C

8

2
h

c1 C

2

1
h

c1 D 0

h
3
h
3

hC
3
hC
3

h
3
h
3

::
: 0
1
h

2

h
3

cn

8

hC
3

2
h

cn C

2

h
3

1
h

cnC1 D 0:

Como c0 D ya D 1 y cnC1 D yb D 3 el sistema resultante es este


2
32 3 2
3
c1
ya
0  0
: : : : : : ::: 7 6
7 6
7
7 6 c2 7 6 0 7
6 7 6
7
: : : 07
7 6 ::: 7 D 6 ::: 7 ;
6 7 6
7
: : : : : : 7
5 4cn 15 4 0 5

6
60
6
6:
4 ::

0 

donde

cn

2
2
8
y D h
D hC
3
h
3

yb

1
:
h

Si recopilamos todo lo necesario en un fichero .m de Matlab para este caso:

34/34

function c=Galerkin_ef_1(inter,bv,n)
% Elementos finitos de ejemplo clase
%
inter, intervalo de integracin; bv, valores de contorno;
%
n, nmero de pasos.
a=inter(1); b=inter(2); ya=bv(1); yb=bv(2);
h=(b-a)/(n+1);
alfa=(8/3)*h+2/h; beta=(2/3)*h-1/h;
e=ones(n,1);
M=spdiags([beta*e alfa*e beta*e],-1:1,n,n);
d=zeros(n,1); d(1)=-ya*beta; d(n)=-yb*beta;
c=M\d;
end

Resolviendo con la orden


c=Galerkin_ef_1([0 1],[1 3],3)
se llega a la solucin de la tabla que sigue.
i
0
1
2
3
4

ti
0;00
0;25
0;50
0;75
1;05

ci
1;0000
1;0109
1;2855
1;8955
3;0000

yi
1;0000
1;0181
1;2961
1;9049
3;0000

Las diferencias son O.10 2/. Para obtener ms precisin habra que aumentar n.