Sunteți pe pagina 1din 7

1

MÓDULO 16
PROBLEMAS CON VALOR EN LA FRONTERA DE SEGUNDO ORDEN
SOLUCIÓN NUMÉRICA POR EL MÈTODO DE LAS DIFERENCIAS DIVIDIDAS

Problematización inicial.
¿En qué consisten las diferencias divididas?
¿Cómo se calculan las diferencias divididas de primero y segundo orden?
¿Cómo usar las diferencias divididas para resolver un problema con valor en la frontera?
¿Cómo usar Matlab para resolver un problema con valor en la frontera?

Contenido
En este módulo se presenta el método de las diferencias divididas para resolver un problema de
valor inicial lineal de segundo orden y se desarrollará el siguiente contenido:

16.1. Formulación del problema


16.2. Método de las diferencias divididas
16.3 Programa en Matlab

16.1. Formulación del problema.


Consideremos un problema con valor en la frontera lineal de segundo orden, así:

y ' ' ( x)  p ( x) y ' ( x)  q ( x) y ( x)  r ( x) y (a)   , y (b)  

Suponiendo que las funciones p( x) q( x) r ( x) son continuas en el intervalo cerrado a  x  b


, el problema tendrá solución única.
El método de las diferencias divididas consiste en dividir el intervalo [ a, b] en n subintervalos del
mismo tamaño, así h  (b  a) / n . A partir de aquí se genera el vector de abscisas:
X (k )  a  (k  1)h k  1 : n  1
Se trata de determinar el valor de la ordenada en cada uno de los nodos interiores, es decir, se trata
de generar el vector: y (k ) ; k  2 : n
Se parte de las condiciones de frontera: Y (1)   Y (n  1)  
La figura 16.1 muestra la situación para dos subintervalos consecutivos.

Figura 16.1

Definimos las dos primeras diferencias divididas centradas en el punto  X (k ), Y (k ) , así:


Y (k  1)  Y (k  1)
Primera diferencia dividida: f 1[ X (k  1), X (k ), X (k  1)] 
2h
2

Y (k  1)  2Y (k )  Y (k  1)
Segunda diferencia dividida: f 2[ X (k  1), X (k ), X (k  1)] 
h2

16.2. Método de las diferencias divididas.


Las diferencias divididas se usarán para aproximar tanto la primera como la segunda derivada en
los nodos interiores, es decir, para k  2 : n . Así las cosas, resulta un sistema de n  1 ecuaciones,
así:

Y (k  1)  2Y (k )  Y (k  1) Y (k  1)  Y (k  1)
2
 p X (k )   q X (k ) Y (k )  r ( X (k )) k  2 : n
h 2h
Organizando el sistema se tiene:

 h 
   h 
1  2 p X (k ) Y (k  1)  h q( X (k ))  2 Y (k )  1  2 p( X (k )) Y (k  1)  h r ( X (k ))
2 2

La primera ecuación, con k  2 , queda en la forma:

h q( X (2))  2Y (2)  1  h2 p( X (2))Y (2)  h r ( X (2))   1  h2 p( X (2))


2 2

   

La última ecuación, con k  n , queda en la forma:

 h 
   h 
1  2 p X (n) Y (n  1)  h q( X (n))  2 Y (n)  h r ( X (n))   1  2 p( X (n)) 
2 2

En consecuencia resulta un sistema tridiagonal de n  1 ecuaciones, así:

 a (1,1) a (1,2) 0 0... 0  Y (2)   b(1) 


a (2,1) a(2,2) a(2,3) 0... 0  Y (3)   b(2) 
    
 0 a (3,2) a (3,3) a (3,4) 0  Y (4)   b(3) 
 . . . . .  .    . 
    
 . . . . .  .   . 
 . . . . .  .   . 
    
 0 0 ... a(n  1, n  2) a(n  1, n  1) Y (n) b(n  1)

Es claro que:
 h 
b(1)  h 2 r ( X (2)   1  p( X (2)) 
 2 
 h 
b(n  1)  h 2 r ( X (n)   1  p( X (n)) 
 2 

Por otro lado, el resto de los términos independientes se calculan de manera recurrente, así:

b(k )  h 2 r ( X (k )) k  2 : n  2
Ejemplo 16.1
3

Usando el método de las diferencias divididas, resuelva el problema con valor en la frontera:

y ' ' ( x)  4 y ( x)  20 y (0)  0, y ( / 4)  0

Solución.
Se toma N  10 y se trabaja con la siguiente información:


p( x)  0 q( x)  4 r ( x)  20 a  0 b    0   0 n  10
4
   3  5 3 7  9 
El vector de abscisas es: x  0
 40 20 40 10 40 20 40 5 40 4 

En cuanto al vector de ordenadas, se debe resolver el sistema de 9 ecuaciones con 9 incógnitas,


así:

 1.98 1 0 0 0 0 0 0 0   y (2)  0.123


 1  1.98 1 0 0 0 0 0 0   y (3)  0.123

 0 1  1.98 1 0 0 0 0 0   y (4)  0.123
    
 0 0 1  1.98 1 0 0 0 0   y (5)  0.123
 0 0 0 1  1.98 1 0 0 0   y (6)   0.123
    
 0 0 0 0 1  1.98 1 0 0   y (7)  0.123
 0 0 0 0 0 1  1.98 1 0   y (8)  0.123
    
 0 0 0 0 0 0 1  1.98 1   y (9)  0.123
 0  1.98  y (10) 0.123
 0 0 0 0 0 0 1
Puede verse que es un sistema tridiagonal y además es diagonalmente dominante. La solución viene
dada por:

y  0  0.723  1.304  1.723  1.99  2.08  1.99  1.723  1.304  0.723 0


Al representar gráficamente la solución se obtiene la figura 16.2 que fue la que se obtuvo por el
método del disparo.
x=[0 pi/40 pi/20 3*pi/40 pi/10 5*pi/40 3*pi/20 7*pi/40 pi/5 9*pi/40 pi/4];
y=[0 -0.723 -1.304 -1.723 -1.99 -2.08 -1.99 -1.723 -1.304 -0.723 0];
plot(x,y)
grid on
4

-0.5

-1

-1.5

-2

-2.5
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8

Figura 16.2

16.3 Programa en Matlab para resolver un problema con valor en la frontera


%Programa para resolver el problema con valor en la frontera
% y''+p(x)y'+q(x)y=r(x) con las condiciones y(a)=alfa,y(b)=beta
%con N intervalos, usando el metodo de las diferencias divididas
%Entrada de informacion
clear all
n=input('numero de intervalos= ');
a=input('abscisa inicial= ');
b=input('abscisa final= ');
alfa=input('ordenada inicial= ');
beta=input('ordenada final= ');
h=(b-a)/n;
% Se genera el vector de abscisas
for i=1:n+1
xe(i)=a+(i-1)*h;
end
p=input('entre la funcion p(x)=');
q=input('entre la funcion q(x)=');
r=input('entre la funcion r(x)=');
for i=1:n+1
x=xe(i);
P(i)=eval(p);
Q(i)=eval(q);
R(i)=eval(r);
end
ye(1)=alfa;
ye(n+1)=beta;
%Para hallar las ordenadas resulta un sistema
%tridiagonal de ecuaciones
[P Q R];
m=n-1;
A(1,1)=h^2*Q(2)-2;
A(1,2)=1+0.5*h*P(2);
B(1)=h*h*R(2)-alfa*(1-0.5*h*P(2));
[A(1,1) A(1,2) B(1)];
5

A(m,m-1)=1-0.5*h*P(n);
A(m,m)=h*h*Q(n)-2;
B(m)=h*h*R(n)-beta*(1+0.5*h*P(n));
[A(m,m-1) A(m,m) B(m)];
for i=2:m-1
A(i,i-1)=1-0.5*h*P(i+2);
A(i,i)=h*h*Q(i+2)-2;
A(i,i+1)=1+0.5*h*P(i+2);
end
for i=2:m-1
B(i)=h*h*R(i+2);
end
z=inv(A)*B';
for k=2:n
ye(k)=z(k-1);
end
[xe' ye']
plot(xe,ye)
grid on

Ejemplo 16.2
Usando el método de las diferencias divididas, resuelva el problema con valor en la frontera del
ejemplo anterior.

Solución.
>> pvfdif2012
numero de intervalos= 10
abscisa inicial= 0
abscisa final= pi/4
ordenada inicial= 0
ordenada final= 0
entre la funcion p(x)='0'
entre la funcion q(x)='4'
entre la funcion r(x)='20'

ans =

0 0
0.0785 -0.7226
0.1571 -1.3039
0.2356 -1.7297
0.3142 -1.9895
0.3927 -2.0768
0.4712 -1.9895
0.5498 -1.7297
0.6283 -1.3039
0.7069 -0.7226
0.7854 0

La figura 16.3 ilustra la gráfica de la solución del problema.


6

-0.5

-1

-1.5

-2

-2.5
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8

Figura 16.3

Ejemplo 16.3
Usando el método de las diferencias divididas, resuelva el problema con valor en la frontera:

1  x y' ' ( x)  2xy'2 y( x)  0


2
y(0.5)  0, y(0.5)  1, n  20
Solución.
Se ejecuta el programa, así:
>> pvfdif2012
numero de intervalos= 20
abscisa inicial= -0.5
abscisa final= 0.5
ordenada inicial= 0
ordenada final= 1
entre la funcion p(x)='2*x/(x*x-1)'
entre la funcion q(x)='-6/(x*x-1)'
entre la funcion r(x)='0'

ans =
-0.5000 0
-0.4500 0.3021
-0.4000 0.5820
-0.3500 0.8412
-0.3000 1.0784
-0.2500 1.2924
-0.2000 1.4819
-0.1500 1.6460
-0.1000 1.7836
-0.0500 1.8938
0 1.9755
0.0500 2.0279
0.1000 2.0500
0.1500 2.0407
0.2000 1.9989
0.2500 1.9237
0.3000 1.8136
0.3500 1.6675
0.4000 1.4837
7

0.4500 1.2605
0.5000 1.0000
>> pvfdifdiv

La figura 16.4 ilustra la gráfica de la solución.


2.5

1.5

0.5

0
-0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5

Figura 16.4

EJERCICIOS PROPUESTOS MÓDULO 16

Resuelva los siguientes problemas con valor en la frontera por el método de las diferencias divididas.

1) y ' '2 y '10 y  10 y (0)  0, y (2)  0 N  10


2) y ' '2 xy'10 y  10 y (0)  0, y (2)  0 N  10
3) y ' '2 y '10 y  10sen( x) y (0)  0, y ( )  0 N  10
4) (1  x 2 ) y' '2 xy'6 y  x  x3 y(0.5)  0, y(0.5)  0 N  10
5) (1  x 2 ) y' '2 xy'2 y  x  x3 y(2)  0, y(4)  1 N  10
6) xy' '2 y' xy  x 2 y(1)  0, y(3)  0 N  20
7) x 2 y' ' xy' y  x 2 y(1)  0, y(3)  0 N  20
8) y ' '2 xy'4 y  x y (1)  0, y (1)  0 N  20
9) (1  x 2 ) y' ' xy'4 y  x y(0.5)  0, y(0.5)  0 N  20
10) x y' ' xy'( x  4) y  x y(0.5)  0, y(1.5)  0 N  20
2 2 2

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