Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Librodemétodos 2012 PDF
Librodemétodos 2012 PDF
PRESENTACIÓN.
En estas notas modulares se presenta el contenido mínimo de un curso de Métodos Numéricos
para cualquier programa de ingeniería. Las notas como tales no alcanzan la categoría de libro de
texto, pero su contenido es una guía que le permite al alumno abordar el estudio de cualquier libro
de texto.
Este material es el producto de mi experiencia docente en el curso a partir de 1986. En 1988
publiqué unas notas muy resumidas sin la componente de software. En 2004 se publicaron unas
notas en las que se manejaban los ambientes Matlab y Mathcad.
El autor se desempeñado, durante sus 30 años en la actividad docente, en los cursos de: Cálculo
diferencial, Cálculo integral, Geometría Euclidiana, Geometría Vectorial, Ecuaciones Diferenciales,
Matemáticas Avanzadas, Física Moderna, Física del estado Sólido, Semiconductores, Circuitos
Eléctricos en el dominio del tiempo, Circuitos Eléctricos en el dominio de la frecuencia y Métodos
Numéricos.
Las notas están acompañadas de un buen número de programas en el ambiente Matlab y de una
bibliografía que incluye los textos clásicos de análisis numérico.
En el desarrollo de estas notas se prescinde del formalismo matemático típico de los textos de
análisis numérico. Se incorporan algunos temas de aplicaciones de ingeniería y ciencias y, en el
caso de las ecuaciones diferenciales, se contextualiza el estudio en las soluciones de problemas
de valor inicial y problemas con valor en la frontera.
A continuación se presenta una guía para estudiar las notas:
Módulo 1. Se sugiere que el profesor lo exponga de manera presencial en dos horas de docencia
directa y que el estudiante le dedique, como mínimo, 4 horas.
Módulo 2. Se sugiere que el profesor lo exponga de manera presencial en dos horas de docencia
directa y que el estudiante le dedique, como mínimo, 4 horas.
Módulo 4. Se sugiere que el profesor lo exponga de manera presencial en dos horas de docencia
directa y que el estudiante le dedique, como mínimo, 4 horas.
Módulo 5. Se sugiere que el profesor lo exponga de manera presencial en dos horas de docencia
directa y que el estudiante le dedique, como mínimo, 4 horas.
Módulo 6. Se sugiere que el profesor lo exponga de manera presencial en dos horas de docencia
directa y que el estudiante le dedique, como mínimo, 4 horas.
Módulo 7. Se sugiere que el profesor lo exponga de manera presencial en dos horas de docencia
directa y que el estudiante le dedique, como mínimo, 4 horas.
Módulo 8. Se sugiere que el profesor lo exponga de manera presencial en dos horas de docencia
directa y que el estudiante le dedique, como mínimo, 4 horas.
Módulo 10. Se sugiere que el profesor lo exponga de manera presencial en cuatro horas de
docencia directa y que el estudiante le dedique, como mínimo, 8 horas.
Módulo 11. Se sugiere que el profesor lo exponga de manera presencial en cuatro horas de
docencia directa y que el estudiante le dedique, como mínimo, 8 horas.
2
Módulo 12. Se sugiere que el profesor lo exponga de manera presencial en dos horas de docencia
directa y que el estudiante le dedique, como mínimo, 4 horas.
Módulo 13. Se sugiere que el profesor lo exponga de manera presencial en dos horas de docencia
directa y que el estudiante le dedique, como mínimo, 4 horas.
Módulo 14. Se sugiere que el profesor lo exponga de manera presencial en dos horas de docencia
directa y que el estudiante le dedique, como mínimo, 4 horas.
Módulo 15. Se sugiere que el profesor lo exponga de manera presencial en dos horas de docencia
directa y que el estudiante le dedique, como mínimo, 4 horas.
Módulo 16. Se sugiere que el profesor lo exponga de manera presencial en cuatro horas de
docencia directa y que el estudiante le dedique, como mínimo, 8 horas.
Módulo 17. Se sugiere que el profesor lo exponga de manera presencial en dos horas de docencia
directa y que el estudiante le dedique, como mínimo, 4 horas.
Módulo 18. Se sugiere que el profesor lo exponga de manera presencial en cuatro horas de
docencia directa y que el estudiante le dedique, como mínimo, 8 horas.
Módulo 19. Se sugiere que el profesor lo exponga de manera presencial en cuatro horas de
docencia directa y que el estudiante le dedique, como mínimo, 8 horas.
Módulo 20. Se sugiere que el profesor lo exponga de manera presencial en cuatro horas de
docencia directa y que el estudiante le dedique, como mínimo, 8 horas.
En total son 60 horas de docencia directa por parte del profesor y 120 horas de auto estudio por
parte del estudiante. Para la evaluación del curso se sugiere la siguiente distribución.
Un 10% del examen final puede ser un trabajo sobre los módulos 22 y 23
3
CONTENIDO
MÓDULO 1 FUNCIONES DE VARIABLE REAL 1
1.1 Introducción a los métodos numéricos para calcular los ceros reales de una 1
función de una variable.
1.2 Funciones de variable real 2
1.3 Programa en Matlab para representar gráficamente una función 2
1.4 Funciones resultantes de modelos matemáticos 4
1.5 Función polinómica 8
1.6 Función racional 10
1.7 Función exponencial 12
1.8 Función senoidal 12
EJERCICIOS 13
2.1 Introducción 14
2.2 El método de bisección. 14
2.3 El método de la regla falsa 15
EJERCICIOS 16
3.1 Introducción 17
3.2 El método de iteración de punto fijo 17
3.3 Programa para iteración de punto fijo 20
3.4 Iteración de punto fijo como función 21
3.5 La técnica SOR 22
3.6 Programa SOR 24
EJERCICIOS 25
9.1 Introducción. 78
9.2 Regresión polinomial 79
9.3 Programa en Matlab para efectuar regresión polinomial 82
9.4 Regresión exponencial 84
9.5 Programa en Matlab para efectuar regresión exponencial 85
EJERCICIOS 87
10.1 Introducción 89
10.2 Programa de interpolación directa 90
10.3 Polinomios de Lagrange 92
10.4 Método de las diferencias divididas 95
10.5 Programa para interpolación por diferencias divididas 97
EJERCICIOS 99
BIBLIOGRAFÍA.
8. Mathews, John; Numerical Methods for Mathematics, Science, and Egineering, Prentice-Hall,
New Jersey, 1992
Universidad de Antioquia
Facultad de Ingeniería
Departamento de Ingeniería Electrónica
Medellín, 2011
9
MÓDULO 1
FUNCIONES DE VARIABLE REAL
Contenido
En este módulo se hace un repaso de las funciones de variable real en una variable y su
representación gráfica usando el paquete Matlab. Los temas a desarrollar son los siguientes:
1.1. Introducción a los métodos numéricos para calcular los ceros reales de una función.
1.2. Funciones de variable real
1.3. Programa en Matlab para representar
r gráficamente una función
1.4. Funciones resultantes de modelos matemáticos
1.5. Función polinómica
1.6. Función racional
1.7. Función exponencial
1.8. Función senoidal
1.1. Introducción.
Existe una gran cantidad de problemas de aplicación en ciencias e ingeniería que conduc
conducen a la
solución de una ecuación o de un sistema de ecuaciones. En este módulo trataremos las
ecuaciones con una incógnita o una variable independiente, es decir, ecuaciones de la forma
f ( x ) = 0 , donde f (x ) es una función de variable real. Geométricamente, una raíz real de una
ecuación corresponde al punto de corte de la gráfica de la función con el eje de abscisas. Una
función puede tener raíces en el campo de los números complejos. Particularmente nos interesarán
las raíces complejas de ecuaciones polinómicas. Supongamos que la figura 1.1 corresponde a la
gráfica de una función de variable real f ( x ) = 0 .
Figura 1.1
Como puede verse, la función es continua en el intervalo mostrado y tiene dos raíces reales r1 , r2 .
La primera raíz está ubicada en el intervalo: [ a , b] y la segunda está en el intervalo [b, c ] . El
teorema del valor intermedio establece que, sí la func
función
ión es continua y uno a uno en el intervalo:
[ a, b] y f ( a ) ⋅ f (b) < 0 , entonces la ecuación f ( x ) = 0 tiene una raíz real en el intervalo. Más
adelante desarrollaremos métodos numéricos para encontrar una raíz aproximada
aproximad de una ecuación
en un intervalo dado.
Definición.
Se dice que x k es una raíz aproximada de la ecuación: f ( x ) = 0 si se verifica que
x k − x E < tol , siendo tol la tolerancia o grado de aproximación
ción deseado y x E la solución
exacta. La aproximación se puede medir también en los siguientes términos f ( x k ) < tol .
10
Ejemplo 1.1
Consideremos un cuadrado de lado x y definamos las tres funciones siguientes:
a) Área del cuadrado: a(x) = x 2
Comentarios.
El área es una función cuadrática, mientras que el perímetro y la diagonal son funciones lineales.
El dominio de la función es el conjunto de los reales positivos.
positivos. En las figuras: 1.2, 1.3 y 1.4 se
representan gráficamente las tres funciones en el dominio: [0,2]
h = (b − a ) / n
Para k = 1 hasta n + 1
x = X (k )
Y ( k ) = f ( x ) : Evaluar la función.
Terminar
4) Graficar Y vs X
Ejemplo 1.2.
Usando el programa, represente gráficamente la función f ( x ) = x cos( x ) + 4 sen ( x ) − 1 , en el
intervalo 0 ≤ x ≤ 5 , con 10 subintervalos.
Solución.
Se invoca el programa graf.m y se procede a suministrar la información, así:
Abscisa inicial= 0
Abscisa final= 5
numero de intervalos= 10
entre la funcion f(x)= 'x*cos(x)+4*sin(x)-1'
>> [X' Y']
ans =
0-1.0000
0.50001.3565
1.00002.9062
1.50003.0961
2.00001.8049
2.5000-0.6090
3.0000-3.4055
3.5000-5.6807
4.0000-6.6418
4.5000-5.8587
5.0000-3.4174
12
La figura 1.5 muestra la gráfica de la función. Observe que la gráfica no es de buena calidad dado
que solo se toman 10 subintervalos. La figura 1.6 corresponde a la misma función pero con 100
intervalos. Observe las diferencias. El estudiante puede constatar que la función tiene raíces reales
[ ] [ ]
en los intervalos 0,1 y 2,3
Ejemplo 1.3.
Se tiene una lámina rectangular de dimensiones a, b . En cada esquina se recorta un cuadrado de
lado x para formar una caja sin tapa. Determine el volumen y el área total de la caja en función
de: x
Solución.
Por simple inspección, a partir de las figuras 1.7 y 1.8, se obtienen las funciones para el área y el
volumen de la caja, así:
a) Volumen: v ( x ) = x ( a − 2 x )( b − 2 x )
b) Área: a( x) = ab − 4 x 2
Para ambas funciones, el dominio es el intervalo: [0, a / 2] siempre que a < b . La figura 1.9
muestra la gráfica de la función volumen, para: a = 4, b = 6
La gráfica se obtiene corriendo el programa, así:
>>graf
Abscisa inicial= 0
Abscisa final= 2
13
0
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
Figura 1.9
El área es una función cuadrática y el volumen es una función cúbica; ambas funciones son casos
especiales de las funciones polinómicas, funciones de importancia fundamental en ingeniería y
ciencias. El estudiante puede constatar que la función volumen tiene un máximo local en el
intervalo 0.6 < x < 1 .
Ejemplo 1.4
Una cantidad de dinero: P se coloca en una corporación de ahorro a una tasa de interés
compuesto continuo mensual r . Encuentre una expresión matemática que permita hallar la
cantidad futura al cabo de n meses.
Solución
Hacemos el siguiente razonamiento:
Al cabo de un mes la cantidad inicial ha generado intereses por un monto de rP , con lo que la
cantidad disponible al principio del segundo mes es:
F (1) = P + rP = (1 + r ) P
F (2) = r (1 + r ) P + (1 + r ) P = (1 + r ) 2 P
Continuando con el mismo razonamiento, la cantidad de dinero al cabo de los: n meses será:
F (n) = (1 + r ) n P
%Programa para representar gráficamente dos funciones de una variable en el intervalo: [a,b],
% con N subintervalos
clearall
% Entrada de la informacion
a=input('Abscisa inicial= ');
b=input('Abscisa final= ');
n=input('numero de intervalos= ');
h=(b-a)/n;
f=input('entre la funcion f(x)= ');
g=input('entre la funcion g(x)= ');
% Ahora generamos el vector de abscisas y los vectores de ordenadas
for k=1:n+1
X(k)=a+h*(k-1);
x=X(k);
Y1(k)=eval(f);
Y2(k)=eval(g);
end
2.5
r=1.5%
r=1.8%
1.5
1
0 5 10 15 20 25 30 35 40 45 50
Figura 1.10
ln (F / p )
n=
ln (1 + r )
Por ejemplo, el tiempo necesario para que una cantidad se duplique a una tasa del 1.5% mensual
es: n = 46.55 meses, es decir, 46 meses y 17 días aproximadamente. Las fórmulas deducidas se
utilizan muy a menudo en problemas de ingeniería económica y dan cuenta del valor del dinero en
el tiempo.
Ejemplo 1.5
Consideremos un triángulo rectángulo con hipotenusa c y catetos cuyas
as medidas son x, y . De
acuerdo con el teorema de Pitágoras, la medida de uno de los catetos está dada en función del
otro, así:
y ( x) = c 2 − x 2
Es claro que la longitud de un cateto es menor que la de la hipotenusa, con lo que el dominio de la
función es el intervalo 0 < x < c . La figura 1.11 muestra la gráfica de la función. Como puede
verse, corresponde a un arco de circunferencia en el primer cuadrante.
Ejemplo 1.6
Considere la figura 1.12. La medida del ángulo BAC es una función de la distancia: AO, así
θ = f (x ) . Puesto que el ángulo θ es la diferencia entre los ángulos OAC y OAB , tenemos
θ = ∠OAC − ∠OAB . Teniendo en cuenta la identidad trigonométrica:
tan(α ) − tan( β )
tan(α − β ) =
1 + tan(α ) tan( β )
ax
θ ( x) = arctan
x + (a + b)b
2
16
Abscisa inicial= 0
Abscisa final= 20
numero de intervalos= 200
entre la funcion f(x)= 'atan(x/(x^2+6))'
0.25
0.2
0.15
0.1
0.05
0
0 2 4 6 8 10 12 14 16 18 20
Figura 1.13
f ( x ) = a 0 + a1 x + a 2 x 2 + a 3 x 3 + .... + a n x n
Dónde los coeficientes son números reales en los casos de interés. La gráfica de una función
polinómica es una curva continua en el dominio de los reales, tal como se mostró en los dos
primeros ejemplos de esta sección. Las raíces reales de un polinomio son los cortes de la función
con el eje de abscisas.
La función polinómica de segundo grado tiene la forma general f ( x ) = a 0 + a1 x + a 2 x , su
2
representación gráfica es una parábola. Siempre es posible expresar la función cuadrática como el
producto de dos funciones lineales, así:
f ( x) = a 2 ( x − r1 )( x − r2 ) .
Donde: r1,r2 son números que pueden ser reales y distintos, reales e iguales o complejos
conjugados y se obtienen aplicando la fórmula general:
17
− a1 + a1 − 4a 2 a0
2
− a1 − a1 − 4a 2 a0
2
r1 = , r2 =
2a 2 2a 2
a) El discriminante de la ecuación es positivo. En este caso las raíces son reales y diferentes: r1,r 2
reales e iguales: r1 = r 2 = r
b) El discriminante de la ecuación es cero. En este caso las raíces son reales
c) El discriminante de la ecuación es negativo. En este caso las raíces son complejas conjugadas:
r1 = α − jω y r2 = α + jω . Observe que en este caso no hay cortes con el eje real.
igura 1.14
Figura Figura 1.15 Figura 1.16
Ejemplo 1.7
Considere la función
ón polinómica:
f ( x) = x 4 − 2 x 3 + x 2 − 2 x − 3
Solución.
a) Hacemos la siguiente tabla de valores.
X -2 -1 0 1 2 3
Y 37 3 -3 -5 -3 27
18
b) A partir de la tabla se observa que hay raíces reales en los intervalos: (-1,0) y (2,3)
p=
1 -2 1 -2 -3
>>roots(p)
ans =
2.2262
0.2485 + 1.3422i
0.2485 - 1.3422i
-0.7233
d) Para hallar los máximos y los mínimos encontramos la primera derivada de la función, así:
f ' ( x) = 4 x 3 − 6 x 2 + 2 x − 2
Las raíces de la primera derivada se encuentran con el Matlab, obteniendo que hay un punto crítico
en x = 1.398 . Para saber si es de máxima o de mínima hallamos la segunda derivada, así:
f ' ' ( x) = 12 x 2 − 12 x + 2
La segunda derivada evaluada en el punto crítico es f ' ' (1.398) = 8.677 , por tanto, el punto es de
mínima.
40
35
30
25
20
15
10
-5
-10
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2 2.5 3
Figura 1.17
19
Q( x)
f ( x) =
P ( x)
b0 + b1 x + b2 x 2 + ..... + bm x m
f ( x) =
a 0 + a1 x + a 2 x 2 + ..... + a n x n
( x − z1 )( x − z2 ).....( x − zm )
f ( x) = K
( x − p1 )( x − p2 ).....( x − pn )
Las raíces del numerador se denominan los ceros de la función y las del denominador son los
polos de la función. En general, tanto los ceros como los polos son números complejos.
Geométricamente, los ceros reales son los cortes de la función con el eje x, mientras que los polos
reales son asíntotas verticales de la función. El diagrama de polos y ceros es una gráfica en el
plano complejo de los polos y ceros de la función racional.
Ejemplo 1.8
Considere la función racional:
x 2 − 4x + 3
f ( x) =
x 2 − 6x + 8
a) Factorice tanto el numerador como el denominador
b) Represente gráficamente la función en el intervalo [0,5]
Solución.
a) El estudiante puede verificar que la función se puede expresar en su forma factorizada, así:
b)
f ( x) =
(x − 1)(x − 3)
(x − 2)(x − 4)
En consecuencia, la función tiene dos ceros reales y presenta asíntotas en x= 2 y x= 4
b) Ejecutamos el programa, así:
Abscisa inicial= 0
Abscisa final= 5
numero de intervalos= 513
entre la funcion f(x)= '(x^2-4*x+3)/(x^2-6*x+8)'
20
20
15
10
-5
-10
-15
-20
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Figura 1.18
Ejemplo 1.9
Un cuerpo que tiene inicialmente una temperatura: Ti se introduce en un medio que tiene una
temperatura T f . Se puede demostrar que la temperatura del cuerpo en todo instante: t > 0 está
dada por:
T (t ) = T f + (Ti − T f )e −t / τ
a) τ = 1 , Ti = 0 y T f = 1
b) τ = 1 , Ti = 1 y T f = 0
Solución.
Ejecutamos el programa modificado, así:
>> graf2
Abscisa inicial= 0
Abscisa final= 5
numero de intervalos= 100
entrelafuncion f(x)= '1-exp(-x)'
entre la funcion g(x)= 'exp(-x)'
21
1
1-exp(-x)
0.9 exp(-x)
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Figura 1.19
1.6. Función senoidal.
La sinusoide es una función cuya forma general, para la variable independiente tiempo, es la
siguiente.
f (t ) = Asen(ωt + ϕ )
En la expresión anterior, tenemos:
Amplitud de la sinusoide A . Tiene las unidades de la función.
Frecuencia angular de la sinusoide ω . Se mide en radianes sobre segundo
Fase de la sinusoide ϕ . Se mide en radianes.
La figura 1.20 ilustra la gráfica de la sinusoide f (t ) = 5sen(πt ) , en el intervalo: [-3,3]
-1
-2
-3
-4
-5
-3 -2 -1 0 1 2 3
Figura 1.20
EJERCICIOS 1.
1) Considere la función: f ( x) = 8 x 4 − 8 x 2 + 1
a) Determine las raíces de la ecuación f ( x ) = 0
b) Determine los puntos de máxima y de mínima.
c) Represente gráficamente la función.
22
x3 − x
2) Considere la función: f ( x ) =
( x 2 − 4)( x 2 − 9)
a) Escríbala en su forma factorizada
b) Represente gráficamente la función.
2(1 − e − x )
3) Considere la función: f ( x) =
2 + e−x
a) Represente gráficamente la función.
b) Determine el valor de x para que la función sea igual a un medio.
d) f ( x ) = 1 − x + x − x + x
2 3 4
−x
e) f ( x ) = x cos( x ) + e
23
MÓDULO 2
RAÍCES DE ECUACIONES. MÉTODOS CERRADOS
Contenido
En este módulo se presentan los métodos numéricos cerrados más comunes para hallar una raíz
real aproximada de una ecuación de una variable. Los temas a desarrollar son los siguientes:
Figura 2.1
lim{x k } = x E
x →∞
Ahora bien, ya que es imposible que el contador se extienda hasta el infinito, se opta por encontrar
un valor aproximado xn , de tal manera que x n − x n −1 < tol , o también f ( x n ) < tol . En la
n − ésima iteración, la raíz estará en el intervalo: (b − a ) / 2
n
24
Ejemplo 2.1
Considere la ecuación: x + 2 x − 4 x + 3 = 0
3 2
Solución
Evaluando la función en los extremos del intervalo, se tiene que f (−4) = −13 , f (−3) = 6 , es
decir, hay un cambio de signo y por tanto se tiene una raíz en el intervalo.
Resolviendo el problema con la ayuda de la calculadora para generar las diferentes sucesiones,
con el siguiente seudo código:
a = −4 , b = −3 , k = 1 , tol = 0.001, M = 10
1) x = ( a + b) / 2
2) Sí f ( x) < tol , entonces: raiz = x
3) Sí k = M , entonces: raiz = x
4) Sí f ( x) ⋅ f (a ) < 0 , entonces: b = x , en caso contrario a = x
5) k = k + 1 , ir a 1)
Se genera la siguiente tabla:
k ak bk f (a k ) f (bk ) xk f ( xk ) bk − a k
1 -4 -3 -13 6 -3.5 -1.375 1
2 -3.5 -3 -1.375 6 -3.25 2.797 0.5
3 -3.5 -3.25 -1.375 2.797 -3.375 0.8379 0.25
4 -3.5 -3.375 -1.375 0.8379 -3.438 -0.2449 0.025
5 -3.438 -3.375 -0.2449 0.8379 -3.406 0.3132 0.0125
6 -3.438 -3.406 -0.2449 0.3132 -3.422 0.0363 0.00625
7 -3.438 -3.422 -0.2449 0.0363 -3.43 -0.1038 0.003125
8 -3.43 -3.422 -0.1038 0.0363 -3.426 -0.0336 0.001563
9 -3.426 -3.422 -0.0336 0.0363 -3.424 0.0013 0.000781
10 -3.426 -3.424 -0.0336 0.0013 -3.425 -0.0016 0.000390
Puede observarse que la solución mas aproximada es: x10 = −3.425
Figura 2.2
La pendiente de la recta que une a los extremos del intervalo viene dada por
m = ( f (b) − f (a)) / (b − a ) . La pendiente también se puede calcular como m = − f (a) / ( x1 − a ) .
f ( a)(b − a )
Con base en lo anterior, se puede escribir: x1 = a −
f (b ) − f ( a )
El algoritmo para aplicar el método es similar al de bisección, con la única diferencia que se cambia
la instrucción: x1 = (a + b) / 2 por la que se acaba de obtener. Para la siguiente iteración, la raíz
está en el intervalo [x1 , b] . En general se deben generar tres sucesiones {a k }, {bk }, {x k } , de
tal manera que:
f (a k )(bk − a k )
xk = ak −
f (bk ) − f (a k )
Ejemplo 2.2
La siguiente tabla se genera usando el método de la regla falsa para resolver la ecuación del
ejemplo anterior.
k ak bk f (a k ) f (bk ) xk f ( xk ) bk − a k
1 -4 -3 -13 6 -3.316 1.793 1
2 -4 -3.316 -13 1.793 -3.399 0.4331 0.684
3 -4 -3.399 -13 0.4331 -3.418 0.1059 0.602
4 -4 -3.418 -13 0.1059 -3.423 0.0188 0.572
5 -4 -3.423 -13 0.0188 -3.423 0.0013 0.576
6 -4 -3.424 -13 0.0013 -3.424
La ventaja del método es evidente pues se logra la misma aproximación en sólo cinco iteraciones.
Hay situaciones, sin embargo, en el que la convergencia es más lenta que en el método de
bisección, tal es el caso de ecuaciones en las que la pendiente de la recta tangente a la curva en el
intervalo es grande, es decir, f '( x ) es grande en el intervalo.
Se deja como ejercicio al estudiante elaborar un programa en Matlab para aplicar el método.
EJERCICIOS 2
Mediante los métodos de bisección y regla falsa, encuentre una raíz aproximada para cada una de
las siguientes ecuaciones. Use aritmética de cuatro dígitos y represente previamente cada función.
1) x + 3 x − 6 = 0 2) x + x − 3 = 0
3 8 3
3) x 2 + 2sen( x) − 2 = 0 4) xe − x + x − 1 = 0
5) arctan( x ) + x − 2 = 0 6) x cos( x) + 4 sen ( x ) − 1 = 0
7) e + x + sen( x ) − 2 = 0 8) x − tan( x ) − 1 = 0
x 2
MÓDULO 3
RAÍCES DE ECUACIONES. MÉTODOS ABIERTOS
Contenido
En este módulo se presenta el método de iteración de punto fijo y la técnica SOR para hallar una
raíz real aproximada de una ecuación de una variable. Los temas a desarrollar son los siguientes:
3.1. Introducción.
3.2. El método de iteración de punto fijo
3.3. Programa para iteración de punto fijo
3.4. Iteración de punto fijo como función
3.5. La técnica SOR
3.6. Programa SOR
3.1. Introducción.
A diferencia de los métodos cerrados, los métodos abiertos consisten en generar una sucesión a
partir de una semilla inicial y no se requiere que la raíz está encerrada en un intervalo
determinado, aunque es deseable tomar dicha semilla en las inmediaciones de la solución. Todos
los métodos abiertos se pueden formular mediante un valor inicial x1 y una fórmula de recurrencia:
x k +1 = g ( x k ) ; x = 1,2,3,...
A pesar de que no se requiere que la semilla esté encerrada en el intervalo, es conveniente partir
de una semilla que se encuentre justamente en dicho intervalo.
Figura 3.1
Supongamos que la función: g ( x ) es continua y posee, por lo menos, las dos primeras derivadas
continuas, en un entorno del punto x E . En tal caso, la función tendrá un desarrollo en serie de
potencias de la forma:
1
g ( x) = g ( xE ) + g ' ( xE )( x − xE ) + g ' ' ( xE )( x − xE ) 2
2
27
x2 − x E ≅ g ' ( x E )( x1 − x E )
La idea es que el valor x2 esté más cerca de la solución exacta que x1 , es decir, debe verificarse
que:
x2 − x E
<1
x1 − x E
Lo anterior significa que el valor absoluto de la pendiente de la recta tangente a la curva en las
inmediaciones de la solución sea menor que la unidad, así g ' ( xE ) < 1 .
Bajo el presupuesto que se cumpla lo anterior, podemos generar un nuevo valor para la sucesión,
así: x3 = g ( x2 ) y así sucesivamente.
En definitiva, si la raíz está en el intervalo: ( a, b) y si g (x ) es tal que g ' ( x) < 1 , entonces es muy
probable que la sucesión sea convergente. La sucesión a generar arranca con la semilla: x 1 y
tiene la ecuación de recurrencia:
xk +1 = g ( xk ) ; k = 1,2,3,...
Puesto que no es tan sencillo verificar la condición de que el valor absoluto de la pendiente en las
inmediaciones de la solución sea menor que la unidad, se opta por un criterio menos restrictivo
pero igualmente válido, así:
Sí en el intervalo: [ a, b] se verifica que el valor absoluto de la pendiente de la recta secante a la
curva: g (x ) es menor que la unidad, entonces es muy probable que la sucesión sea convergente,
esto es:
g (b) − g (a )
<1
b−a
Se está aplicando el teorema del valor medio para la derivada. La condición presentada es de
suficiencia mas no de necesidad, esto es, puede ocurrir que la condición no se cumpla y que sin
embargo la sucesión sea convergente. El criterio de paro para la sucesión será:
xk +1 − xk < tol
Ejemplo 3.1
Consideremos la función: f ( x) = x 3 + 2 x 2 − 4 x + 3
a) Represente gráficamente la función en el intervalo [− 4,0]
28
[
b) Verifique que la función tiene una raíz en el intervalo − 4,−3 ]
c) Exprese la ecuación de 6 maneras diferentes, es decir, 6 formas diferentes para la función:
g (x)
d) Verifique la condición de convergencia en cada caso.
e) En caso de garantizarse la convergencia, halle la raíz aproximada
Solución.
a) La figura 3.2 ilustra la gráfica de la función
b) En efecto, hay una raíz en el intervalo: [- 4, - 3]
15
10
-5
-10
-15
-4 -3.5 -3 -2.5 -2 -1.5 -1 -0.5 0
Figura 3.2
x3 + 2x2 + 3
i) x = g ( x) =
4
4x − 3
ii) x = g ( x ) = 2
x + 2x
− 2x2 − 3
iii) x = g ( x ) =
x2 − 4
4x − 3
iv) x = g ( x ) = −
x+2
v) x = g ( x ) = −3 2 x 2 − 4 x + 3
vi) x = g ( x) = x + 2 x − 3 x + 3
3 2
Puede verse que en cada caso, la función g ( x) es continua y derivable en el intervalo dado.
k xk g (xk )
1 -3.5 -3.462
2 -3.462 -3.443
3 -3.443 -3.434
4 -3.434 -3.429
5 -3.429 -3.427
6 -3.427 -3.426
7 -3.426 -3.425
8 -3.425 -3.425
Es claro, que la raíz aproximada, con tres cifras decimales, es: -3.425
Ejemplo 3.2
Con base en el programa, resuelva la ecuación del ejemplo anterior: x3 + 2x2 − 4x + 3 = 0
4x − 3
a) Con x = g ( x) = −
x+2
b) Con x = g ( x ) = −3 2 x 2 − 4 x + 3
Solución.
a) Ejecutamos el programa, así:
>> puntofijo
numero de iteraciones=40
limite inferior=-4
limite superior=-3
30
g(x)='-sqrt((4*x-3)/(x+2))'
En la iteración 36 se obtiene el resultado: Sol=-3.4141
ans =
-3.5000
-3.4622
-3.4432
-3.4337
-3.4289
-3.4265
-3.4253
-3.4247
-3.4244
-3.4242
sol =
-3.4242
( )
a) La función pfin a, b, g ( x ), n
La función genera la solución a partir de los argumentos. El código Matlab es el siguiente:
function raiz=pfin(a,b,g,n)
% a=input('valor inicial= ');
% b=input('valor final= ');
% n=input('numero de iteraciones= ');
% g=input('entre la funcion g(x)= ');
y(1)=(a+b)/2;
for k=1:n
x=y(k);
y(k+1)=eval(g);
end
r=y(n);
disp('raiz= ')
disp(r)
> pfin(-4,-3,'-(2*x*x-4*x+3)^(1/3)',10)
raiz=
-3.4242
( )
b) La función pfit a, b, g ( x ), tol
La función genera la solución a partir de los argumentos. En este caso, en lugar del número de
iteraciones se establece una tolerancia. El código Matlab es el siguiente:
function raiz=pfit(a,b,g,tol)
% a=input('valor inicial= ');
% b=input('valor final= ');
% tol=input('tolerancia= ');
% g=input('entre la funcion g(x)= ');
y(1)=(a+b)/2;
k=1;
x=y(k);
y(k+1)=eval(g);
while abs(y(k+1)-y(k))>tol
k=k+1;
x=y(k);
y(k+1)=eval(g);
end
r=y(k+1);
disp('raiz= ')
disp(r)
>> pfit(-4,-3,'-(2*x*x-4*x+3)^(1/3)',0.0001)
raiz=
-3.4242
Ahora, la pendiente asociada a la función: G (x) debe ser, en valor absoluto, menor que la unidad.
Lo anterior se traduce en la siguiente inecuación:
α + (1 − α ) g ' ( x) < 1
α + (1 − α )m < 1
Resolviendo la inecuación, se tiene:
− 1 < α + (1 − α )m < 1 ⇒
− 1 < α (1 − m) + m < 1 ⇒
− 1 − m < (1 − m)α < 1 − m
1) 1 − m > 0
En este caso, la inecuación queda en la forma:
−1− m
<α <1
1− m
Tomando el punto medio del intervalo, se tiene que:
1 −1 − m m
α = 1 + ⇒α =
2 1− m m −1
2) 1 − m < 0
−1− m
En este caso, la inecuación queda en la forma: >α >1
1− m
1 −1 − m m
Tomando el punto medio del intervalo, se tiene que: α = 1 + ⇒α =
2 1− m m −1
En conclusión, cualquiera que sea la pendiente de la recta secante de la función g (x) en el
intervalo ( a, b) , siempre es posible calcular un α ∈ R tal que la nueva sucesión sea convergente.
Para el valor promedio hallado para α , se tiene:
mx − g ( x)
G ( x) = ; m ≠1
m −1
Ejemplo 3.3
Considere la ecuación x + 2 x − 4 x + 3 =
3
0 , la cual tiene una raíz en: [-4,-3]. Usando la técnica
SOR, determine la solución para el caso:
4x − 3
x=−
x+2
Calculando la pendiente, se encuentra que:
g (−3) − g (−4)
m= = −0.7908
− 3 − −4
Evidentemente, puesto que el valor absoluto es cercano a la unidad, la convergencia puede ser
lenta. En efecto, sí se ejecuta el programa, la sucesión converge en la iteración número 33. Si le
aplicamos la técnica SOR, haciendo m = −0.7988 , se tiene:
33
mx − g ( x ) − 0.7908 x + (4 x − 3(/( x + 2)
G ( x) = =
m −1 − 1.7908
Sí ejecutamos el programa con la nueva función, resulta:
>> punfijo
numero de iteraciones=10
limite inferior=-4
limite superior=-3
g(x)='(0.7908*x-sqrt((4*x-3)/(x+2)))/1.7908'
ans =
-3.5000
-3.4255
-3.4241
-3.4241
-3.4241
-3.4241
-3.4241
-3.4241
-3.4241
-3.4241
-3.4241
sol = -3.4241
Ejemplo 3.4
Considere la ecuación x + 2 x − 4 x + 3 = 0 , la cual tiene una raíz en: [-4,-3]. Usando la técnica
3
g (−3) − g (−4)
m= = 5.75
− 3 − −4
Evidentemente, puesto que el valor absoluto es mayor que la unidad, la sucesión es divergente. Si
le aplicamos la técnica SOR, haciendo m = 5.75 se tiene:
x3 + 2x2 + 3
5.75 x −
mx − g ( x) 4
G ( x) = =
m −1 4.75
Sí ejecutamos el programa con la nueva función, resulta:
numero de iteraciones=10
limite inferior=-4
limite superior=-3
g(x)='(5.75*x-(x^3+2*x*x+3)/4)/4.75'
xe =
-3.5000 -3.4276 -3.4244 -3.4241 -3.4241 -3.4241 -3.4241 -3.4241 -3.4241
sol = -3.4241
EJERCICIOS
1) Considere la ecuación: x + 3x − 6 = 0
3
10e − x sen( x) − 1 = 0
4) Considere la ecuación:
a) Represente gráficamente en el intervalo [0,1]
b) Muestre que la ecuación se puede expresar en la forma x ( )
= arcsen e x / 10 , tome x1 = 0.5 y
calcule la solución por iteración de punto fijo.
c) Muestre que la ecuación se puede expresar en la forma x = 10 xe − x sen( x) , aplique la técnica
SOR y calcule la solución.
5) Considere la ecuación:tan(2 − x) − x = 0
a) Represente gráficamente en el intervalo [1,1.5]
b) Muestre que la ecuación se puede expresar en la forma x = tan(2 − x) , aplique la técnica SOR
y calcule la solución.
c) Muestre que la ecuación se puede expresar en la forma x = 2 − arctan( x ) , aplique la técnica
SOR y calcule la solución.
8) Dada la ecuación: x + x − 1 = 0
5 3
MÓDULO 4
RAÍCES DE ECUACIONES. MÉTODOS ABIERTOS
Contenido.
En este módulo se presentan los métodos de Aitken, Newton y de la secante para hallar una raíz
real aproximada de una ecuación de una variable. Adicionalmente se estudia un método para
resolver una ecuación usando el comando fzero de Matlab. Los temas a desarrollar son los
siguientes:
lim{x k } = x E
x →∞
ε k = xk − x E
ε k +1 = x k +1 − x E
ε k +1
La convergencia se garantiza sí: se mantiene menor que la unidad en la medida que k tiende
εk
a infinito. Tan importante que una sucesión sea convergente es la rapidez con que lo hace. Es
pertinente la siguiente definición:
Una sucesión: {x k } converge al valor: x E con una rapidez de convergencia α , si se verifica que:
ε
lim k +α1 = λ
x →∞ ε
k
Donde: λ es la constante de error asintótico y es menor que la unidad. En la medida en que mayor
sea α , mayor es la rapidez de convergencia.
Consideremos dos sucesiones: {xk } y { y k } que tienen el mismo error asintótico pero diferentes
rapideces de convergencia. Más concretamente, supongamos que la primera converge linealmente
y la segunda lo hace cuadráticamente; así, si denotamos por ε k el error en la primera sucesión y
por ε 'k el error en la segunda, resulta:
ε k +1 ε '
a) lim
x →∞ ε
=λ b) lim k +21 = λ
x →∞ ε '
k k
Puede verse que:
1) ε 2 = λε 1 ε 3 = λε 2 ε 3 = λ2 ε 1 ε k +1 = λk ε 1
37
k −1
ε '1 = λε '1 2 ε '3 = λε ' 2 2 ε '3 = λ3ε '1 4 ε ' k +1 k = λ2 ε '1 2
k
2)
Si en ambos casos el error inicial es la unidad y la tolerancia es la misma, se tiene que el número
mínimo de iteraciones requeridas para obtener una misma aproximación tol , es en cada caso:
a) Para la convergencia lineal λk ≥ tol , entonces:
log(tol )
k≥
log(λ )
k −1
b) Para la convergencia cuadrática λ2 ≥ tol , entonces:
log(tol )
log
log(λ )
k≥ +1
log(2)
Comparando los resultados se tiene que para que la primera sucesión alcance una tolerancia
determinada tol , el número de iteraciones debe ser:
log(tol )
n1 =
log(λ )
Veamos ahora la manera de, a partir de una sucesión convergente linealmente, generar otra
sucesión que sea más rápidamente convergente.
lim ε k +1
Supongamos que la sucesión: {x k } converge linealmente, es decir = λ , con la
k → ∞ εk
condición 0 < λ < 1 . Con base en lo anterior, podemos escribir:
ε k +1 = λε k , ε k + 2 = λε k +1
x k + 2 − x E = λ ( x k +1 − x E ) x k +1 = λ ( xk − x E )
xk +1
xk +2 − xE = ( x k +1 − x E )
xk − xE
Con base en lo anterior, obtenemos una aproximación para la solución exacta, así:
38
( x k +1 − xk ) 2
x E ≅ xk −
xk + 2 − 2 xk +1 + x k
( x k +1 − x k ) 2
x'k = xk −
xk + 2 − 2 xk +1 + x k
Para generar el primer término de la nueva sucesión se requieren tres términos de la sucesión
original. La idea es que la nueva sucesión sea más rápidamente convergente, es decir, ε ' k < ε k
para todo valor de k .
ε '
Demostraremos que: lim k = 0
k →∞ ε
k
Dado que ε ' k = x' k − x E tenemos:
ε 'k = ε k −
(ε k +1 − ε k ) 2
= εk −
ε k εk − 1 (
2 ε k +1
)
2
ε k + 2 − 2ε k +1 + ε k (
ε k εεk k+ 2 − 2 εεk k+1 + 1 )
ε k +1 ε k +2
Ahora bien, puesto que =λ y =λ se tiene que:
εk εk
( xk + 1 - xk ) 2
e 'k = xk - - xE
xk + 2 - 2 xk + 1 + xk
( xk + 1 - xE - xk + xE ) 2
= ek -
xk + 2 - xE - 2 xk + 1 + 2 xE + xk - xE
Ejemplo 4.1
Usando la técnica de Aitken, acelerar la convergencia de la sucesión:
x k +1 = −3 2 x k − 4 x k + 3 . Con: x1 = −3.5 y k ≥ 0
2
Solución.
La siguiente tabla muestra los resultados para las dos sucesiones:
k xk x' k
1 -3.5 -3.424
2 -3.462 -3.426
3 -3.443 -3.423
4 -3.434 -3.426
5 -3.429 -3.425
6 -3.427
39
Figura 4.1
f ( x) ≅ f ( x k ) + f ' ( x k )( x − x k )
De tal forma que, si se empieza con una semilla x1 se genera una sucesión rápidamente
convergente a la solución.
Ejemplo 4.2
Considere la ecuación: f ( x) = x + 2 x − 4 x + 3 = 0
3 2
Solución.
Usando el programa graficador, hacemos la gráfica de la figura 4.2 en la que se observa la posición
de la raíz.
40
15
10
-5
-10
-15
-4 -3 -2 -1 0 1 2
Figura 4.2
Para encontrar la solución aproximada, le aplicamos el método y llenamos la siguiente tabla.
k xk f ( xk ) f ' ( xk ) f ( xk ) / f ' ( xk )
1 -4 -13 28 -0.4643
2 -3.5357 -2.0555 19.3610 -0.1062
3 -3.4295 -0.0958 17.5672 -0.0055
4 -3.4241 -0.0002 17.4768 -1.4E-5
Se aconseja tomar la semilla en las inmediaciones de la raíz, ya que una semilla mal tomada
puede conducir a que la sucesión sea divergente.
Rapidez de convergencia
Tal como se aprecia en el ejemplo anterior, el método de Newton-Raphson converge rápidamente
a la solución. Demostraremos que la convergencia es cuadrática, es decir, que se cumple que:
ε
lim k +21 = λ
k →∞ ε
k
Partamos de la fórmula de recurrencia:
f ( xk )
x k +1 ≅ x k −
f ' ( xk )
Ahora bien, cuando se hace una aproximación lineal de una función, se comete un error que es
proporcional a la segunda derivada de la función, así:
f ' ' (ω )
f ( x) = f ( x E ) + f ' ( x E )( x − x E ) + (x − xE )2
2!
El último término es el error cometido. Al evaluar la primera derivada de la función, a partir de la
serie, se tiene:
f ' ( x) = f ' ( x E ) + f ' ' (ω )( x − x E )
ε k +1 f ' ' (ω )
=
εk 2
2[ f ' ( x E ) + f ' ' (ω )ε k ]
Puesto que las raíces de u (x ) son las mismas raíces de f (x) le aplicamos el método de
Newton-Raphson a la primera ecuación, así:
u( xk ) f ( xk ) f ' ( xk )
x k +1 = x k − = xk −
u' ( xk ) [ f ' ( x k )]2 − f ( x k ) f ' ' ( xk )
El inconveniente que presenta el método es el de que es necesario evaluar la segunda derivada de
la función.
Ejemplo 4.3
Usando el método de Newton-Raphson y el método de Newton mejorado, encuentre una raíz
negativa para la ecuación: f ( x) = 49 x − 56 x − 75 x − 18 = 0
3 2
En sí mismos, los resultados son bastante claros. En el caso que nos ocupa, la ecuación tiene una
4
raíz doble en x= ≅ 0.4286 es decir, el método de Newton mejorado no sólo converge más
7
rápidamente, sino que proporciona un valor más exacto
clear all
tol=input('tolerancia= ');
a=input('limite inferior= ');
b=input('limite isuperior= ');
f=input('entre f(x)= ');
Df=input('entre Df(x)= ');
y(1)=(a+b)/2;
k=1;
x=y(k);
y(k+1)=y(k)-eval(f)/eval(Df);
while abs(y(k+1)-y(k))>tol
k=k+1;
x=y(k);
y(k+1)=y(k)-eval(f)/eval(Df);
end
43
r=y(k+1);
disp('raiz= ')
raiz=r
function Raiz=newf(X,f,Df,tol)
% s=input('semilla= ');
% tol=input('tolerancia= ');
% f=input('entre la funcion f(x)= ');
% Df=input('entre la derivada de la funcion Df(x)= ');
y(1)=X;
k=1;
x=y(k);
y(k+1)=y(k)-eval(f)/eval(Df);
while abs(y(k+1)-y(k))>tol
k=k+1;
x=y(k);
y(k+1)=y(k)-eval(f)/eval(Df);
end
r=y(k+1);
Raiz=r;
Ejemplo 4.4
Encuentre una raíz aproximada en el intervalo: [0,1] para la siguiente ecuación, usando aritmética
de cuatro dígitos:
44
x 2 sen( x) + xe x − 3 = 0
k xk f ( xk ) mk f ( xk ) / mk
1 0 -3 xxxxx xxxxx
2 1 0.5598 3.5598 0.1573
3 0.8428 -0.5126 6.8219 -0.0751
4 0.9179 -0.0323 6.3955 -0.0051
5 0.9230
Fzero(‘función’,semilla)
Ejemplo 4.5
Encuentre una raíz aproximada en el intervalo: [0,1] para la siguiente ecuación, usando fzero.
x 2 sen( x) + xe x − 3 = 0
Solución.
Tomaremos dos semillas, así:
a) Semilla1: x=0
>> fzero('x^2*sin(x)+x*exp(x)-3',0)
ans =
0.9227
a) Semilla2: x=1
>> fzero('x^2*sin(x)+x*exp(x)-3',1)
ans =
0.9227
P( x) = a n x n + a n −1 x n −1 + ... + a 2 x 2 + a1 x + a 0
45
Con base en el teorema fundamental del álgebra se demuestra que el polinomio tiene exactamente
n ceros en el campo de los complejos. Particularmente, los ceros complejos de un polinomio de
coeficientes reales viene en parejas conjugadas. Los ceros de un polinomio de segundo grado se
encuentran aplicando la fórmula del bachiller. Si bien hay fórmulas para calcular los ceros de
polinomios de tercero y cuarto grado, lo que se hace es aplicar métodos numéricos para encontrar
ceros aproximados. Existen varios métodos para calcular ceros de polinomios, entre los que cabe
mencionar: Método de Lin, Método de Bairtow, Método de Muller, Método de Horner. En este
trabajo se presentará solamente la función roots de Matlab para calcular las raíces. La función
puede usarse también para calcular los ceros de polinomios de coeficientes complejos. Para
encontrar las raíces del polinomio P( x) = a n x n + a n −1 x n −1 + ... + a 2 x 2 + a1 x + a 0 se genera un
vector de coeficientes p = [a n , a n −1 ,...a 2 , a1 , a 0 ] y luego se ejecuta roots(p). Más adelante, en el
módulo 7 se presentará el método de Newton para hallar las raíces de un polinomio.
Ejemplo 4.7.
Determine todas las raíces del polinomio del ejemplo 4.2.
Solución.
El polinomio es f ( x ) = x + 2 x − 4 x + 3
3 2
p=
1 2 -4 3
>> roots(p)
ans =
-3.4241
0.7120 + 0.6076i
0.7120 - 0.6076i
Ejemplo 4.8.
Determine las raíces del polinomio f ( x) = x 5 − 2 x 3 + 4 x − 5
Solución.
Procediendo con Matlab, se tiene:
>> p=[1 0 -2 0 4 -5]
p=
1 0 -2 0 4 -5
>> roots(p)
ans =
-1.4234 + 0.8394i
-1.4234 - 0.8394i
1.3538
0.7465 + 0.8918i
0.7465 - 0.8918i
46
EJERCICIOS
Mediante los métodos de Newton, secante y fzero, encuentre una raíz aproximada para cada una
de las siguientes ecuaciones. Use aritmética de cuatro dígitos.
1) x 3 + 3x − 6 = 0
2) x + x − 3 = 0
8 3
3) x + 2sen( x) − 2 = 0
2
−x
4) xe + x − 1 = 0
5) arctan( x) + x − 2 = 0
7) Verifique que las siguientes sucesiones son convergentes y acelere su convergencia usando el
método de Aitken
10 + 10 sen( x k )
a) x k +1 =
1 + xk
xk + 1
2
b) x k +1 =
xk + 2
2
Usando los métodos de Newton-Raphson, secante y fzero, encuentre una raíz real para cada una
de las siguientes ecuaciones:
8) x + x − 6 = 0
3
9) x 2 + 2sen( x) − 2 = 0
−x
10) xe + x − 1 = 0
11) x + a tan( x) − 2 = 0
12) x7 + x3 − 3 = 0
13) 49 x + 42 x + 58 x + 42 x + 9
4 3 2
14) 9 x − 3 x + x − 8 x + 4
4 3 2
16) x 2 ln( x) + e x − 3 = 0
17)
1
16
(
231x 6 − 315 x 4 + 105 x 2 − 5 )
18) x + x − 3 = 0
7 3
19) 49 x + 42 x + 58 x + 42 x + 9
4 3 2
20) 9 x − 3 x + x − 8 x + 4
4 3 2
47
MÓDULO 5
SISTEMAS DE ECUACIONES LINEALES
Contenido
En este módulo se presentan, muy resumidamente, los métodos directos de solución de un sistema
lineal de ecuaciones. Los temas a desarrollar son los siguientes:
5.1. Introducción.
Un sistema de n ecuaciones lineales con n incógnitas presenta la forma general:
Para un sistema de orden cuatro, la matriz aumentada y la matriz triangular, vienen dadas por:
48
Para el sistema de segundo orden, mediante el procedimiento de sustitución hacia atrás, se tiene:
Para el sistema de orden cuatro, mediante el procedimiento de sustitución hacia atrás, se tiene:
x 4 = b' 4 ,
x3 = b'3 −a '34 x 4 ,
x 2 = b' 2 −a ' 24 x 4 − a ' 23 x3
x1 = b'1 −a '14 x 4 − a '13 x3 − a '12 x 2
En el proceso de encontrar la matriz triangular se hacen operaciones entre filas, tales como
combinaciones lineales entre filas, cuidando que no aparezcan ceros sobre la diagonal. Cuando
ocurra un cero en la diagonal se procede a intercambiar la fila correspondiente por otra en la que el
pivote sea diferente de cero.
Ejemplo 5.1
Para el siguiente sistema, encuentre la matriz triangular asociada y la solución.
2x + 3 y + 4z = 5
3x + 2 y − z = 3
4x − 3 y + 2z = 1
Solución.
A continuación se muestra la matriz aumentada y la que se obtiene al dividir cada fila por el
coeficiente de la primera variable.
2 3 45 1 3/ 2 2 5/ 2
3 2 − 13 1 2/3 − 1/ 3 1
4 −3 21 1 − 3/ 4 1/ 2 1/ 4
1 3/ 2 2 5/ 2
0 − 5/ 6 − 7 / 3− 3/ 2
0 − 9/ 4 − 3/ 2 − 9/ 4
1 3/ 2 2 5/ 2 1 3/ 2 2 5/ 2
0 1 14 / 5 9 / 5 0 1 14 / 5 9/5
0 1 2/3 1 0 0 − 32 / 15 − 4 / 5
1 3/ 2 2 5/ 2
0 1 14 / 5 9 / 5
0 0 1 3/8
z = 3/8 y = 3/ 4 x = 5/8
Al resolver un sistema por el método de eliminación Gaussiana pueden ocurrir tres posibles
situaciones, a saber:
a) El sistema tiene solución única, tal como ocurrió en el ejemplo anterior.
b) El sistema tiene infinitas soluciones, esto ocurre cuando las ecuaciones son linealmente
dependientes y se pone en evidencia cuando al encontrar la matriz triangular aparece una
identidad: 0 = 0
c) El sistema no tiene solución, esto ocurre cuando al encontrar la matriz triangular aparece una
contradicción 0 = numero ≠ 0 .
Ejemplo 5.2
Resuelva los siguientes sistemas de ecuaciones:
2 x + 3 y − 4 z = 12
x − 3 y + 2z = 6
x + 6 y − 6z = 6
2 x + 3 y − 4 z = 12
2) x − 3 y + 2 z = 6
x + 6 y − 6z = 8
Solución.
Procediendo de manera simultánea, tenemos:
2 3 − 4 12 2 3 − 4 12
1 −3 2 6 1 −3 2 6
1 6 −6 6 1 6 −6 8
1 3/ 2 − 26 1 3/ 2 − 26
1 −3 2 6 1 −3 2 6
1 6 − 66 1 6 − 68
50
1 3/ 2 − 26 1 3/ 2 − 26
1 −3 2 6 1 −3 2 6
1 6 − 66 1 6 − 68
1 3/ 2 − 26 1 3/ 2 − 26
0 −9/2 4 0 0 −9/2 4 0
0 9/2 − 40 0 9/2 − 42
1 3/ 2 −2 6 1 3/ 2 −2 6
0 1 − 8/90 0 1 −8/9 0
0 1 − 8/90 0 1 −8/9− 4/9
Claramente se observa que el primer sistema tiene infinitas soluciones y el segundo no tiene
solución. La mayoría de los textos de álgebra lineal presentan los algoritmos de solución de los
sistemas lineales en diferentes lenguajes de programación.
b1 a12 a13
A1 = b2 a 22 a 23
b3 a32 a33
a11 b1 a13
A2 = a 21 b2 a 23
a31 b3 a 33
a11 a12 b1
A3 = a 21 a 22 b2
a31 a32 b3
Normalmente se usa el método de los cofactores para hallar los determinantes. Aquí usaremos el
paquete Matlab para hallar los valores de los determinantes.
Ejemplo 5.3
Resuelva los siguientes sistemas de ecuaciones, usando la regla de Kramer.
2 x + 3 y + 3 z + 3w = 6
x + 3 y + w − 2 z = 12
1)
3 x − 2 y − 2 z + 3w = 6
x + 2 y − 2 z − 2 w = 2
2 x + 3 y + 3 z + 3w = 6
x + 3 y + w − 2 z = 12
2) 0
3 x − 2 y − 2 z + 3 w = 6
4 x − 2 y − 0 z + 8w =
2 x + 3 y + 3 z + 3w = 6
x + 3 y + w − 2 z = 12
3)
3 x − 2 y − 2 z + 3w = 6
4 x − 2 y − 0 z + 8w = 2
Solución.
Para el primer sistema, tenemos:
2 3 3 3
1 3 1 − 2
A=
3 − 2 − 2 3
1 2 − 2 − 2
Usando el paquete se encuentra que el determinante del sistema es A = −106 , con lo que el
sistema tiene solución única. En este caso, la solución es:
52
2 3 3 3
1 3 1 − 2
A=
3 − 2 − 2 3
4 − 2 0 8
Usando el paquete se encuentra que todos los determinantes son iguales a cero y por tanto el
sistema tiene infinitas soluciones. Para el tercer sistema el estudiante puede verificar que no tiene
solución.
Ejemplo 5.4.
Resuelva el sistema de ecuaciones: Ax = b
3 2 − 1 3
A = 2 4 5 b = 1
1 2 3 2
Solución.
Con la ayuda del paquete encontramos que A = 4 , con lo que la inversa existe y está dada por:
0.5 −2 3.5
A = − 0.25 2.5 − 4.25
−1
0 −1 2
Con base en lo anterior, la solución es:
6.5000
-6.7500
3.0000
a11 a12 0 0 x1 b1
a a 22 a 23 0 x 2 b2
21 =
0 a 32 a33 a 34 x3 b3
0 0 a 43 a 44 x 4 b4
Puede verse que de los 16 elementos de la matriz, seis son iguales a cero. En general, un sistema
tridiagonal de orden n tiene: ( n − 1)( n − 2) elementos iguales a cero, para: n ≥ 3
Lo anterior significa que si se tiene un sistema de orden diez, el número de datos significativos es
3n − 2 = 28 . Para resolver un sistema tridiagonal es conveniente usar un algoritmo que evite el
innecesario almacenamiento de los datos no significativos. A continuación presento un método que
cumple con lo planteado previamente. Supongamos que el sistema es de orden n y por tanto tiene
3n − 2 elementos significativos que se almacenan en un vector v , así:
v = [v1 v2 v3 v 4 ...... v m −1 vm ]
Dónde: m = 3n − 2
Supongamos que tenemos un sistema tridiagonal de orden cinco, de tal manera que la matriz
aumentada es la siguiente:
a11 a12 0 0 0 b1 v1 v2 0 0 0 b1
a 21 a 22 a 23 0 0 b2 v 3 v4 v5 0 0 b2
0 a 32 a33 a34 0 b3 0 v6 v7 v8 0 b3
0 0 a 43 a 44 a 45 b4 0 0 v9 v10 v11 b4
0 0 0 a54 a55 b5 0 0 0 v12 v13 b5
El algoritmo de solución consiste en encontrar ceros por debajo de la diagonal principal y unos
sobre la diagonal, así:
54
1 v ' 2 0 0 0 b'1
0 1 v'5 0 0 b' 2
0 0 1 v '8 0 b' 3
0 0 0 1 v'11 b' 4
0 0 0 0 1 b'5
A continuación se muestra una rutina en Matlab para resolver un sistema tridiagonal de orden
mayor que tres. En general, el código para resolver el sistema es el siguiente:
Entrada de datos:
n = orden
Entre los elementos de la matriz : v(i ), i = 1 : 3n − 2
Entre los elementos ter min os independientes : b(i ), i = 1 : n
Cálculos a realizar:
m = 3n − 2
b(1) = b(1) / v(1)
v(2) = v(2) / v(1)
v(1) = 1
for i = 2 : n − 1
k = 3i − 2
b(i ) = b(i ) − b(i − 1)b(k − 1)
v(k ) = v(k ) − v(k − 1)v(k − 2)
v(k − 1) = 0
b(i ) = b(i ) / v(k )
v(k + 1) = v(k + 1) / v(k )
v(k ) = 1
End
b(n) = b(n) − b(n − 1)v(m − 1)
v(m) = v(m) − v(m − 1)v(m − 2)
b( n) = b( n) / v ( m)
v ( m) = 1
v(m − 1) = 0
x ( n) = b( n)
for i = n − 1 : −1 : 1
k = 3i − 1
x(i ) = b(i ) − x(i + 1)v(k )
end
x
A continuación se muestra un programa en Matlab para resolver un sistema tridiagonal.
55
Ejemplo 5.5.
Resuelva el sistema tridiagonal:
x1 + 2 x 2 = 3
2 x1 + 3x 2 − 2 x3 = 5
x 2 + 4 x3 + 2 x 4 = 1
2 x3 − 3 x 4 + x5 = 5
x 4 + x5 − x 6 = 0
x5 − 2 x 6 = 8
56
1 2 0 0 0 0 3
2 3 − 2 0 0 0 5
0 1 4 2 0 0 1
0 0 2 − 3 1 0 5
0 0 0 1 1 − 1 0
0 0 0 0 1 − 2 8
v = [1 2 2 3 − 2 1 4 2 2 − 3 1 1 1 − 1 1 − 2]
Se puede generar una función, usando Matlab, para resolver el sistema tridiagonal. La función será
de mucha utilidad al resolver problemas con valor en la frontera por el método de las diferencias
divididas. La función, a la que llamaremos functrid, presenta tres argumentos, así:
functrid (n, v, b )
n : orden
v : vector del sistema
b : vector de ter indep
function [x]=functrid(n,v,b)
m=3*n-2;
b(1)=b(1)/v(1);
v(2)=v(2)/v(1);
v(1)=1;
for i=2:n-1
k=3*i-2;
b(i)=b(i)-v(k-1)*b(i-1);
v(k)=v(k)-v(k-1)*v(k-2);
v(k-1)=0;
b(i)=b(i)/v(k);
v(k+1)=v(k+1)/v(k);
v(k)=1;
end
b(n)=b(n)-b(n-1)*v(3*n-3);
v(3*n-2)=v(3*n-2)-v(3*n-3)*v(3*n-4);
b(n)=b(n)/v(3*n-2);
v(3*n-2)=1;
57
v(3*n-3)=0;
x(n)=b(n);
for i=n-1:-1:1
k=3*i-1;
x(i)=b(i)-x(i+1)*v(k);
end
EJERCICIOS
1) Usando los diferentes métodos directos, resuelva los siguientes sistemas de ecuaciones:
2 x + 3 y − 4 z = 12 2 x + 3 y − 4 z = 12 2 x + 3 y + 5 z = 12
x − 3 y + 2z = 6 x − 3 y + 2z = 6 x + 3 y + 2z = 6
x + 6 y − 6z = 6 x + 6 y − 6z = 8 x + 6 y − 6z = 8
x1 + 2 x2 = 3 3x1 + 2 x2 = 0
2 x1 + 3 x2 − 2 x3 = 5 2 x1 + 3 x2 − 2 x3 = 5
x 2 + 4 x3 + 2 x 4 = 1 x2 − 4 x3 + 2 x4 = 3
2 x3 − 3 x 4 + x5 = 5 2 x3 − 3x4 − 2 x5 = 5
x 4 + x5 − x 6 = 0 x4 + x5 + 3 x6 = 0
x5 − 2 x 6 = 8 3 x5 − 2 x 6 = 8
MÓDULO 6
SISTEMAS DE ECUACIONES LINEALES. MÉTODOS ITERATIVOS
Contenido.
En este módulo se presentan, muy resumidamente, los métodos iterativos de solución de un
sistema lineal de ecuaciones. Los temas a desarrollar son los siguientes:
3 1 − 2 0 1 1 2
x
1 − 4 2 3 − 1 x 2 3
2 0 3 1 − 2 x3 = 5
.
0 2 − 2 5 1 . 2
1 2
3 4 5 x 1
n
Los sistemas diagonalmente dominantes se pueden resolver numéricamente por dos métodos
diferentes, según veremos a continuación.
Con base en lo anterior resulta una ecuación matricial de la forma x = g (x) . Puede notarse la
similitud con el caso de la solución de una ecuación con una incógnita por el método de iteración
de punto fijo x = g (x ) . Recordemos que para el caso de una variable se genera la sucesión: x k
tal que x1 = semila y x k +1 = g ( x k ) con la condición de que g ' ( x) < 1 en las inmediaciones de
la solución.
Por analogía se puede pensar que se debe generar una sucesión de vectores x (k ) , tal que x (1) es
una semilla y x
( k +1)
=gx ( ( ))
k
Se están usando superíndices para el caso vectorial. La convergencia de la sucesión vectorial está
asociada al hecho de que el sistema es diagonalmente dominante. Más adelante se presentará la
justificación correspondiente. El estudiante no debe perder de vista el hecho de que el sistema
debe ser diagonalmente dominante con lo cual se garantiza la convergencia de la sucesión:
( )
x ( k +1) = g x (k )
3 − yk − zk
x k +1 =
2 x1 = 1.5000
1 − xk − 2 z k
y k +1 = y1 = −0.3333
−3
2 + xk − 2 y k z1 = 0.5000
z k +1 =
4
Algoritmo en Matlab para aplicar el método de Jacobi con número de iteraciones.
clear all
% Solucion de un sistema de orden tres diagonalmente dominante
% x=g1(y,z); y=g2(x,z); z=g3(x,y)
% n número de iteraciones
% Todas las semillas se inicializan de acuerdo con la recomendación previa
n=input('numero de iteraciones=');
g1=input('g1(y,z)=');
g2=input('g2(x,z)=');
g3=input('g3(x,y)=');
xi=input('xinicial=');
yi=input('yinicial=');
zi=input('zinicial=');
% Se genera una matriz M cuya primera fila es la semilla
M(1,1)=xi;
M(1,2)=yi;
M(1,3)=zi;
for k=1:n;
x=M(k,1);
y=M(k,2);
z=M(k,3);
M(k+1,1) = eval(g1);
M(k+1,2) = eval(g2);
M(k+1,3) = eval(g3);
end
M
>> Jacobi
numero de iteraciones=20
g1(y,z)='(3-y-z)/2'
g2(x,z)='(x+2*z-1)/3'
g3(x,y)='(2+x-2*y)/4'
xinicial=1.5
yinicial=-1/3
zinicial=1/2
ans =
1.5000 -0.3333 0.5000
1.4167 0.5000 1.0417
0.7292 0.8333 0.6042
0.7812 0.3125 0.2656
1.2109 0.1042 0.5391
1.1784 0.4297 0.7507
0.9098 0.5599 0.5798
0.9302 0.3564 0.4475
61
x 1.0300
y = 0.3781
z 0.5635
Sí se usa el paquete, la solución directa del sistema, por el método de la inversa es:
k +1
= g1( x2 , x3 , x 4 )
k k k
x1
k +1 k +1
x 2 = g 2( x1 , x3 , x 4 )
k k
k +1 k +1 k +1
x3 = g 3( x1 , x 2 , x3 )
k
k +1 k +1 k +1 k +1
x4 = g 4( x1 , x2 , x3 )
numero de iteraciones=40
g1(y,z)='(3-y-z)/2'
g2(x,z)='(x+2*z-1)/3'
g3(x,y)='(2+x-2*y)/4'
xinicial=1.5
yinicial=-1/3
zinicial=1/2
M=
Observe que la convergencia se presenta en las iteraciones 10 y 11. Las ventajas del método
saltan a la vista.
%gausetol
%Programa para resolver sistemas de orden tres diagonalmente dominantes por el método de
Gauss-Seidel
%tomando la tolerancia como criterio de paro
clear all
tol=input('tolerancia=');
xi=input('semillax= ');
yi=input('semillay= ');
zi=input('semillaz= ');
g1=input('g1(y,z)= ');
g2=input('g2(x,z)= ');
g3=input('g3(x,y)= ');
M(1,1)=xi;
M(1,2)=yi;
M(1,3)=zi;
vtol=[tol,tol,tol];
E=[1,1,1];
k=1;
while abs(E)>vtol,
x=M(k,1);
y=M(k,2);
z=M(k,3);
M(k+1,1)=eval(g1);
x=M(k+1,1);
M(k+1,2)=eval(g2);
y=M(k+1,2);
M(k+1,3)=eval(g3);
E=M(k+1,:)-M(k,:);
k=k+1;
end
M
K
Abs(E)
Al ejecutar el programa con los datos del ejemplo y tomando como tolerancia tol = 0.0001 , se
tiene:
>> gausetol3
>> gausetol3
tolerancia=0.0001
semillax= 1.5
semillay= -1/3
semillaz= 0.5
g1(y,z)= '(3-y-z)/2'
g2(x,z)= '(x+2*z-1)/3'
64
g3(x,y)= '(2+x-2*y)/4'
M=
k=
ans =
1.0e-003 *
EJERCICIOS
1) Escriba los programas para aplicar el método de Gauss-Seidel para sistemas de orden 4, tanto
para número de iteraciones como para la tolerancia.
2) Usando el algoritmo de Gauss-Seidel con n=20, resuelva los sistemas descritos a continuación.
5 x + 3 y − 4 z = 12 6 x + 3 y − 4 z = 12
1) x − 3 y + 2 z = 6 2) x − 3 y + 2 z = 6
x + 3 y − 6z = 6 x + 6 y − 8z = 8
2 x + 3 y + 5 z = 12 10 x + 3 y − 4 z = 12
3) x + 3 y + 2 z = 6 4) x − 3 y + 2 z = 6
x + 6 y − 6z = 8 x + 6 y − 8z = 6
5 x + 3 y − 4 z = 12 9 x + 3 y + 5 z = 12
5) x − 3 y + 2 z = 6 6) x + 3 y + 2 z = 6
x + y − 6z = 8 2 x + 6 y − 10 z = 8
65
x1 + 2 x 2 = 3 x1 + 3 x 2 = 6
2 x + 3 x − 2 x = 5 x + 3 x − x = 12
1 2 3 1 2 3
7) 8)
x 2 + 4 x3 + 2 x 4 = 1 x 2 + 4 x3 + 2 x 4 = 8
x3 + 3 x 4 = 6 x3 + 3 x 4 = 6
5 x1 + 2 x 2 − x3 − x 4 = 10 5 x1 + 2 x 2 − x3 − x 4 = 10
2 x + 3 x − 2 x − x = 6 3 x − 2 x − x = 6
1 2 3 4 2 3 4
9) 10)
1x + x 2 + 4 x 3 + 2 x 4 = 4 1x + x 2 + 4 x 3 = 4
x1 − x 2 + 2 x3 − 5 x 4 = 10 x1 − x 2 + 2 x3 − 5 x 4 = 10
−5
3) Resuelva los sistemas dado por Gauss-Seidel con tolerancia tol = 10
66
MÓDULO 7
SISTEMAS DE ECUACIONES NO LINEALES. MÉTODO DE NEWTON
En este módulo se presenta la solución de un sistema con una ecuación lineal y una cuadrática.
Además, se presenta el método de Newton para la solución de sistemas no lineales, tanto de
segundo como de tercer orden. Los temas a desarrollar son los siguientes:
{
regiòn = ( x, y ) ∈ R 2 / xi ≤ x ≤ xf ∧ yi ≤ y ≤ yf }
A continuación se presenta un programa simple para representar gráficamente dos relaciones en la
misma figura.
%Representación gráfica de dos relaciones del plano
clear all
% Se introducen los datos de la ventana
xi=input('abscisainicial=');
xf=input('abscisainfinal=');
yi=input('ordenadainicial=');
yf=input('ordenadainfinal=');
%Se introducen las ecuaciones
F=input('entre la funcion F(x,y)=');
G=input('entre la funcion G(x,y)=');
%Se representa gráficamente la primera
ezplot(F,[xi,xf,yi,yf])
%Se sostiene la gráfica
hold on
%Se representa gráficamente la segunda
ezplot(G,[xi,xf,yi,yf])
%Se colocan las cuadrículas
grid on
Ejemplo 7.1
Represente, en la misma figura, las relaciones:
F ( x, y ) = 2 x + y − 4
G ( x, y ) = x + 3 y − 2 xy − 3
2 2
Solución.
Se ejecuta el programa, así:
>> grarel
abscisainicial=-3
abscisainfinal=3
67
ordenadainicial=-3
ordenadainfinal=3
entre la funcion F(x,y)='2*x+y-4'
entre la funcion G(x,y)='x^2+3*y^2-2*x*y-3'
0
y
-1
-2
-3
-3 -2 -1 0 1 2 3
x
Figura 7.1
Ejemplo 7.2
La ecuación polar de una lemniscata es r 2 = a 2 cos(2θ ) , mientras que la de una cardiode es
r = a (1 + cos(θ ) ) .
a) Tomando a = 2 , escriba las ecuaciones en coordenadas cartesianas rectangulares.
b) Represente ambas curvas en la misma figura.
Solución.
a) Teniendo en cuenta las fórmulas de transformación se tiene:
Lemniscata: (x 2
+ y2 )
2
(
− 4 x2 − y2 = 0 )
Cardioide: (x 2
)
2
+ y − 2x − 4 x + y 2 = 0
2
( 2
)
b) Ejecutando el programa se tiene:
>> grarel
abscisainicial=-3
abscisainfinal=5
ordenadainicial=-3
ordenadainfinal=3
entre la funcion F(x,y)='(x^2+y^2)^2-4*(x^2-y^2)'
entre la funcion G(x,y)='(x^2+y^2-2*x)^2-4*(x^2+y^2)'
0
y
-1
-2
-3
-3 -2 -1 0 1 2 3 4 5
x
Figura 7.2
Figura 7.3
Ejemplo 7.3
Resuelva el sistema de ecuaciones:
2 x + y = 4
2
x + 3 y − 2 xy − 3 = 0
2
Solución.
Sustituyendo la recta en la curva, resulta una ecuación cuadrática para x, así:
x 2 + 3(4 − 2 x) 2 − 2 x(4 − 2 x) − 3 = 0
Al simplificar resulta: 17 x − 56 x + 45 = 0
2
A(1.3907,1.2187)
B = (1.9035,0.1931)
F ( x, y ) = 0
G ( x, y ) = 0
La figura 7.4 muestra dos curvas que se cortan en un punto, lo cual se interpreta como una
solución real del sistema de ecuaciones.
Figura 7.4
xE − xk tol1
y − y < tol 2
E k
F ( x, y ) ≅ F ( x1 , y1 ) + Fx ( x1 , y1 )( x − x1 ) + Fy ( x1 , y1 )( y − y1 )
G ( x, y ) ≅ G ( x1 , y1 ) + G x ( x1 , y1 )( x − x1 ) + G y ( x1 , y1 )( y − y1 )
Geométricamente, las aproximaciones lineales son dos rectas que se cortan en las inmediaciones
de la solución. Se trata pues de resolver el sistema de ecuaciones lineales:
Fx ( x1 , y1 ) Fy ( x1 , y1 ) x − x1 − F ( x1 , y1 )
G ( x , y ) G ( x , y ) = − G ( x , y )
x 1 1 y 1 1 y − y1 1 1
70
x2
Si denotamos la solución del sistema por y , tenemos que:
2
H 1( x1 , y1 ) H 2( x1 , y1 )
x 2 = x1 − ; y 2 = y1 −
H ( x1 , y1 ) H ( x1 , y1 )
El sistema se resolvió usando la regla de Kramer, esto es, cada variable es el cociente de dos
determinantes. En nuestro caso, tenemos:
Fx ( x1 , y1 ) Fy ( x1 , y1 )
H ( x1 , y1 ) =
G x ( x1 , y1 ) G y ( x1 , y1 )
F ( x1 , y1 ) Fy ( x1 , y1 )
H 1( x1 , y1 ) =
G ( x1 , y1 ) G y ( x1 , y1 )
Fx ( x1 , y1 ) F ( x1 , y1 )
H 2( x1 , y1 ) =
G x ( x1 , y1 ) G ( x1 , y1 )
Ejemplo 7.4
Dado el sistema de ecuaciones:
F ( x, y ) = y − x 2 − 2 x − 1 = 0
G ( x, y ) = y 2 − y + x = 0
a) Represente gráficamente
b) Encuentre la aproximación lineal para cada curva en una vecindad del punto (− 2,2)
c) Tomando como semilla el punto (− 2,2) , determine la siguiente pareja por el método de Newton.
Solución.
a) Ejecutamos el programa graficador, así:
>> grarel
abscisainicial=-4
abscisainfinal=2
ordenadainicial=-2
ordenadainfinal=4
entre la funcion F(x,y)='y-x^2-2*x-1'
entre la funcion G(x,y)='y^2-y+x'
La figura 7.5 muestra la gráfica resultante.
b) Para las aproximaciones lineales en una vecindad del punto (− 2,2) se procede de la siguiente
manera:
F ( x, y ) = y − x 2 − 2 x − 1 = 0 ⇒ F (−2,2) = 1
G ( x, y ) = y 2 − y + x = 0 ⇒ G (−2,2) = 0
Fx ( x, y ) = −2 x − 2 ⇒ Fx (−2,2) = 2
Fy ( x, y ) = 1 ⇒ Fy (−2,2) = 1
G x ( x, y ) = 1 ⇒ G x (−2,2) = 1
71
G y ( x, y ) = 2 y − 1 ⇒ G y (−2,2) = 3
Las aproximaciones lineales son:
1) Para la función F ( x, y ) : 2( x + 2) + 1( y − 2) + 1 = 0 ⇒ 2 x + y = −3
2) Para la función G ( x, y ) : 1( x + 2) + 3( y − 2) + 0 = 0 ⇒ x + 3 y = 4
c) La nueva pareja resulta de resolver el sistema lineal hallado. El resultado es (− 2.6,2.2)
y 2-y+x = 0
4
1
y
-1
-2
-4 -3 -2 -1 0 1 2
x
Figura 7.5
x k +1 xk H 1k / H k
y = y − H 2 / H
k +1 k k k
Fx ( x k , y k ) Fy ( x k , y k ) F ( xk , yk ) Fy ( x k , y k )
Hk = ; H 1k = ;
Gx ( xk , y k ) G y ( xk , yk ) G( xk , yk ) G y ( xk , y k )
Fx ( x k , y k ) F ( x k , y k )
H 2k =
Gx ( xk , y k ) G( xk , y k )
Ejemplo 7.5
Resuelva el sistema del ejemplo anterior con n = 10
Solución.
Ejecutamos el programa, así:
numero de iteraciones= 10
semilla x= -2
semilla y= 2
entre F(x,y)='y-x^2-2*x-1'
entre G(x,y)='y^2-y+x'
entre Fx(x,y)='-2*x-2'
entre Fy(x,y)='1'
entre Gx(x,y)='1'
entre Gy(x,y)='2*y-1'
ans =
-2.0000 2.0000
-2.6000 2.2000
-2.4721 2.1506
-2.4656 2.1479
-2.4656 2.1479
-2.4656 2.1479
-2.4656 2.1479
-2.4656 2.1479
-2.4656 2.1479
El inconveniente del programa consiste en que es necesario introducir, además de las funciones,
las 4 derivadas parciales. A continuación se presenta un programa modificado que solo requiere la
introducción de las dos funciones. El programa representa un ahorro importante en el tiempo de
ejecución.
%Newton2x2con sym
clear all
73
Ejemplo 7.6
Resuelva el sistema: lemniscata-Cardioide del ejemplo 7.2.
Solución.
Con base en la figura 7.2, las dos soluciones son simétricas con respecto al eje de abscisas, con lo
que se halla un de las soluciones. Para la solución del segundo cuadrante se puede tomar la
semilla xi = −0.5 , yi = 0.5 . Al ejecutar el programa con 5 iteraciones se tiene:
numero de iteraciones= 5
semilla x= -0.5
semilla y= 0.5
entre F(x,y)='(x^2+y^2)^2-4*(x^2-y^2)'
entre G(x,y)='(x^2+y^2-2*x)^2-4*(x^2+y^2)'
ans =
-0.5000 0.5000
-0.4318 0.4091
-0.3995 0.3726
-0.3926 0.3654
-0.3923 0.3651
-0.3923 0.3651
Ejemplo 7.7
Una función de variable compleja f (z ) puede expresarse mediante su parte real y su parte
imaginaria haciendo z = x + jy así:
f ( z ) = F ( x, y ) + jG ( x, y )
F ( x, y ) = 0
G ( x, y ) = 0
Para determinar las raíces se procede a representar gráficamente con el fin de determinar las
semillas y luego se aplica el método de Newton.
Con base en lo anterior, determine las raíces de la ecuación: z 3 − jz 2 + 3 z − 2 = 0
Solución.
Haciendo z = x + jy se tiene:
( x + jy ) 3 − j ( x + jy ) 2 + 3( x + jy ) − 2 ⇒
x 3 + 3 x 2 jy + 3 x( jy ) 2 + ( jy ) 3 − j ( x 2 + 2 xjy + ( jy ) 2 ) + 3 x + 3 jy − 2)
F ( x, y ) = x 3 − 3 xy 2 + 2 xy + 3 x − 2 = 0
G ( x, y ) = 3 x 2 y − y 3 − x 2 + y 2 + 3 y = 0
0
y
-1
-2
-3
-4
-5
-5 -4 -3 -2 -1 0 1 2 3 4 5
x
Figura 7.6
A partir de la gráfica se observa tres soluciones: una en el primer cuadrante, una en el segundo y
otra en el tercero.
a) En el primer cuadrante se toman las semillas xi = 0.5 , yi = 0 y se aplica el método de
Newton, así:
numero de iteraciones= 5
semilla x= 0.5
semilla y= 0
entre F(x,y)='x^3-3*x*y^2+2*x*y+3*x-2'
entre G(x,y)='3*y*x^2-y^3-x^2+y^2+3*y'
ans =
75
0.5000 0
0.5768 0.0871
0.5756 0.0814
0.5756 0.0814
ans =
-0.5000 2.0000
-0.0856 2.2772
-0.2440 2.3285
-0.2298 2.3400
-0.2300 2.3401
-0.2300 2.3401
ans =
-0.5000 -1.5000
-0.3660 -1.4189
-0.3457 -1.4212
-0.3456 -1.4216
-0.3456 -1.4216
F ( x, y , z ) = 0
G ( x, y, z ) = 0
W ( x, y, z ) = 0
Cada ecuación es una superficie del espacio. Si el sistema tiene solución, las tres superficies se
(
cortan en un punto x E , y E , z E )
Procediendo de manera similar al sistema de segundo orden, a partir de la semilla (x1 , y1 , z1 ) se
genera la tripleta (x2 , y 2 , z 2 ) , así:
76
Fx ( x1 , y1 , z1 ) Fy ( x1 , y1 , z1 ) Fz ( x1 , y1 , z1 ) x − x1 − F ( x1 , y1 , z1 )
G x ( x1 , y1 , z1 ) G y ( x1 , y1 , z1 ) G z ( x1 , y1 , z1 ) y − y1 = − G ( x1 , y1 , z1 )
W x ( x1 , y1 , z1 ) W y ( x1 , y1 , z1 ) W z ( x1 , y1 , z1 ) z − z1 − W ( x1 , y1 , z1 )
Se generan los cuatro determinantes:
Fx ( x1 , y1 , z1 ) Fy ( x1 , y1 , z1 ) Fz ( x1 , y1 , z1 )
H = G x ( x1 , y1 , z1 ) G y ( x1 , y1 , z1 ) G z ( x1 , y1 , z1 )
W x ( x1 , y1 , z1 ) W y ( x1 , y1 , z1 ) W z ( x1 , y1 , z1 )
F ( x1 , y1 , z1 ) Fy ( x1 , y1 , z1 ) Fz ( x1 , y1 , z1 )
H 1 = G ( x1 , y1 , z1 ) G y ( x1 , y1 , z1 ) G z ( x1 , y1 , z1 )
W ( x1 , y1 , z1 ) W y ( x1 , y1 , z1 ) W z ( x1 , y1 , z1 )
Fx ( x1 , y1 , z1 ) F ( x1 , y1 , z1 ) Fz ( x1 , y1 , z1 )
H 2 = G x ( x1 , y1 , z1 ) G ( x1 , y1 , z1 ) G z ( x1 , y1 , z1 )
W x ( x1 , y1 , z1 ) W ( x1 , y1 , z1 ) Wz ( x1 , y1 , z1 )
Fx ( x1 , y1 , z1 ) Fy ( x1 , y1 , z1 ) F ( x1 , y1 , z1 )
H 3 = G x ( x1 , y1 , z1 ) G y ( x1 , y1 , z1 ) G ( x1 , y1 , z1 )
W x ( x1 , y1 , z1 ) W y ( x1 , y1 , z1 ) W ( x1 , y1 , z1 )
x 2 = x1 − H 1 / H
y 2 = y1 − H 2 / H
z 2 = z1 − H 3 / H
El algoritmo de solución se puede escribir a partir del correspondiente a los sistemas de dos por
dos. Un problema a resolver es la escogencia de la semilla. Para tal efecto se recomienda eliminar
una de las incógnitas y representar gráficamente el sistema de dos ecuaciones con dos incógnitas.
Gy=diff(G,'y');
Gz=diff(G,'z');
Wx=diff(W,'x');
Wy=diff(W,'y');
Wz=diff(W,'z');
xe(1)=xi;
ye(1)=yi;
ze(1)=zi;
for k=1:n
x=xe(k);
y=ye(k);
z=ze(k);
H=[eval(Fx),eval(Fy),eval(Fz);eval(Gx),eval(Gy),eval(Gz);eval(Wx),eval(Wy),eval(Wz)];
Hx=[eval(F) eval(Fy) eval(Fz);eval(G) eval(Gy) eval(Gz);eval(W) eval(Wy) eval(Wz)];
Hy=[eval(Fx) eval(F) eval(Fz);eval(Gx) eval(G) eval(Gz);eval(Wx) eval(W) eval(Wz)];
Hz=[eval(Fx) eval(Fy) eval(F);eval(Gx) eval(Gy) eval(G);eval(Wx) eval(Wy) eval(W)];
xe(k+1)=xe(k)-det(Hx)/det(H);
ye(k+1)=ye(k)-det(Hy)/det(H);
ze(k+1)=ze(k)-det(Hz)/det(H);
end
[xe' ye' ze']
Ejemplo 7.8
Determine una solución para el siguiente sistema de ecuaciones:
3 x + y + z − 3 = 0
x + y − 4 = 0
2
x − 2 y + z − 1 = 0
2
Solución.
Eliminemos la variable z igualando las ecuaciones 1 y 3, así:
(3 − 3x − y )2 = 1 − x + 2 y
La ecuación obtenida, junto con la segunda, nos lleva al sistema:
F ( x, y ) = (3 − 3 x − y ) 2 − 1 + x − 2 y
G ( x, y ) = x + y 2 − 4
La figura 7.7 ilustra la gráfica correspondiente. Puede verse que se tienen dos soluciones: una en
el primer cuadrante y otra en el segundo. La semilla en el primer cuadrante puede ser
xi = 1, yi = 2 . La semilla para z se obtiene de cualquiera de las ecuaciones del sistema original.
78
x+y 2-4 = 0
5
0
y
-1
-2
-3
-4
-5
-5 -4 -3 -2 -1 0 1 2 3 4 5
x
Figura 7.7
ans =
EJERCICIOS.
Usando el método de Newton determine una solución para cada uno de los siguientes sistemas.
x 2 + 2 x + y 2 + y = 8 x 2 + 2 x + y 2 + y = 4
1) 2 2) 2
x + x − y 2 + 3 y = 0 x + x − y 3 = 0
x 2 + 2 y + y 2 + y = 4
3)
x 2 + x − y 3 − 2 = 0
4) Determine las raíces de la ecuación: z 3 − z 2 + 3 z + sen( z ) = 0
79
2 x 2 + y − z = 1 x 2 + y + z = 2
5) x + y − z = 2 6) x + e − z = 2
2 y
2 x + y + z 2 = 3 2 x + y + z 2 = 3
x 2 + y + z = 1 x 2 + sen( y ) + z = 1
7) x + y − z = 2 8) x + y − z = 2
2 2
x − y + z 2 = 4 cos( x) − y + z 2 = 4
80
MÓDULO 8
SISTEMAS DE ECUACIONES NO LINEALES. MÉTODOS DE JACOBI Y
GAUSS-SEIDEL
En este módulo se presenta la solución de un sistema no lineal diagonalmente dominante, por los
métodos de Jacobi y Gauss-Seidel.
x = g 1 ( x, y )
y = g 2 ( x, y )
Se dice que el sistema es diagonalmente dominante si se verifica que la norma euclidiana del
gradiente de cada función es menor que la unidad en las inmediaciones de la solución.
Ejemplo 8.1
Un sistema viene dado por:
4− y
x =
2
y = 3 + 2 xy / 2
Determine el gradiente de cada función.
Solución.
1
a) Para la primera función se tiene: ∇x = − µ y
2
Es claro que la norma del vector es menor que la unidad.
∇y =
1
4 2 xy + 3
(2 y µ x + 2xµ y )
La norma del gradiente es:
1 x2 + y2
∇y =
2 2 xy + 3
Puede verse que en las inmediaciones del punto (1,1) la norma es menor que la unidad. Lo mismo
ocurre en el punto (2,0) . Ver la figura 8.1.
8.2. Solución iterativa de un sistema de segundo orden.
Supongamos que el siguiente sistema es diagonalmente dominante:
81
x = g 1 ( x, y )
y = g 2 ( x, y )
El método consiste en generar dos sucesiones {xk }, {y k } a partir de una semilla (x1 , y1 ) y usando
las fórmulas de recurrencia:
x k +1 = g1 ( xk , y k )
y k +1 = g 2 ( x k +1 , y k )
Ejemplo 8.2.
Consideremos el sistema de ecuaciones dado a continuación:
F ( x, y ) = 2 x + y − 4 = 0
G ( x, y ) = 4 y − 2 xy − 3 = 0
2
4− y
x =
2
y = 3 + 2 xy / 2
4 y2-2 x y-3 = 0
5
0
y
-1
-2
-3
-4
-5
-5 -4 -3 -2 -1 0 1 2 3 4 5
x
Figura 8.1
M=
1.0000 1.0000
1.5000 1.2247
1.3876 1.2648
1.3676 1.2708
1.3646 1.2716
1.3642 1.2718
1.3641 1.2718
1.3641 1.2718
F1 ( x, y, z ) = 0
F2 ( x, y, z ) = 0
F ( x, y , z ) = 0
3
83
Se dice que la variable x domina en la primera ecuación sí la función, en valor absoluto, crece en
la medida que el valor absoluto de la variable crece. A manera de ejemplo, la variable x domina en
la siguiente ecuación:
x 2 + 30 y + sen( z ) = 0
El sistema dado es diagonalmente dominante sí una de las variables domina en cada ecuación. El
siguiente sistema es diagonalmente dominante:
3x + y + z − 3 = 0
x + 4y2 − 4 = 0
x − 2y + z 2 −1 = 0
x = G1 ( y, z )
y = G 2 ( y, z )
z = G3 ( y , z )
Para resolver iterativamente el sistema por los métodos de Jacobi y Gauss-Seidel debe cumplirse
que la norma euclidiana del gradiente de cada una de las funciones, en las inmediaciones de la
solución, sea menor que la unidad. En efecto, para el sistema del ejemplo, tenemos:
3− y − z
x = G1 ( y, z ) =
3
y = G 2 ( x, z ) = ± 4 − x
z = G3 ( x, y ) = ± 1 − x + 2 y
∂ ∂ 1 1 2
grad [G1 ] = G1 µ y + G1 µ z = − µ y − µ z ⇒ grad [G1 ] =
∂y ∂z 3 3 3
∂ ∂ 1 1
grad [G2 ] = G 2 µ x + G1 µ z = m µ y ⇒ grad [G2 ] =
∂x ∂z 2 4−x 2 4− x
∂ ∂ 1 1
grad [G3 ] = G3 µ x + G3 µ y = m µx ± µy ⇒
∂x ∂y 2 1− x + 2y 1− x + 2y
5
grad [G3 ] =
2 1− x + 2y
x k +1 = G1 ( y k , z k )
y k +1 = G2 ( x k +1 , z k )
z k +1 = G3 ( x k +1 , y k +1 )
Por comodidad, se parte de una semilla inicial (x1 , y1 , z1 ) y, para un número de iteraciones dado,
se genera una matriz de n × 3 , así:
La primera fila del arreglo se llena con las semillas dadas y las otras se llenan usando las
ecuaciones.
A continuación se presenta un código en Matlab para aplicar el método de Gauss-Seidel
clear all
% Solucion de un sistema de orden tres diagonalmente dominante
% x=g1(y,z); y=g2(x,z); z=g3(x,y)
% n número de iteraciones
n=input('numero de iteraciones=');
g1=input('g1(y,z)=');
g2=input('g2(x,z)=');
g3=input('g3(x,y)=');
xi=input('xinicial=');
yi=input('yinicial=');
zi=input('zinicial=');
% Se genera una matriz M cuya primera fila es la semilla
M(1,1)=xi;
M(1,2)=yi;
M(1,3)=zi;
for k=1:n;
x=M(k,1);
y=M(k,2);
z=M(k,3);
M(k+1,1) = eval(g1);
x=M(k+1,1);
M(k+1,2) = eval(g2);
y=M(k+1,2);
M(k+1,3) = eval(g3);
end
M
Ejemplo 8.3
Usando el método de Gauss-Seidel, encuentre una solución para el sistema siguiente, con:
y > 0, z > 0
85
3 x + y + z − 3 = 0
x + y − 4 = 0
2
x − 2 y + z − 1 = 0
2
Solución.
Con base en la información dada, debemos expresar el sistema en la forma:
3− y − z
x=
3
y = + 4−x
z = + 1− x + 2y
Ejecutando el programa, resulta:
>> Gausei
numero de iteraciones=10
g1(y,z)='(3-y-z)/3'
g2(x,z)='sqrt(4-x)'
g3(x,y)='sqrt(1-x+2*y)'
xinicial=1
yinicial=2
zinicial=1
ans =
1.0000 2.0000 1.0000
-0.2440 1.7321 2.0000
-0.4100 2.0601 2.1698
-0.4839 2.1000 2.3516
-0.5005 2.1175 2.3841
-0.5055 2.1214 2.3949
-0.5067 2.1226 2.3976
-0.5071 2.1229 2.3983
-0.5072 2.1230 2.3985
-0.5072 2.1230 2.3986
-0.5072 2.1230 2.3986
x2 + y + z − w = 3
x + y2 − z = 2
x + y + 4 z + 2w = 5
y + z + 5w = 3
86
Se sugiere proceder de la siguiente manera. Primero que todo se decide por intentar una solución
que dependa de los posibles signos de las variables. En principio suponga los signos positivos, así:
x = 3− y − z + w
y = 2−x+ z
5 − x − y − 2w
z=
4
3− y − z
w=
5
Empiece con la semilla: x = 0 y = 0 z = 0 w = 0 y aplique el algoritmo de Gauss-Seidel que
es más rápido para la convergencia:
EJERCICIOS.
Encuentre al menos una solución para cada uno de los siguientes sistemas de ecuaciones usando
los métodos de Jacobi y Gauss-Seidel.
x 2 + xy − 3 x + 2 y = 2 x 2 + xy − 3 x + 2 y = 2 x 3 + y 2 − y = 4
1) 2) 3) 2
x + 2 xy − y + y 2 + 2 = 0 x + 2 xy − y + y 2 − 3 = 0 x + y 3 − x = 4
2 x 2 + y − z = 1 x 2 + y + z = 2 x 2 + y + z = 1
4) x + y − z = 2 5) x + e − z = 2 6) x + y − z = 2
2 y 2
2 x + y + z 2 = 3 2 x + y + z 2 = 3 x − y + z 2 = 4
e x + y + z = 3 2 x + y + z = 20 4 x + y + z = 3
2
7) x + y + z = 4 8) x − 2 y + z = 2 9) x + y + z = 4
2 2 2 2
x + y 2 + e z = 1 2
x + y − 2 z = −30 x + 2 y + e = 1
2 2 z
x 2 + y = 3 x 2 + y − z = 3 x 2 + 2x + 4 y = 3
2 2 2
y + z = 4 y + 2y + z = 4 y + z = 4
10) 11) 12)
x + y + z = 6 x + y + 5z = 6 x + y + 5z = 6
2
x − 3 y + 4w = 5 x − 3 y + 4w = 5 x − 3 y + 4w = 5
x 3 + 2 x + y 2 + y = 8
2
x + x − y 3 + 3 y = 0
MÓDULO 9.
REGRESIÓN POLINOMIAL Y AJUSTE DE CURVAS
Contenido.
En este módulo se presenta el tema de la regresión polinomial, al igual que la regresión
exponencial. Los temas a desarrollar son los siguientes:
9.1. Introducción.
9.2. Regresión polinomial
9.3. Programa en Matlab para efectuar regresión polinomial
9.4. Regresión exponencial
9.5. Programa en Matlab para efectuar regresión exponencial.
9.1. Introducción.
En diversos problemas de ingeniería, sobre todo en aquellos que son el resultado de un
experimento, es necesario encontrar una expresión matemática que relacione a la variable
dependiente con una variable independiente. Supongamos que la variable independiente es x y la
variable independiente es y . La relación entre las variables es una función de la forma:
y = f (x)
El caso es que no se tiene una expresión matemática para la función sino una tabla de valores, de
la forma:
k 1 2 3 4 ... n
xk x1 x2 x3 x4 ... x n
yk y1 y2 y3 y4 ... y n
Nuestro objetivo consiste en encontrar una función que mejor se ajuste a los datos dados, es decir,
una función cuya representación gráfica sea una curva que se acerque de la mejor manera a los
datos dados. La figura 9.1 ilustra un conjunto de cinco puntos del plano y dos posibles curvas de
aproximación, una de las cuales es una recta.
Figura 9.1
Puede verse que el dato ( x1 , y1 ) está separado de la recta y = f (x) una distancia:
ε 1 = y1 − f ( x1 )
El anterior es el error absoluto que se comete en el punto cuando la función se aproxima mediante
la recta. Para un punto genérico ( x k , y k ) , el error absoluto viene dado por:
88
ε k = yk − f ( xk )
De otro lado, el error absoluto que se comete cuando la función se aproxima mediante la curva,
viene dado por:
εˆk = y k − g ( x k )
Intuitivamente, la mejor aproximación es aquella en la que se comete el menor error posible. Para
hacer un tratamiento adecuado del tema, se presenta la siguiente definición:
ET
El error cuadrático medio viene dado por: E rms =
n
Para determinar los coeficientes del polinomio se procede minimizando la función de error, la cual
puede expresarse como:
n
ET = ∑ [ y k − (a1 + a 2 x k + a3 x k + ... + a m +1 x k )]2
2 2 m
k =0
Para minimizar la función se procede de la manera usual, es decir, se deriva la función con
respecto a cada una de las incógnitas y se iguala a cero, resultando un sistema de m + 1
ecuaciones lineales. La más popular de las regresiones es la lineal, la cual consiste en determinar
la recta que mejor se ajusta a un conjunto de puntos. La regresión lineal se aplica en muchos
casos, sobre todo cuando los datos no están muy dispersos. Para datos muy dispersos es
conveniente aumentar el grado de la regresión.
Ejemplo 9.1
Se conocen 4 datos de una función, así:
x = [0,1,2,3]
y = [−2,0,1,2]
Determine la recta que mejor se ajusta a los datos dados.
Solución.
La ecuación de la recta viene dada por f (t ) = a1 + a 2 t . El error cuadrático total viene dado por
4
ET = ∑ [ y k − (a1 + a 2 x k )] 2 . Para minimizar el error cuadrático total se deriva con respecto a
2
k =1
las incógnitas a1 y a 2 y se escribe un sistema de dos ecuaciones con dos incógnitas, así:
89
∂ 4
ET = ∑ 2[ y k − (a1 + a 2 x k )](− 1) = 0
2
a1 k =0
∂ 4
ET = ∑ 2[ y k − (a1 + a 2 x k )](− x k ) = 0
2
a2 k =0
4 0 4
4 0
∑ x k ∑x a1 ∑
1
k xk yk
El sistema organizado queda como: k =41 k =1
4 = 4 k =1
x1 2 a 2 x 1y
∑ ∑ ∑
x
k =1
k
k =1
k
k =1
k k
k xk yk xk
2
xk y k
1 0 -2 0 0
2 1 0 1 0
3 2 1 4 2
4 3 2 9 6
4
∑
k =1
6 1 14 8
4 6 a1 1
El sistema a resolver es: 6 14 a = 8
2
2.5
1.5
0.5
-0.5
-1
-1.5
-2
0 0.5 1 1.5 2 2.5 3
Figura 9.2.
Resolviendo el sistema se encuentra que la recta que mejor se ajusta a los datos es
f (t ) = −1.7 + 1.3t
90
∑ ∑ xk ∑x ... ∑ x k ∑
M +1 M +2 m
k =1
k
k =1 k =1
k
k =1
k =1
Ejemplo 9.2
Determine la parábola que mejor se ajuste a los datos del ejemplo anterior.
Solución.
El polinomio a determinar es de segundo grado f (t ) = a1 + a 2 t + a3t 2 , para lo cual se debe
resolver el sistema:
4 0 4 4
4 0
∑ x k ∑x ∑x ∑ x k y k
1 2
k k
k =41 k =1 k =1
a1 k =41
3
4 4
x1 x k a 2 = ∑ x k y k
∑ ∑x ∑
2 1
k =1
k
k =1
k
k =1
4 2 4 4 a3 k4=1
∑ x k ∑x 3
∑ xk
4
∑ x k 2 y k
k =1 k =1
k
k =1 k =1
k xk yk xk
2
xk
3
xk
4
xk yk 2
xk yk
1 0 -2 0 0 0 0 0
2 1 0 1 1 1 0 0
3 2 1 4 8 16 2 4
4 3 2 9 27 81 6 18
4
∑k =1
6 1 14 36 98 8 22
91
Resolviendo el sistema se encuentra que la parábola que mejor se ajusta a los datos es
for k=1:n
e(k)=(y(k)-z(k))^2;
end
et=0;
for k=1:n
et=et+e(k);
end
ecm=sqrt(et)/n;
ecm
Ejemplo 9.3
Usando el programa, determine la parábola que mejor se ajuste a los datos del ejemplo anterior y
represente gráficamente.
Solución.
Se ejecuta el programa, así:
> regresi
Numero de datos =4
Grado del polinomio =2
vector de abscisas=[0 1 2 3]
vector de ordenadas=[-2 0 1 2]
ans =
ecm =
0.0559
La figura 9.3 ilustra la gráfica de los datos y la parábola. Intuitivamente se observa que la regresión
cuadrática conduce a un menor error que la regresión lineal.
1.5
0.5
-0.5
-1
-1.5
-2
0 0.5 1 1.5 2 2.5 3
Figura 9.3
93
f (t ) = F + ( P − F )e − at
F : es el valor final de la función
P : es el valor inicial de la función
a : es una constante asociada con la tasa de variación de la función con respecto a la variable
independiente. El inverso de a recibe el nombre de constante de tiempo de la función y se designa
como: τ = 1 / a
La regresión exponencial consiste en determinar la función exponencial que mejor se ajuste a un
conjunto de datos. El error cuadrático total que se comete al hacer la aproximación exponencial
viene dado por:
∑ [(1 − e )F + (e )P − Y ]
n n
∑ [ f ( X k ) − Yk ]
2
ET = =
2 aX k aX k
k
k =1 k =1
[( ) ( ) ]
n
ET = ∑ 1 − x X k F + x X k P − Yk
2 2
k =1
n
( ) F + ∑ (1 − x )x n
( )
n
∑ 1 − x Xk P = ∑ 1 − x X k Yk
2 Xk Xk
k =1 k =1 k =1
n
(
∑ 1 − x Xk x Xk ) n
(
) n
( )
F + ∑ x 2 X k P = ∑ x X k Yk
k =1 k =1 k =1
n
( ) n n
(
∑ 1 − x X k X k x X k F + ∑ X k x 2 X k P = ∑ x X k X k Yk ) ( )
k =1 k =1 k =1
Para resolver el sistema usamos el paquete Matlab, con la siguiente estrategia:
1. Se introducen los datos: n X Y
2. Se asigna una semilla para la variable x
3. Se hacen las siguientes asignaciones:
94
( ) ( )
n n
C11 = ∑ 1 − x X k , C12 = ∑ 1 − x X k x X k
2
k =1 k =1
( )
n n
C 21 = ∑ 1 − x X k , C 22 = ∑ x 2 X k
2
k =1 k =1
( )
n n
B1 = ∑ 1 − x X k Yk , B 2 = ∑ x X k Yk
k =1 k =1
Se calculan F y P , así:
B1 C12 C11 B1
B 2 C 22 C 21 B 2
F= ; P=
C11 C12 C11 C12
C 21 C 22 C 21 C 22
( ) ( ) ( )
n n n
alfa = ∑ 1 − x X k X k x X k ; beta = ∑ X k x 2 X k ; gamma = ∑ x X k X k Yk
k =1 k =1 k =1
[P F a]
t=X(1):0.01:X(n);
fex=F+(P-F).*exp(-a.*t);
plot(t,fex,'k')
grid on
hold on
plot(X,Y,'o')
syms t
t=X;
fu='F+(P-F)*exp(-a*t)'
et2=sum((Y-eval(fu)).^2);
ecm=sqrt(et2)/n;
ecm
Ejemplo 9.4
Dados los datos: {(0,1), (1,2), (2,3), ((5,4)}
a) Haga un estimativo de la semilla xi a partir de la gráfica de los puntos.
b) Efectúe regresión exponencial y represente gráficamente los datos y la función de regresión.
Solución.
a) Se puede tomar la semilla usando el siguiente razonamiento: puesto que la función es de la
forma f (t ) = F + ( P − F ) x t , se puede aproximar como f (t ) = 4 − 3 x t . Ahora, puesto que
f (1) = 2 , resulta que x = 2 / 3 .
ans =
fu =
F+(P-F)*exp(-a*t)
ecm =
0.0404
La figura 9.4 muestra la gráfica de la función junto con los puntos dados.
96
4.5
3.5
2.5
1.5
0.5
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Figura 9.4
EJERCICIOS
2) Considere el conjunto de puntos: {(0,1), (1.5,3), ( 2,4), ( 2.5,3.8), (3,4), (3.5,4.5), ( 4,4)}
a) Efectúe regresión polinomial de tercer grado y represente gráficamente la función de
aproximación junto con los datos. Calcule el error cuadrático medio.
b) Efectúe regresión exponencial y represente gráficamente la función de aproximación junto con
los datos. Calcule el error cuadrático medio
Tiempo, mnutos 0 4 10 19 35 55 75 85
Concentrcion 100 69.62 32.32 24.1 12.54 5.63 3.74 2.99
4) Considere la función:
5
g ( x) =
1 + 4e − x
6) se llevan a cabo los siguientes experimentos y se determinan los valores de capacidad calórica
a diferentes temperaturas para un metal.
Figura 9.5
98
MÓDULO 10
INTERPOLACIÓN POLINÓMICA
Contenido.
En este módulo se presenta la interpolación polinómica y se desarrollan los siguientes temas:
10.1. Introducción
10.2. Programa de interpolación directa
10.3. Polinomios de Lagrange
10.4. Método de las diferencias divididas
10.5. Programa para interpolación por diferencias divididas
10.1 Introducción.
Dado un conjunto de n puntos correspondientes a una función de variable real, la interpolación
polinómica consiste en determinar un polinomio de grado n − 1 que pase por todos y cada uno de
los puntos dados. La interpolación se puede efectuar de manera directa planteando un sistema de
n ecuaciones con igual número de incógnitas. Consideremos los datos:
{( x1 , y1 ), ( x2 , y 2 ), ( x3 , y3 ),..., ( xn , y n )}
El polinomio de interpolación de grado n − 1 para un conjunto de n datos viene dado por:
x10 x1
1
x1
2
... x1 c1 y1
n
0 n
... x 2 c 2 y 2
1 2
x2 x2 x2
x 0 x3
1
x3
2
... x3 c3 = y 3
n
3. . . . . . .
. . . . . . .
x 0 1 2
... xn cn y n
n
n xn xn
El sistema lineal resultante se puede resolver por cualquiera de los métodos desarrollados en el
módulo 5. Concretamente usaremos el método de la inversa apoyado con Matlab.
Ejemplo 10.1
Determine el polinomio de interpolación para los siguientes datos:
p (t ) = c1 + c 2 t + c 3t 2 + c 4 t 3 + c5 t 5
1 − 2 4 − 8 16 c1 1
1 − 1 1 − 1 1 c 0
2
1 0 0 0 0 c3 = 1
1 1 1 1 1 c 4 2
1 2 4 8 16 c5 − 1
A=
1 -2 4 -8 16
1 -1 1 -1 1
1 0 0 0 0
1 1 1 1 1
1 2 4 8 16
y=
1 0 1 2 -1
>> c=inv(A)*y';
>> c'
ans =
p=fliplr(c);
%Se escribe el polinomio de interpolación
poly2str(p,'t')
%Se genera un vector t
t=x(1):0.01:x(n);
%Se evalúa el polinomio
p=polyval(p,t);
%Se grafican los datos
plot(x,y,'o');
%Se sostiene la figura
hold on
grid on
%Se grafica el polinomio
plot(t,p,’k’);
ans =
2.5
1.5
0.5
-0.5
-1
-1.5
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
Figura 10.1
Puede verse que el polinomio pasa por cada uno de los puntos. La interpolación polinómica tiene
sus ventajas y sus desventajas; entre las ventajas está el que la función y sus derivadas son
continuas y la principal desventaja es la del número de oscilaciones que puede presentar la
función.
Ejemplo 10.2
Encuentre el polinomio de interpolación para el siguiente conjunto de datos:
101
ans =
0.015278 t^7 - 0.36944 t^6 + 3.4778 t^5 - 15.9861 t^4 + 36.6236 t^3
- 37.1444 t^2 + 10.3833 t + 1
2.5
1.5
0.5
-0.5
-1
-1.5
-2
-2.5
0 1 2 3 4 5 6 7
Figura 10.2
La figura 10.2 muestra el cambio de la función entre los datos: (6,2) y (7,1) . Sería de esperarse
que la función no se hiciera negativa tal como ocurre con la interpolación. Más adelante se
estudiará otro tipo de interpolación que obedece más fielmente al comportamiento real de la
función.
P(t ) = y1 L1 (t ) + y 2 L2 (t ) + y3 L3 (t ) + .... + y n Ln (t )
n
P(t ) = ∑ y k Lk (t )
k =1
P( x k ) = y k = y1 L1 ( xk ) + y 2 L2 ( x k ) + ... + y k Lk ( x k ) + .... + y n Ln ( x k )
Con base en lo anterior, un polinomio de Lagrange debe cumplir con la siguiente condición:
1 si i = k
Li ( x k ) =
0 si i ≠ k
Ejemplo 10.3
Escriba los polinomios de Lagrange de segundo grado para los datos:
{( x1 , y1 ), ( x2 , y 2 ), ( x3 , y3 )}
Solución.
Con base en la definición tenemos:
P(t ) = y1 L1 (t ) + y 2 L2 (t ) + y 3 L3 (t )
Los polinomios son:
(t − x 2 )(t − x3 )
L1 (t ) =
( x1 − x 2 )( x1 − x3 )
(t − x1 )(t − x3 )
L2 (t ) =
( x 2 − x1 )( x3 − x 2 )
(t − x1 )(t − x 2 )
L3 (t ) =
( x3 − x1 )( x3 − x 2 )
Ejemplo 10.4.
Usando los polinomios de Lagrange efectúe la interpolación polinómica para los siguientes datos:
Solución.
El polinomio de interpolación es la suma de 4 polinomios de tercer grado, así:
103
4
P(t ) = ∑ y k Lk (t ) = y1 L1 (t ) + y 2 L2 (t ) + y3 L3 (t ) + y 4 L4 (t )
k =1
(t − x 2 )(t − x3 )(t − x4 )
L1 (t ) =
( x1 − x2 )( x1 − x3 )( x1 − x4 )
(t − x1 )(t − x3 )(t − x 4 )
L2 (t ) =
( x 2 − x1 )( x 2 − x3 )( x 2 − x 4 )
(t − x1 )(t − x2 )(t − x 4 )
L3 (t ) =
( x3 − x1 )( x3 − x 2 )( x3 − x 4 )
(t − x1 )(t − x 2 )(t − x3 )
L4 (t ) =
( x 4 − x1 )( x 4 − x 2 )( x 4 − x3 )
t 3 − 6t 2 + 11t − 6 t 3 − 4t 2 + t + 6 t 3 − 3t 2 − t + 3 t 3 − 2t 2 − t + 2
P(t ) = (−1) + (1) + (−1) + (1)
− 24 4 −3 8
(
Simplificando se tiene: P (t ) = 3t − 10t + t + 10 / 4
3 2
)
La representación gráfica se muestra en la figura 10.3
104
2.5
1.5
0.5
-0.5
-1
-1.5
-1 -0.5 0 0.5 1 1.5 2 2.5 3
Figura 10.3
El objetivo es determinar los coeficientes de tal manera que el polinomio pase por todos y cada uno
de los puntos dados, así:
P( x1 ) = y1
P( x 2 ) = y 2
.
.
.
p( xn ) = y n
b1 = y1
y − y1
b2 = 2
x 2 − x1
y3 − y 2 y 2 − y1
−
x3 − x 2 x 2 − x1
b3 =
x3 − x1
Puede verse que b2 es la pendiente de la recta que une a los puntos ( x1 , y1 ), ( x 2 , y 2 ) . De otro
lado, el coeficiente b3 está asociado a las pendientes en los tres primeros datos.
105
Una tabla de diferencias divididas es un arreglo de tipo triangular que se genera a partir de los
datos, así:
La primera columna del arreglo es el vector de abscisas y tiene n elementos
La segunda columna del arreglo es el vector de ordenadas y tiene n elementos
La tercera columna del arreglo está formada por las diferencias divididas uno y tiene n − 1
elementos
La cuarta columna está formada por las diferencias divididas dos y tiene n − 2 elementos.
De manera similar, cada columna posterior tendrá un elemento menos hasta llegar a la última
columna que tendrá un solo elemento.
Para un conjunto de cinco datos, la matriz de diferencias divididas es la siguiente:
M 11 M 12 M 13 M 14 M 15 M 16
M 21 M 22 M 23 M 24 M 25
M 31 M 32 M 33 M 34
M 41 M 42 M 43
M 51 M 52
n k −1
P(t ) = a (1) + ∑ a(k )∏ (t − x(i ))
k =1 i =1
Ejemplo 10.5.
Usando las diferencias divididas efectúe la interpolación polinómica para los siguientes datos:
xk yk f [ x k , x k +1 ] f [ x k , x k +1 , x k + 2 ] f [ xk , x k +1 , x k + 2 , x k + 2 ]
-1 -1 1 -1 3/4
1 1 -2 2
2 -1 2
3 1
Al expandir el polinomio de Newton resulta el mismo polinomio que se obtiene cuando se hace la
interpolación de manera directa. El resultado expandido es, con la ayuda de Matlab o
manualmente, es:
(
P(t ) = 3t 3 − 10t 2 + t + 10 / 4 )
El método de Newton tiene la ventaja de que si se aumenta el número de datos, los coeficientes
hallados previamente siguen sirviendo para efectuar la interpolación. Sólo debe cambiarse el valor
de n y los datos x, y
for i=1:n
q(i,i+1)=1;
end
for i=2:n
q(i,1)=X(i)*q(i-1,1);
end
for i=2:n
for j=2:n-1
q(i,j)=X(i)*q(i-1,j)+q(i-1,j-1);
end
end
for i=3:n
q(i,i)=X(i)+q(i-1,i-1);
end
%Programa para expandir el polinomio de Newton, el cual queda en la forma:
%M(1,1)+M(1,2)*(t+X(1))+M(1,3)*(t+X(1))*(t+X(2))
%+M(1,4)*(t+X(1))*(t+X(2))*(t+X(3))+...+M(1,n)*(t+X(1))*(t+X(2))*(t+X(3))...(t+X(m))
%En su forma expandida es el polinomio de grado:m
%a(1)+a(2)*x+a(3)*(x^2)+a(4)*(x^3)+....+a(n)*(x^m)
a(1)=M(1,1);
for i=2:n
a(1)=a(1)+M(1,i)*q(i-1,1);
end
for i=2:n
a(i)=0;
end
for i=2:n
for j=i:n
a(i)=a(i)+M(1,j)*q(j-1,i);
end
end
c=fliplr(a);
poly2str(c,'t')
t=x(1):0.01:x(n);
p=polyval(c,t);
plot(x,y,'o');
hold on
plot(t,p,’k’);
grid on
Ejemplo 10.6.
Usando el programa, efectúe interpolación polinómica para los siguientes datos:
108
M=
ans =
-1
-2
-3
-2 -1 0 1 2 3 4 5 6
Figura 10.4
EJERCICIOS.
−x −x
1) Considere la función: f ( x) = xe + 2e + x − 1, 0 ≤ x ≤ 4
a) Elabore una tabla de cinco datos igualmente espaciados en el dominio de la función.
b) Encuentre el polinomio de interpolación por el método directo.
c) Encuentre el polinomio de interpolación por el método de Newton.
d) Represente gráficamente la función original junto con el polinomio.
e) Determine el área bajo la curva de la función y el área bajo la curva de la función de
interpolación y compare los resultados.
109
; 0≤ x≤π
− xsen ( x )
2) Considere la función: f ( x) = e
a) Elabore una tabla de cinco datos igualmente espaciados en el dominio de la función.
b) Encuentre el polinomio de interpolación por el método directo.
c) Encuentre el polinomio de interpolación por el método de Newton.
d) Represente gráficamente la función original junto con el polinomio.
e) Usando el polinomio, haga un estimativo del área bajo la curva.
{( )( )( )(
3) Dados los datos − 1,1 , 0,−1 , 1,1 , 2,−1 )}
a) Escriba los polinomios interpolantes de Lagrange.
b) Encuentre, por cualquier método, el polinomio de interpolación
c) Determine las raíces del polinomio de interpolación.
d) Calcule los máximos y mínimos del polinomio.
110
MÓDULO 11
INTERPOLACIÓN POR SEGMENTOS
Contenido.
En este módulo se presenta la interpolación por segmentos y se desarrollan los siguientes temas:
11.1. Introducción
11.2. Interpolación Cuadrática por segmentos
11.3. Programa para interpolación cuadrática
11.4. Interpolación cúbica por segmentos
11.5. Programa para interpolación cúbica
11.1. Introducción.
Consideremos el conjunto de datos: {( x1 , y1 ), ( x2 , y 2 ), ( x3 , y3 )....( xn , y n )}
La interpolación por segmentos consiste en determinar un polinomio de grado m por cada uno de
los n − 1 segmentos [xk , xk +1 ]
k = 1..n − 1 . La interpolación debe ser tal que se garantice la
continuidad de la función y de sus m − 1 primeras derivadas en cada punto. La más elemental es
la interpolación lineal por segmentos, la cual consiste en determinar una recta por cada segmento,
garantizándose la continuidad de la función en los extremos de cada intervalo. La apariencia de la
interpolación lineal por segmentos es la de una línea poligonal tal como lo muestra la figura 11.1.
Figura 11.1
y k +1 − y k
Pk (t ) = y k + (t − x k ) x k ≤ t ≤ x k +1
x k +1 − xk
y − yk
Pk (t ) = y k + k +1 (t − x k )[Φ (t − x k ) − Φ(t − x k +1 )]
x k +1 − x k
0 si t < 0
Φ (t ) =
1 si t > 0
La función de interpolación resultante en todo el intervalo es:
111
n −1
y − yk
F (t ) = ∑ y k + k +1 (t − x k )[Φ (t − x k ) − Φ(t − x k +1 )]
k =1 x k +1 − x k
p k ( xk ) = x k a k + x k bk + c k = y k k = 1..n − 1 (n − 1 ecuaciones)
2
2 x k a k + bk = 2 xk a k +1 + bk +1 k = 2 : n −1
Ejemplo 11.1
Efectúe interpolación cuadrática por segmentos para el conjunto de datos:
p1 (t ) = a1t 2 + b1t + c1 ; 0 ≤ t ≤ 1
p 2 (t ) = a 2 t 2 + b2 t + c 2 ; 1 ≤ t ≤ 2
p3 (t ) = a3t 2 + b3 t + c3 ; 2 ≤ t ≤ 3
p1 (0) = 1 ⇒ c1 = 1
p1 (1) = −2 ⇒ a1 + b1 + c1 = −2
p 2 (1) = −2 ⇒ a 2 + b2 + c2 = −2
p 2 (2) = 3 ⇒ 4a 2 + 2b2 + c2 = 3
p3 (2) = 3 ⇒ 4a3 + 2b3 + c3 = 3
p3 (3) = 0 ⇒ 9a 3 + 3b3 + c3 = 0
La última ecuación se impone a criterio del interesado. Por ejemplo, supongamos que la derivada
de la función al principio del intervalo es p1 ' (0) = −2 . La ecuación resultante es b1 = −2 . De las
nueve incógnitas se conocen dos de ellas, así c1 = 1 b1 = −2 . Con base en lo anterior
calculamos, de la primera ecuación, el valor de a1 , así a1 = −1 . Hemos determinado el polinomio
en el primer intervalo, así:
p1 (t ) = −t 2 − 2t + 1 ; 0 ≤ t ≤ 1
Para calcular las otras seis incógnitas resolvemos el siguiente sistema de ecuaciones:
1 1 1 0 0 a 2 − 2
0
4
2 1 0 0 0 b2 3
0 0 0 4 2 1 c 2 3
=
0 0 0 9 3 1 a3 0
2 1 0 0 0 0 b3 − 4
4 1 0 − 4 − 1 0 c3 0
Usando el paquete, encontramos la solución del sistema y, en consecuencia, los otros dos
polinomios son:
p 2 (t ) = 9t 2 − 22t + 11 ; 1 ≤ t ≤ 2
p3 (t ) = −17t 2 + 82t − 93 ; 2 ≤ t ≤ 3
n −1
F (t ) = ∑ (a k t 2 + bk t + c k )[Φ (t − x k ) − Φ (t − x k +1 )]
k =1
-1
-2
-3
0 0.5 1 1.5 2 2.5 3
Figura 11.2
El método empleado para hallar los coeficientes del polinomio no es el más adecuado ya que si
aumenta el número de intervalos aumentará el número de ecuaciones y el planteamiento de dichas
ecuaciones se hace bastante engorroso. A continuación se presentará un método más ágil para
efectuar la interpolación.
p k (t ) = a k t 2 + bk t + c k ; x k ≤ t ≤ x k +1
Tal como se muestra en la figura 11.3, tanto la función de interpolación como su primera derivada
son continuas en x k +1 . La derivada de una función cuadrática es una función lineal, cuya
representación gráfica se ilustra en la figura 11.4.
Figura 11.3
Figura 11.4
U k +1 − U k
u k (t ) = U k + (t − x k ) ; x k ≤ t ≤ x k +1
x k +1 − x k
U k + 2 − U k +1
u k +1 (t ) = U k +1 + (t − x k +1 ) ; x k +1 ≤ t ≤ x k + 2
x k + 2 − x k +1
A partir de la primera derivada se puede obtener la función de interpolación por integración directa,
así:
t
t t ⌠ U k +1 − U k
∫xkd p k (t ) = ∫xk u k (t )dt = ⌡ U k + xk +1 − xk (t − xk )
xk
p k (t ) − p k ( x k ) = U k (t − x k ) + k +1
x k +1 − x k 2
115
1 U k +1 − U k
p k (t ) = y k + U k (t − x k ) + (t − xk )2
2 x k +1 − x k
y k +1 = y k + ( x k +1 − xk )U k + (x k +1 − x k )(U k +1 − U k )
1
2
Se encuentra una ecuación que relaciona a las derivadas de la función en los nodos interiores, así:
y k +1 − y k
U k + U k +1 = 2 k = 1..n − 1
x k +1 − x k
y k +1 − y k
U k +1 = −U k + 2 k = 1..n − 1
x k +1 − x k
y k +1 − y k
U k +1 = −U k + 2 k = 1: n −1
hk
La expresión anterior permite determinar las derivadas en los nodos de manera recursiva. Después
de encontrar dichas derivadas se sustituyen en p k (t ) . La función de interpolación resultante viene
a ser:
n −1
1 U k +1 − U k
∑ y k + U k (t − x k ) + (t − xk )2 [Φ(t − xk ) − Φ(t − xk +1 )]
k =1 2 hk
[ ]
n −1
F (t ) = ∑ a k t 2 + bk t + c k [Φ (t − x k ) − Φ(t − x k +1 )]
k =1
1 U k +1 − U k
Sí denotamos por ak = , los otros coeficientes vienen dados por:
2 hk
bk = U k − 2 x k a k
ck = yk − xkU k + xk ak
2
Ejemplo 11.2
Efectúe interpolación cuadrática por segmentos para el conjunto de datos:
116
Solución.
Con base en los datos y suponiendo que f ' (0) = U 1 = −2 , se llena la siguiente tabla
k xk yk hk Uk ak bk ck
1 0 1 1 -2 -1 -2 1
2 1 -2 1 -4 9 -22 11
3 2 3 1 14 -17 82 -93
4 3 0 -20
− t 2 − 2t + 1 si 0 ≤ t ≤ 1
f (t ) = 9t 2 − 22t + 11 si 1 ≤ t ≤ 2
− 17t 2 + 82t − 93 si 2 ≤ t ≤ 3
t(k,:)=x(k):0.01*h(k):x(k+1);
p(k,:)=C(k,1).*(t(k,:).^2)+C(k,2).*(t(k,:))+C(k,3);
plot(t(k,:),p(k,:),'k')
grid on
hold on
end
plot (x,y,'o')
%Los polinomios de interpolación se escriben como
for j=1:n-1
for k=1:3
s(k)=C(j,k);
end
disp(strcat('p',num2str(j),'=',poly2str(s,'t')));
end
C=
-1 -2 1
9 -22 11
-17 82 -93
p1= -1 t^2 - 2 t + 1
p2= 9 t^2 - 22 t + 11
p3= -17 t^2 + 82 t – 93
-1
-2
-3
0 0.5 1 1.5 2 2.5 3
Figura 11.5
118
p k (t ) = a k t 3 + bk t 2 + c k t + d k ; xk ≤ t ≤ x k +1
p k +1 (t ) = a k +1t 3 + bk +1t 2 + c k +1t + d k +1 ; xk +1 ≤ t ≤ x k + 2
p k ' (t ) = 3a k t 2 + 2bk t + c k ; xk ≤ t ≤ x k +1
p k +1 ' (t ) = 3a k +1t + 2bk +1t + c k +1 ; x k +1 ≤ t ≤ x k + 2
2
pk ( xk ) = y k ; k = 1: n −1
p k +1 ( x k ) = y k ; k = 2:n
Así las cosas, resultan 4n − 6 ecuaciones con 4n − 2 incógnitas, es decir, quedan faltando dos
ecuaciones. Puede afirmarse que la interpolación cúbica por segmentos tendrá infinitas soluciones,
sin embargo, cuando se conocen las segundas derivadas en los extremos, la solución será única.
Ejemplo 11.3
Efectúe interpolación cúbica por segmentos para el siguiente conjunto de datos
Solución.
Puesto que se tienen tres intervalos es necesario encontrar tres polinomios de tercer grado, así:
p1 (0) = 1 ⇒ d1 = 1
p1 (1) = −2 ⇒ a1 + b1 + c1 + d1 = −2
p 2 (1) = −2 ⇒ a 2 + b2 + c 2 + d 2 = −2
p 2 (2) = 3 ⇒ 8a 2 + 4b2 + 2c 2 + d 2 = 3
p3 (2) = 3 ⇒ 8a3 + 4b3 + 2c3 + d 3 = 3
p3 (3) = 0 ⇒ 27a3 + 9b3 + 3c3 + d 3 = 0
Por ejemplo, supongamos que la segunda derivada de la función al principio del intervalo es
P1 ' ' (0) = 0 y que la segunda derivada en el otro extremo es P3 ' ' (3) = 0 . Las ecuaciones
resultantes son las siguientes:
0 0 0 1 0 0 0 0 a1 1
0 0 0 0
1
1 1 1 0 0 0 0 0 0 0 0 b1 − 2
0 0 0 0 1 1 1 1 0 0 0 0 c1 − 2
0 0 0 0 8 4 2 1 0 0 0 0 d 1 3
0 0 0 0 0 0 0 0 8 4 2 1 a 2 3
0 0 0 0 0 0 0 0 27 9 3 1 b2 0
=
3 2 1 0 − 3 − 2 −1 0 0 0 0 0 c 2 0
0 0 0 0 12 4 1 0 − 12 − 4 − 1 0 d 2 0
6 2 0 0 −6 −2 0 0 0 0 0 0 a 3 0
0 0 0 0 12 2 0 0 − 12 − 2 0 0 b3 0
0 2 0 0 0 0 0 0 0 0 0 0 c 3 0
0 0 0 0 0 0 0 0 18 2 0 0 d 3 0
Usando cualquier paquete, encontramos la solución del sistema, con lo que los polinomios de
interpolación vienen a ser:
p1 (t ) = 2.6667t 3 − 5.6667t + 1 si 0 ≤ t ≤ 1
p 2 (t ) = −5.3333t + 24t − 29.6667t + 9 si 1 ≤ t ≤ 2
3 2
3
F (t ) = ∑ (a k t 2 + bk t + c k )[Φ (t − x k ) − Φ (t − x k +1 )]
k =1
Wk +1 − Wk
wk (t ) = Wk + (t − xk )
x k +1 − x k
Para simplificar un poco se define el tamaño de paso hk = x k +1 − x k , de tal manera que se puede
escribir:
Wk +1 − Wk
wk (t ) = Wk + (t − xk )
hk
Dado que la integral de la segunda derivada es la primera derivada, se tiene que la primera
derivada de la función en el intervalo, la cual denotamos por: u k (t ) es:
121
t
t ⌠ Wk +1 − Wk
∫xk du k (t )dt = ⌡ Wk + hk (t − xk ) dt
xk
1 Wk +1 − Wk
u k (t ) − u k ( x k ) = Wk (t − x k ) + (t − x k ) 2
2 hk
1 Wk +1 − Wk
u k (t ) = U k + Wk (t − x k ) + (t − x k ) 2
2 hk
1 Wk +1 − Wk
U k +1 = U k + Wk ( x k +1 − x k ) + ( xk +1 − x k ) 2
2 hk
Se ha encontrado una relación entre las primeras derivadas en los extremos del intervalo, así:
1 Wk +1 − Wk 2
U k +1 − U k = Wk hk + hk
2 hk
Simplificando, tenemos:
1
U k +1 − U k = hk (Wk + Wk +1 ) (a)
2
Ahora, a partir de la primera derivada, encontraremos una expresión para el polinomio. Por
integración se tiene:
t
t ⌠ 1 Wk +1 − Wk 2
∫xk dpk (t )dt = ⌡ U k + Wk (t − xk ) + 2 hk (t − xk ) dt
xk
1 1 Wk +1 − Wk
p k (t ) − p k ( x k ) = U k (t − x k ) + Wk (t − x k ) 2 + (t − x k ) 3
2 6 hk
1 1 Wk +1 − Wk
y k +1 = y k + U k ( x k +1 − x k ) + Wk ( x k +1 − xk ) 2 + ( x k +1 − x k ) 3
2 6 hk
Simplificando se tiene:
1 1 Wk +1 − Wk 3
y k +1 = y k + U k hk + Wk hk +
2
hk
2 6 hk
Despejando U k se tiene:
y k +1 − y k hk
Uk = − (Wk +1 + 2Wk ) (b)
hk 6
y k + 2 − y k +1 hk +1
U k +1 = − (Wk +2 + 2Wk +1 ) (c)
hk +1 6
y − y k +1 y k +1 − y k
hk Wk + 2(hk + hk +1 )Wk +1 + hk +1Wk + 2 = 6 k + 2 − ; k = 1 : n − 2
hk +1 hk
Para resolver el sistema es necesario conocer las segundas derivadas en los extremos, esto es:
w( x1 ) = W1
w( xn ) = Wn
y − y k +1 y k +1 − y k
hk Wk + 2(hk + hk +1 )Wk +1 + hk +1Wk + 2 = 6 k + 2 − ; k = 2 : n − 3
hk +1 hk
Después de resolver el anterior sistema se calculan las primeras derivadas, así:
y k +1 − y k hk
Uk = − (Wk +1 + 2Wk ) ; k = 1 : n − 1
hk 6
1 1 Wk +1 − Wk
p k (t ) = y k + U k (t − x k ) + Wk (t − x k ) 2 + (t − x k ) 3
2 6 hk
p k (t ) = a k t 3 + bk t 2 + c k t + d k
1
d k = y k − x k U k + Wk x k − a k x k
2 3
Ejemplo 11.4
Efectúe interpolación cúbica por segmentos para el siguiente conjunto de datos
Solución.
Suponiendo que las derivadas en los extremos son iguales a cero, es decir W1 = W4 = 0 , resulta el
siguiente sistema para las segundas derivadas:
y − y 2 y 2 − y1
1) 2(h1 + h2 )W2 + h2W3 = 6 3 − − h1W1
h2 h1
y − y3 y3 − y 2
2) h2W2 + 2(h2 + h3 )W3 = 6 4 − − h3W4
h3 h2
4 1 W2 48
1 4 W = − 48
3
k xk yk Wk Uk ak bk ck dk
1 0 1 0 -5.6667 2.6667 0 -5.6667 1
2 1 -2 16 2.3333 -5.3333 24 -29.667 -9
3 2 3 -16 2.3333 2.6667 -24 66.333 -55
124
4 3 0 0
p1 (t ) = 2.6667t 3 − 5.6667t + 1 si 0 ≤ t ≤ 1
p 2 (t ) = −5.3333t + 24t − 29.6667t + 9 si 1 ≤ t ≤ 2
3 2
for k=1:n-1
c(k,1)=(W(k+1)-W(k))/(6*h(k));
c(k,2)=W(k)/2-3*x(k)*c(k,1);
c(k,3)=U(k)-x(k)*W(k)+3*c(k,1)*x(k)^2;
c(k,4)=-c(k,1)*x(k)^3+(x(k)^2)*W(k)/2-x(k)*U(k)+y(k);
end
c
%Representacion grafica de los polinomios
for i=1:n-1
t(i,:)=x(i):0.01*h(i):x(i+1);
p(i,:)=c(i,1).*(t(i,:).^3)+c(i,2).*(t(i,:).^2)+c(i,3).*t(i,:)+c(i,4);
plot(t(i,:),p(i,:),'k')
grid on
hold on
end
plot (x,y,'o')
for j=1:n-1
for i=1:4
s(i)=c(j,i);
end
disp(strcat('p',num2str(j),'=',poly2str(s,'t')));
end
Ejemplo 11.4
sen( x)
Considere la función: f ( x) = en el intervalo: [ −π , π ]
x
a) Evalúe la segunda derivada de la función en los extremos de su dominio.
b) Haga una tabla de 6 datos igualmente espaciados con N = 5
c) Efectúe interpolación cúbica por segmentos y represente gráficamente la curva y la función de
interpolación.
d) Calcule el máximo error cometido.
Solución.
a) La segunda derivada de la función evaluada en los extremos del intervalo:
x y
-3.1416 0
-1.8850 0.5046
-0.6283 0.9355
0.6283 0.9355
1.8850 0.5046
3.1416 0
>> interpcub
numero de datos=6
126
c=
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
-4 -3 -2 -1 0 1 2 3 4
Figura 11.5
EJERCICIOS
1) Considere la función: f ( x) = xe − x + 2e − x + x − 1, 0 ≤ x ≤ 4
3) Considere la función:
f ( x) = e − xsen ( x ) , 0 ≤ x ≤ π
MÓDULO 12
DIFERENCIACIÓN NUMÉRICA
Contenido.
En este módulo se presenta la diferenciación numérica y se desarrollan los siguientes temas:
12.1. Introducción
12.2. Derivación usando Matlab
12.3. Diferencias divididas centradas de primero y segundo orden
12.4. Programa para diferenciación numérica
12.1. Introducción.
Supongamos que se tiene una función de una variable real y = f (x ) analítica en cada punto de
un intervalo abierto a < x < b . La primera derivada de la función en el punto x = a viene dada
por:
f ( x) − f (a)
f ' (a ) = lim
x →a
x−a
Figura 12.1
df=diff(‘función’,’x’)
Ejemplo 12.1
Dada la función f ( x) = 2 x cos( x) + ln( x)
a) Determine f ' ( x ) y calcule f ' (π )
b) Determine f ' ' ( x) y calcule f ' ' (π )
Solución.
a) Usando Matlab, se tiene:
f=
129
2^x*cos(x)+log(x)
>> df=diff(f,'x')
df =
2^x*log(2)*cos(x)-2^x*sin(x)+1/x
b) >> x=3.1416
x=
3.1416
>> eval(df)
ans =
-5.7987
c) >> d2f=diff(df,'x')
d2f =
2^x*log(2)^2*cos(x)-2*2^x*log(2)*sin(x)-2^x*cos(x)-1/x^2
>> x=3.1416
x=
3.1416
d) >> eval(d2f)
ans =
4.4838
La ventaja de Matlab es que se puede escoger la variable de derivación, lo que permite derivar
parcialmente respecto a cualquier variable independiente.
Ejemplo 12.2
Dada la expresión F ( x, y ) = x 2 y 2 cos( xy)
Calcule:
∂F ∂2F
a) b)
∂x ∂y∂x
∂F ∂2F
c) d)
∂y ∂x∂y
Solución.
Usamos el paquete, así:
130
>> F='x^2*y^2*cos(x*y)'
F=
x^2*y^2*cos(x*y)
a) >> Fx=diff(F,'x')
Fx =
2*x*y^2*cos(x*y)-x^2*y^3*sin(x*y)
b) >> Fyx=diff(Fx,'y')
Fyx =
4*x*y*cos(x*y)-5*x^2*y^2*sin(x*y)-x^3*y^3*cos(x*y)
c) >> Fy=diff(F,'y')
Fy =
2*x^2*y*cos(x*y)-x^3*y^2*sin(x*y)
d) >> Fxy=diff(Fy,'x')
Fxy =
4*x*y*cos(x*y)-5*x^2*y^2*sin(x*y)-x^3*y^3*cos(x*y)
f ( x ) ≅ f ( x k ) + f ' ( x k )( x − x k ) + + +
2 6 24
En cuanto a la segunda derivada, al sumar las ecuaciones (a) y (b), se obtiene una aproximación
para la segunda derivada, así:
Ejemplo 12.3
Dada la función f ( x) = 2 x cos( x) + ln( x)
Tomando h = 0.01
a) Determine f ' (3.1416)
b) Determine f ' ' (3.1416)
Solución.
Se llena la siguiente tabla:
x f (x)
3.1416-h -7.6220
3.1416 -7.6802
3.1416+h -7.7380
y k +1 − y k −1 y k +1 − 2 y k + y k −1
a) f ' ( xk ) ≅ ≅ −5.7984 b) f ' ' ( xk ) ≅ ≅ 4.4838
2h h2
Comparando con los resultados del ejemplo 12.1 se observa que el error cometido al calcular la
segunda derivada es apreciable.
132
ans =
-5.7984 4.4838
pd =
2^x*log(2)*cos(x)-2^x*sin(x)+1/x
pde =
-5.7987
sd =
2^x*log(2)^2*cos(x)-2*2^x*log(2)*sin(x)-2^x*cos(x)-1/x^2
sde =
4.4837
Ejemplo 12.4
Considere la función f ( x) = x 2 e − x sen( x)
a) Represente gráficamente la función en el intervalo 0 ≤ x ≤ 2
b) Calcule numéricamente f ' (1.3) y f ' ' (1.3) , con h = 0.001
c) Calcule analíticamente f ' (1.3) y f ' ' (1.3)
133
Solución.
a) Usando el paquete se tiene:
>> x=0:0.01:2;
>> y=x.^2.*exp(-x).*sin(x);
>> plot(x,y)
>> grid on
0.5
0.4
0.3
0.2
0.1
0
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
Figura 12.2
ans =
0.3622 -0.7076
pd =
2*x*exp(-x)*sin(x)-x^2*exp(-x)*sin(x)+x^2*exp(-x)*cos(x)
pde =
0.3622
sd =
2*exp(-x)*sin(x)-4*x*exp(-x)*sin(x)+4*x*exp(-x)*cos(x)-2*x^2*exp(-x)*cos(x)
sde =
-0.7076
valor de a= 1.3
tamaño de paso=0.001
ans =
0.3622 -0.7076
EJERCICIOS.
MÓDULO 13
INTEGRACIÓN NUMÉRICA
Contenido.
En este módulo se presenta la integración numérica y se desarrollan los siguientes temas:
13.1 Introducción
13.2. Integración por series de potencias
13.3 Aproximación por interpolación polinómica
13.4. Fórmulas de Newton Cotes
13.5. Regla de los trapecios
13.6. Análisis del error en la regla de los trapecios
13.7. Integración por el método de Romberg
13.8. Regla de Simpson 1/3
13.9. Regla de Simpson 3/8
13.10. Programa para integrar con las fórmulas de Newton-Cotes
13.1. Introducción.
Existe un gran número de problemas de ingeniería y ciencias que conducen a la evaluación de una
integral definida de la forma:
b
I = ∫ f ( x)dx
a
Con base en el teorema fundamental del cálculo, sí la función F (x) es una antiderivada de f (x) ,
la integral definida viene dada por:
I = F (a ) − F (b)
Ejemplo 13.1
Evalúe la integral definida:
2
I = ∫ x 2 e − x dx
0
Solución.
En una tabla de integrales se encuentra que una antiderivada de la función dada es:
F ( x ) = − e − x ( x 2 + 2 x + 2)
>> f='x*x*exp(-x)'
f=
x*x*exp(-x)
>> F=int(f,'x')
F=
136
-x^2*exp(-x)-2*x*exp(-x)-2*exp(-x)
>> x=0
x=
>> Fa=eval(F)
Fa =
-2
>> x=2
x=
>> Fb=eval(F)
Fb =
-1.3534
>> I=Fb-Fa
I=
0.6466
>> int(f,'0','2')
ans =
-10*exp(-2)+2
>> -10*exp(-2)+2
ans =
0.6466
f ( x) = e sen ( x )
sen( x)
g ( x) =
x
137
h( x ) = e − x 3 x
0.5
0.4
0.3
0.2
0.1
0
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
Figura 13.1
Para funciones como las que se han descrito previamente es necesario recurrir a técnicas
diferentes para evaluar la correspondiente integral definida. Dentro de las técnicas usuales para
llevar a cabo la integral definida están las siguientes:
Nuestro propósito es desarrollar los métodos numéricos que nos permitan evaluar la integral
definida. Sin embargo, empezaremos por ilustrar las dos primeras técnicas.
Ejemplo 13.2
Usando cuatro términos de la serie de Taylor de la función en un entorno de x = 1 encuentre un
valor aproximado para la integral definida:
2
∫0
e sen ( x ) dx
La figura 13.2 muestra la gráfica de la función (línea punteada) y la gráfica de la serie. Puede
visualizarse la diferencia entre las dos curvas.
2.8
2.6
2.4
2.2
1.8
1.6
1.4
1.2
1
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
Figura 13.2
Es claro que la aproximación utilizada es bastante pobre. Al evaluar directamente la integral con el
paquete, se tiene que I = 4.2365 . Una mejor aproximación se obtiene al aumentar el número de
términos de la serie. Sí se toma una aproximación de quinto grado, la convergencia se presenta en
todo el intervalo, con lo que la integral de la serie es prácticamente igual a la integral de la función.
for i=1:n-1
h(i)=x(i+1)-x(i);
end
%calculo de las segundas diferencias divididas
for k=1:n-2
b(k)=6*((y(k+2)-y(k+1))/h(k+1)-(y(k+1)-y(k))/h(k));
end
%Sistema de ecuaciones para hallar las segundas derivadas, desde w(2) hasta w(n-1)
% M*W=B
M(1,1)=2*(h(1)+h(2));
M(1,2)=h(2);
B(1)=b(1)-h(1)*W1;
M(n-2,n-3)=h(n-2);
M(n-2,n-2)=2*(h(n-2)+h(n-1));
B(n-2)=b(n-2)-h(n-1)*WN;
for k=2:n-3
M(k,k-1)=h(k);
M(k,k)=2*(h(k)+h(k+1));
M(k,k+1)=h(k+1);
B(k)=b(k);
end
aux=inv(M)*B';
W(1)=W1;
W(n)=WN;
for j=2:n-1;
W(j)=aux(j-1);
end
%Calculo de las primeras derivadas
for k=1:n-1
U(k)=(y(k+1)-y(k))/h(k)-(h(k)/6)*(2*W(k)+W(k+1));
end
% Calculo de los coeficientes de los polinomios
for k=1:n-1
c(k,1)=(W(k+1)-W(k))/(6*h(k));
c(k,2)=W(k)/2-3*x(k)*c(k,1);
c(k,3)=U(k)-x(k)*W(k)+3*c(k,1)*x(k)^2;
c(k,4)=-c(k,1)*x(k)^3+(x(k)^2)*W(k)/2-x(k)*U(k)+y(k);
end
%Representacion grafica de los polinomios
for i=1:n-1
t(i,:)=x(i):0.01*h(i):x(i+1);
p(i,:)=c(i,1).*(t(i,:).^3)+c(i,2).*(t(i,:).^2)+c(i,3).*t(i,:)+c(i,4);
plot(t(i,:),p(i,:),'k')
grid on
hold on
end
plot (x,y,'o')
for j=1:n-1
for i=1:4
s(i)=c(j,i);
end
disp(strcat('p',num2str(j),'=',poly2str(s,'t')));
end
%Rutina para integrar
I=0;
for i=1:n-1
140
I=I+c(i,1)*(x(i+1)^4-x(i)^4)/4+c(i,2)*(x(i+1)^3-x(i)^3)/3+c(i,3)*(x(i+1)^2-x(i)^2)/2+c(i,4)*(x(i+1)-x(i));
end
I
Ejemplo 13.3.
Para la función del ejemplo anterior tome cinco datos igualmente espaciados, efectúe interpolación
polinómica y haga un estimativo de la integral.
Solución.
Al ejecutar el programa se tiene:
>> intintercub
numero de datos=5
vector de abscisas=[0 0.5 1 1.5 2]
vector de ordenadas=[1 1.615 2.32 2.711 2.483]
segunda derivada al principio=1
segunda derivada al final=-1.827
p1= -0.12789 t^3 + 0.5 t^2 + 1.012 t + 1
p2= -0.64057 t^3 + 1.269 t^2 + 0.62746 t + 1.0641
p3= -0.54185 t^3 + 0.97288 t^2 + 0.92361 t + 0.96537
p4= 0.36797 t^3 - 3.1213 t^2 + 7.0649 t - 2.1053
I = 4.2358
2.8
2.6
2.4
2.2
1.8
1.6
1.4
1.2
0.8
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
Figura 13.3
13.4. Fórmulas de Newton-Cotes
Son las fórmulas que se usan más a menudo para efectuar integrales numéricamente y no son
más que variantes de la interpolación polinómica. Los métodos consisten en hacer una partición del
dominio de la función en n intervalos igualmente espaciados, cada uno de tamaño h .
b−a
1) Se calcula el tamaño de paso: h=
n
2) Se genera el vector de abscisas, así: x k = a + ( k − 1) h k = 1 : n + 1
3) Se genera el vector de ordenadas, así: yk = f ( xk )
4) Cada intervalo se describe mediante una recta, es decir, se efectúa interpolación lineal por
segmentos. Para el segmento: [ x k , x k +1 ] , la expresión matemática de la recta de la figura 13.4
es:
y k +1 − y k
Pk (t ) = y k + (t − x k )
h
5) Se evalúa la integral de la función de aproximación en el intervalo, así:
xk + h
⌠ y k +1 − y k h
Ik = yk + (t − x k )dt = ( y k + y k +1 )
⌡ xk h 2
Figura 13.4
Solución.
El tamaño de paso viene a ser h = 1 / 3 . Se llena la tabla de valores y se calcula el valor
aproximado de la integral, así:
k xk yk
1 0 1
2 0.3333 1.3871
3 0.6667 1.8559
4 1 2.3198
142
5 1.3333 2.6431
6 1.6667 2.7058
7 2 2.4826
I≅
1
(1 + 2 ⋅ 1.3871 + 2 ⋅ 1.8559 + 2 ⋅ 2.3198 + 2 ⋅ 2.6431 + 2 ⋅ 2.7058 + 2.4826)
6
[ f ( x k ) + f ( x k + h) ]
xk + h h
Ek = ∫ f (t )dt −
xk 2
Para hacer un estimativo del error en el intervalo se usa la serie de Taylor de la función en un
entorno del punto medio del intervalo x m = x k + h / 2 . Así las cosas, la función se puede expresar
en la forma:
xm + h / 2 h3 h5
∫xm − h / 2
f (t )dt = hf ( x m ) +
24
f ' ' ( xm ) +
1820
f ' ' ' ' ( x m ) + ....
Puesto que el tamaño de paso es relativamente pequeño se pueden despreciar las potencias
superiores a la quinta, resultando que la integral es aproximadamente:
xm + h / 2 h3
∫xm − h / 2
f (t )dt = hf ( x m ) +
24
f ' ' ( xm )
h3
f ' ' ( x m ) − [ f ( x k ) + f ( x k + h)]
h
E k = hf ( x m ) +
24 2
Sabemos que la función tiene un desarrollo en series de la forma:
1
f (t ) = f ( x m ) + f ' ( x m )(t − x m ) + f ' ' ( x m )(t − x m ) 2 + ....
2
Con base en lo anterior, tenemos:
143
h h2
f ( xk ) = f ( xm ) − f ' ( xm ) + f ' ' ( x m ) + ...
2 8
h h2
f ( x k + h) = f ( x m ) + f ' ( x m ) + f ' ' ( x m ) + ...
2 8
Sumando las expresiones anteriores se encuentra que:
h2
f ( x k ) + f ( x k + h) = 2 f ( x m ) + f ' ' ( xm )
4
Reemplazando en la función de error, resulta:
h2 h h2
E k = hf ( x m ) + f ' ' ( x m ) − 2 f ( x m ) + f ' ' ( x m )
24 2 4
h3
Simplificando se tiene que el error local aproximado es: Ek ≅ − f ' ' ( xm )
12
El error global cometido es la suma de los errores locales, así:
n
h3 n
E = ∑ E k = − ∑ f ' ' ( xm )
k =1 12 k =1
y k +1 − y k y k +1 − 2 y k + y k −1
f ' ( xk ) = f ' ' ( xk ) =
2h h2
Para poder hacer un estimativo del error en el caso que nos ocupa se requiere un punto adicional
o, con la información dada tomar únicamente n − 1 derivadas, así:
144
h 3 n y k −1 − 2 y k + y k +1 h n
E=− ∑
12 k = 2 h2
= − ∑ [ y k −1 − 2 y k + y k +1 ]
12 k = 2
Conocido el error estimado se puede afirmar que la integral definida viene dada por:
h n
∑ ( y k + y k +1 ) ± E
b
∫ a
f ( x)dx =
2 k =1
A manera de conclusión, sí denotamos por IT (h) el valor aproximado de la integral por el método
de los trapecios para un h dado, tenemos:
b
∫ a
f ( x)dx = IT (h) + ET (h)
h n h n
IT (h) = ∑ ( y k + y k +1 )
2 k =1
ET (h) = − ∑ ( y k −1 − 2 y k + y k +1 )
12 k = 2
Ejemplo 13.5
2 sin( x )
Usando la regla de los trapecios haga un estimativo del error al evaluar la integral ∫0 e dx , para:
a) n=6
b) n = 12
Solución.
a) Para n = 6 el tamaño de paso es h = 1 / 3 , con lo que el error se puede estimar a partir de la
tabla de valores, así:
k xk yk
1 0 1
2 0.3333 1.3871
3 0.6667 1.8559
4 1 2.3198
5 1.3333 2.6431
6 1.6667 2.7058
7 2 2.4826
1 6
ET (h = 1 / 3) = − ∑ ( y k −1 − 2 y k + y k +1 ) ⇒
36 k = 2
k xk yk
1 0 1
2 0.1667 1.1805
3 0.3333 1.3871
4 0.5 1.6151
5 0.6667 1.8559
6 0.8333 2.0963
7 1 2.3198
8 1.1667 2.5079
9 1.3333 2.6431
10 1.5 2.7115
11 1.6667 2.7058
12 1.8333 2.6267
13 2 2.4826
1 12
ET (h = 1 / 6) = − ∑ ( y k −1 − 2 y k + y k +1 ) ⇒
72 k = 2
ET (h = 1 / 6) = 0.0045
2
4.2318 − 0.0045 ≤ ∫ e sen ( x ) dx ≤ 4.2318 + 0.0045 ⇒
0
2
4.2273 ≤ ∫ e sen ( x ) dx ≤ 4.2363
0
b
∫
a
f ( x)dx = IT (h1 ) +ET (h1 )
b
∫
a
f ( x)dx = IT (h2 ) +ET (h2 )
Convenimos en que: h1 > h2
h3 n
Hemos encontrado que el error global viene dado por: ET (h) = − ∑ f ' ' ( xm )
12 k =1
La segunda derivada promedio en el intervalo se define como:
∑ f ''(x m )
f ' ' prom = k =1
n
146
b−a
En la expresión anterior, n es el número de intervalos, así n = . En tal caso, el error
h
cometido se puede expresar como:
(b − a )h 2
ET (h) = − f ' ' prom
12
En consecuencia, podemos expresar la integral de la función de dos maneras diferentes, así:
(b − a)h1
2
b
∫ a
f ( x)dx = IT (h1 ) −
12
f ' ' prom
(b − a )h2
2
b
∫
a
f ( x)dx = IT (h2 ) −
12
f ' ' prom
Puesto que la segunda derivada promedio es independiente del tamaño de paso, se tiene de las
dos ecuaciones anteriores:
b I (h2 ) − α 2 I (h1 ) h
∫ a
f ( x)dx =
1−α 2
α= 2
h1
Se espera que la integral obtenida sea mucho más aproximada que las integrales individuales.
Para el ejemplo anterior, tenemos:
y k +1 − y k y − 2 y k +1 + y k
Pk (t ) = y k + (t − x k ) + k + 2 (t − x k )(t − x k +1 )
h 2h 2
Desarrollando el polinomio de Newton se encuentra que:
y k + 2 − 2 y k +1 + y k
ak =
h2
147
y k +1 − y k
bk = − ( xk + x k +1 )a k
h
y − yk
c k = y k − x k k +1 + x k x k +1 a k
h
La integral de la función en el intervalo, siempre que el número de intervalos sea par, se puede
expresar como:
xk + 2 xk + 2 xk + 2
∫xk
f (t )dt = ∫
xk
Pk (t )dt + ∫
xk
Ek
h n −1 n −1
∑ ( y k + 4 y k +1 + y k + 2 ) + ∑ E k
b
∫
a
f (t )dt =
3 k =1,3,5 k =1
De manera similar a la regla de los trapecios se puede demostrar que el error local Ek que se
comete al aplicar la regla de Simpson viene dado por:
h5
Ek = − f ' ' ' ' ( xm ) xm = xk + h / 2
90
El error global cometido al aplicar la regla de Simpson un tercio se puede escribir de la siguiente
manera:
h 4 (b − a) n −1
E=−
90 N k =0
∑ f ' ' ' ' ( xm )
La cuarta derivada promedio en el intervalo es:
n −1
1
f ' ' ' ' prom =
N
∑ f ''''(x
k =0
m )
h 4 (b − a )
E=− f ' ' ' ' prom
90
La expresión anterior nos dice que el error global es proporcional a la cuarta potencia del tamaño
de paso, es decir, que si el tamaño de paso es menor que la unidad, el error global cometido es
menor que el que se comete con la regla de los trapecios.
Puede hacerse un estimativo de la cuarta derivada promedio en el intervalo usando diferencias
divididas centradas, así:
Para tres datos y k −1 y k y k +1 , se pueden aproximar la primera y la segunda derivada en x k
así:
y k +1 − y k −1
f ' ( xk ) =
2h
y − 2 y k + y k −1
f ' ' ( x k ) = k +1
h2
148
y k + 2 − 2 y k +1 + 2 y k −1 − y k −2 y k + 2 − 4 y k +1 + 6 y k − 4 y k −1 + y k − 2
f ' ' ' ( xk ) = f iv ( x k ) =
2h 3 h4
En consecuencia, un estimativo de error en el intervalo de integración es:
h 5 n −1 y k + 2 − 4 y k +1 + 6 y k − 4 y k −1 + y k −2
E=− ∑
90 k =3 h4
Simplificando, se tiene:
h n−1
E=− ∑ ( y k −2 − 4 y k −1 + 6 y k − 4 y k +1 + y k +2 )
90 k =3
h n/2
IS1 = ∑ ( y 2i −1 + 4 y 2i + y 2i +1 )
3 i =1
Ejemplo 13.6
2 sin( x )
Considere la integral definida: ∫0 e dx
a) Usando la regla de Simpson un tercio calcule la integral y el error con n = 6
b) Usando la regla de Simpson un tercio calcule la integral y el error con n = 12
Solución.
a) Para n = 6 , h = 1 / 3 , con lo que:
k xk yk
1 0 1
2 0.3333 1.3871
3 0.6667 1.8559
4 1 2.3198
5 1.3333 2.6431
6 1.6667 2.7058
7 2 2.4826
1 3
IS1(1 / 3) = ∑ ( y 2i−1 + 4 y 2i + y 2i+1 )
9 i =1
h 5
E=− ∑ ( y k −2 − 4 y k −1 + 6 y k − 4 y k +1 + y k +2 )
90 k =3
1 − 4 ⋅ 1.3871 + 6 ⋅ 1.8559 − 4 ⋅ 2.3198 + 2.6431
1
E=− + 1.3871 − 4 ⋅ 1.8559 + 6 ⋅ 2.3198 − 4 ⋅ 2.6431 + 2.7058
270
1.8559 − 4 ⋅ 2.3198 + 6 ⋅ 2.6431 − 4 ⋅ 2.7058 + 2.4826
2
4.2366 ≤ ∫ e sen ( x ) dx ≤ 4.2370
0
k xk yk
1 0 1
2 0.1667 1.1805
3 0.3333 1.3871
4 0.5 1.6151
5 0.6667 1.8559
6 0.8333 2.0963
7 1 2.3198
8 1.1667 2.5079
9 1.3333 2.6431
10 1.5 2.7115
11 1.6667 2.7058
12 1.8333 2.6267
13 2 2.4826
1 6
IS1(1 / 6) = ∑ ( y 2i−1 + 4 y 2i + y 2i+1 )
18 i =1
IS1(1 / 6) = 4.2365
2
4.2365 ≤ ∫ e sen ( x ) dx ≤ 4.2365
0
xk + 3 xk + 3
Ik = ∫ f (t )dt = ∫ (a k t 3 + bk t 2 + c k t + d k )dt + E k
xk xk
Los coeficientes del polinomio se determinan por el método de las diferencias divididas. . No se
presentan las operaciones por lo engorroso de su deducción, pero los resultados son los
siguientes:
b
∫
a
f (t )dt = IS 3 + ES 3
3 n −3
IS 3 = h ∑ ( y k +3 + 3 y k + 2 + 3 y k +1 + y k )
8 k =0,3,6...
3 5
ES 3 = − h f ' ' ' ' prom
80
De manera similar a los casos anteriores, un estimativo del error es el siguiente:
3h n−1
E=− ∑ ( y k −2 − 4 y k −1 + 6 y k − 4 y k +1 + y k +2 )
80 k =3
3 n/3
IS 3 = h∑ ( y 3 j − 2 + 3 y 3 j −1 + 3 y 3 j + y 3 j +1 )
8 j =1
Ejemplo 13.7
2 sin( x )
Considere la integral definida: ∫0 e dx
a) Usando la regla de Simpson un tercio calcule la integral y el error con n = 6
b) Usando la regla de Simpson un tercio calcule la integral y el error con n = 12
Solución.
a) Para n = 6 el tamaño de paso es h = 1 / 3 , con lo que:
k xk yk
1 0 1
2 0.3333 1.3871
3 0.6667 1.8559
4 1 2.3198
5 1.3333 2.6431
6 1.6667 2.7058
151
7 2 2.4826
3 n/3
IS 3(1 / 3) = h∑ ( y3 j −2 + 3 y 3 j −1 + 3 y 3 j + y 3 j +1 )
8 j =1
IS 3(1 / 3) =
1
(1 + 3 ⋅ 1.3871 + 3 ⋅ 1.8559 + 2 ⋅ 2.3198 + 3 ⋅ 2.6431 + 3 ⋅ 2.7058 + 2.4826)
8
IS 3(1 / 3) = 4.2372
2
4.2364 ≤ ∫ e sen ( x ) dx ≤ 4.2380
0
k xk yk
1 0 1
2 0.1667 1.1805
3 0.3333 1.3871
4 0.5 1.6151
5 0.6667 1.8559
6 0.8333 2.0963
7 1 2.3198
8 1.1667 2.5079
9 1.3333 2.6431
10 1.5 2.7115
11 1.6667 2.7058
12 1.8333 2.6267
13 2 2.4826
3 n/3
IS 3(1 / 6) = h∑ ( y 3 j − 2 + 3 y 3 j −1 + 3 y3 j + y3 j +1 )
8 j =1
1 1 + 3 ⋅ 1.1805 + 3 ⋅ 1.3871 + 2 ⋅ 1.6151 + 3 ⋅ 1.8559 + 3 ⋅ 2.0963 + 2.3198
IS 3(1 / 6) =
16 + 2.3198 + 3 ⋅ 2.5079 + 3 ⋅ 2.6431 + 2 ⋅ 2.7115 + 3 ⋅ 2.7058 + 3 ⋅ 2.6267 + 2.4826
IS 3(1 / 6) = 4.2366
3h 11
E=− ∑ ( y k −2 − 4 y k −1 + 6 y k − 4 y k +1 + y k +2 )
80 k =3
E = −0.00008
2
Con base en el análisis de error, tenemos: 4.2366 ≤ ∫ e sen ( x ) dx ≤ 4.2366
0
ES3=0;
for i=1:N/3
IS3=IS3+(3*h/8)*(y(3*i-2)+3*y(3*i-1)+3*y(3*i)+y(3*i+1));
end
for i=3:N-1
ES3=ES3-(3*h/80)*(y(i-2)-4*y(i-1)+6*y(i)-4*y(i+1)+y(i+2));
end
IS3
ES3
Ejemplo 13.8
Usando el programa calcule, por los diferentes métodos, la integral y el error cometido al evaluar la
integral:
π
∫
0
x 1 + 2 sen( x)
Ejecute con n = 24
Solución.
>> integraNC
valor inicial= 0
valor final= pi
numero de intervalos= 24
entre la funcion f(t)= 't*sqrt(1+2*sin(t))'
IT =7.3590
ET =0.0042
IS1 =7.3634
ES1 =8.2023e-006
IS3 =7.3634
ES3 = 2.7683e-005
EJERCICIOS
MÓDULO 14
INTEGRACIÓN NUMÉRICA POR CUADRATURA
Contenido.
En este módulo se presenta la integración numérica por cuadratura Gaussiana y se desarrollan los
siguientes temas:
n = 0 P0 ( x) = 1
n = 1 P1 ( x) = x
1
n = 2 P2 ( x) = (3 x 2 − 1)
2
1
n = 3 P3 ( x) = (5 x 3 − 3x)
2
1
n = 4 P4 ( x) = (35 x 4 − 30 x 2 + 3)
8
1
n = 5 P5 ( x) = (63x 5 − 70 x 3 + 15 x)
8
1
n = 6 P6 ( x) = (231x 6 − 315 x 4 + 105 x 2 − 5)
16
1
n = 7 P7 ( x) = (429 x 7 − 693x 5 + 315 x 3 − 35 x)
16
Los polinomios de Legendre presentan ciertas propiedades, entre las que son dignas de destacar,
las siguientes:
1. Un polinomio de Legendre es estrictamente par o estrictamente impar.
2. Los polinomios pares pasan por los puntos: (−1,1) y (1,1)
3. Los polinomios impares pasan por los puntos: ( −1,−1) y (1,1)
4. Todas las raíces de los polinomios de grado mayor o igual que uno son reales y están en el
intervalo: − 1 < x < 1
5. Los polinomios son ortogonales en el intervalo: − 1 < x < 1
La propiedad de ortogonalidad se plantea en los siguientes términos:
156
0 si m ≠ n
1
∫−1 n m
P (t ) P (t ) dt = 2 si m = n
2n + 1
Pn (t ) =
1 dn 2
n
2 n! dt n
(
t −1
n
)
7. A partir de P0 (t ) = 1 y de P1 (t ) = t se pueden generar los demás polinomios mediante la
fórmula recursiva:
(2n + 1)tPn (t ) − nPn −1 (t )
Pn +1 (t ) =
n +1
La figura 14.1 ilustra la gráfica de los polinomios de primero a cuarto grado.
0.8
0.6
0.4
0.2
-0.2
-0.4
-0.6 p1
p2
-0.8 p3
p4
-1
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1
Figura 14.1
n r1 r2 r3 r4 r5 r6
2 -0.5774 0.5774
3 -0.7746 0 0.7746
4 -0.8611 -0.3400 0.3400 0.8611
5 -0.9062 -0.5385 0 0.5385 0.9062
6 -0.9325 -0.6612 -0.2386 0.2386 0.6612 0.9325
158
f ( x) = c0 P0 ( x) + c1 P1 ( x) + c 2 P2 ( x) + .... + c n Pn ( x)
Los coeficientes del desarrollo se determinan con base en la propiedad de ortogonalidad, así: si se
multiplica la ecuación por Pm (x ) tenemos:
f ( x) Pm ( x) = c0 P0 ( x) Pm ( x) + c1 P1 ( x) Pm ( x) + c 2 P2 ( x) Pm ( x) + .... + c n Pn ( x) Pm ( x)
1 1
∫−1
f ( x) Pn ( x)dx = ∫ c n Pn ( x) Pn ( x)dx
−1
Despejando, tenemos:
2n + 1 1
2 ∫−1
cn = f ( x) Pn ( x)dx
Cuando la función no está definida en el intervalo − 1 < x < 1 sino en un intervalo cualquiera, se
puede hacer la siguiente conversión: Si f (x) está definida en el intervalo ( a, b) , se hace el
cambio de variable x = pt + q de tal manera que el nuevo dominio sea − 1 < t < 1 .
Para lograr lo anterior se tiene que:
a = −p + q
b= p+q
De lo anterior se sigue que:
p = (b − a ) / 2
q = (b + a ) / 2
Ejemplo 14.1
Considere la función: f ( x) = sen( x ) ; − π / 3 ≤ x ≤ 2π / 3
a) Represente gráficamente la función en el intervalo dado.
b) Haga el cambio de variable x = pt + q de tal manera que la función quede en el intervalo
− 1 < t < 1 y grafique.
a) La figura 14.2 muestra las dos gráficas. La punteada corresponde a la función original.
b) De acuerdo con lo desarrollado previamente, se tiene.
p = (b − a ) / 2 = (2π / 3 − −π / 3) / 2 = π / 2
q = (b + a ) / 2 = (2π / 3 + −π / 3) / 2 = π / 6
El cambio de variable es:
159
π π
x= t+
2 6
Así las cosas, la nueva función es:
π π
f (t ) = sen t + ; − 1 ≤ t ≤ 1
2 6
0.8
0.6
0.4
0.2
-0.2
-0.4
-0.6
-0.8
-1
-1.5 -1 -0.5 0 0.5 1 1.5 2 2.5
Figura 14.2
Ejemplo 14.2
Considere la función definida como:
0 si x < −1
f ( x) = x si − 1 < x < 1
0 si x > 1
Solución.
a) La gráfica de la función se hace usando el paquete Matlab y se muestra en la figura 14.3 junto
con la función de aproximación.
b) Puesto que la función es par, su desarrollo de Legendre de orden cuatro es:
L( x) = c0 + c 2 P2 ( x) + c 4 P4 ( x)
1 1 1
c0 = ∫
2 −1
f ( x)dt = ∫ xdx = 0.5
0
c2 =
5 1
2 ∫−1
[ ] 1
[ ]
f ( x) 1.5 x 2 − 0.5 dx = 5∫ x 1.5 x 2 − 0.5 dx =0.625
0
160
c4 =
9 1
2 ∫−1
[ ]
f ( x) (35 / 8) x 4 − (30 / 8) x 2 + 3 / 8 dx = − 0.187
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1
Figura 14.3
2n + 1 1
2 ∫−1
cn = f ( x) Pn ( x)dx
Si se hace n = 0 resulta una expresión para la integral, así:
1
∫ −1
f ( x)dx = 2c0
1
f ( x) = c0 + c1 P1 ( x) + c 2 P2 ( x) = c0 + c1 x + c 2 (3 x 2 − 1)
2
3
Las raíces de P2 ( x) vienen dadas por ± . Evaluando la función en dichas raíces, resultan las
3
ecuaciones:
3
f ( 3 / 3) = c0 + c1
3
3
f (− 3 / 3) = c 0 − c1
3
161
1
∫−1
f ( x)dx = f (− 3 / 3) + f ( 3 / 3)
Ejemplo 14.3
Usando cuadratura Gaussiana de segundo orden, encuentre un valor aproximado para la integral:
2
I = ∫ e sen ( x ) dx
0
Solución.
Primero que todo cambiamos de variable, así:
b−a b+a
x= t+ ⇒ x = t +1
2 2
1
La integral queda en la forma: I = ∫ e sen ( t +1) dt
−1
f (t ) = e sen (t +1) ⇒
f (−0.5574) = 1.5071
f (0.5574) = 2.7182
1 1
f (t ) = c0 + c1 x + c 2 (3 x 2 − 1) + c3 (5 x 3 − 3 x)
2 2
r1 = −0.7746 r2 = 0 r3 = 0.7746
1
∫−1
f ( x)dx = α 1 f (r1 ) + α 2 f (r2 ) + α 3 f (r3 )
A continuación se muestra una tabla en la que aparecen los factores de peso de acuerdo al
número de puntos:
n α1 α2 α3 α4 α5 α6
2 1 1
3 0.5556 0.8889 0.5556
4 0.3485 0.6522 0.6522 0.3485
5 0.2369 0.4786 0.5689 0.4786 0.2369
6 0.1713 0.3608 0.4679 0.4679 0.3608 0.1713
La tabla puede ampliarse a un mayor número de puntos, sin embargo, con n = 6 es suficiente en
los casos de interés.
El siguiente código permite evaluar cualquier integral definida en el intervalo − 1 ≤ x ≤ 1 .
Ejemplo 14.4
Encuentre la integral del ejemplo anterior usando cuadratura de 4,5 y 6 puntos:
Solución.
a) Para n=4
>> cuadratura
numero de puntos=4
la funcion a integrar es f(t)='exp(sin(t+1))'
I = 4.2370
b) Para n=5
>> cuadratura
numero de puntos=5
la funcion a integrar es f(t)='exp(sin(t+1))'
I = 4.2363
163
c) Para n=6
>> cuadratura
numero de puntos=6
la funcion a integrar es f(t)='exp(sin(t+1))'
I = 4.2365
EJERCICIOS
1) Considere la función:
0 si x < −1
f ( x) = x + 1 si − 1 < x < 1
0 si x > 1
a) Exprese la función mediante una aproximación de Legendre de grado 5
b) En la misma figura represente la función y la aproximación encontrada
π /2
a) I 1 =∫ 1 + sen 2 ( x)dx
0
π /4
b) I2 = ∫ tan( x) dx
0
π /2
c) ∫ 0
3 + 2 cos( x)dx
1
d) ∫ e
x
x dx
0
∫0 x 3 + 2dx
2
e)
164
MÓDULO 15
PROBLEMAS DE VALOR INICIAL DE PRIMER ORDEN
Contenido.
En este módulo se presenta la solución de un problema de valor inicial de primer orden y
desarrollan los siguientes temas:
15.1. Introducción
15.2. Problema de valor inicial
15.3. Teorema de existencia y unicidad
15.4. Ecuaciones diferenciales de variables separables
15.5. Ecuaciones diferenciales homogéneas
15.6. Ecuaciones diferenciales exactas
15.7. Ecuaciones diferenciales lineales
15.8. Solución de ecuaciones diferenciales usando dsolve
15.1. Introducción.
Se presentará un enfoque de las ecuaciones diferenciales aplicado a la solución de problemas de
ingeniería. Se supone que el estudiante, en el curso previo de ecuaciones diferenciales, adquirió
los conocimientos y las destrezas para la solución de ecuaciones diferenciales en general.
dy( x )
= f ( x, y ); y (x0 ) = y 0
dx
Si hacemos una interpretación geométrica simple del problema (puede tratarse de un problema
físico o de otra índole), la solución del problema es “la curva del plano que satisface a la ecuación
diferencial y pasa por el punto ( x 0 , y 0 ) . Cabe preguntarnos aquí algunas cosas que más adelante
intentaremos resolver.
a. ¿Cuál es la región R del plano en la que el problema tiene solución?
b. ¿Bajo qué condiciones la solución que pasa por el punto ( x 0 , y 0 ) es única?
c. ¿En qué medida las soluciones pueden expresarse en términos de funciones elementales?
Ejemplo 15.1
Encuentre la familia de curvas cuya pendiente de la recta tangente en todos sus puntos está dada
por:
2y
y '=
x
Solución.
Escribiendo la ecuación diferencial en términos de diferenciales tenemos
y −1 dy − 2 x −1 dx = 0
ln( y ) − 2 ln( x ) = K
Dado que K es una constante arbitraria podemos hacer K = ln(C ) de tal forma que usando las
propiedades de los logaritmos obtenemos la familia de parábolas
y = Cx 2
El estudiante puede verificar que la familia encontrada corresponde a parábolas con centro en el
origen y simetría de eje Y. La figura 15.1 representa dos elementos de la familia correspondientes
a los valores de la constante: C = −1, C = 1
4
C=1
C=-1
3
-1
-2
-3
-4
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
Figura 15.1
C1 x 2 si x < 0
f ( x) =
C 2 x si x ≥ 0
2
diferencial tiene solución una región R del plano y si dicha solución, en caso de existir es única en
dicha región.
Es importante aclarar que las condiciones del teorema son de suficiencia pero no de necesidad, lo
anterior significa que puede no cumplirse una de las condiciones de continuidad y sin embargo
tener solución. Algunos ejemplos posteriores pondrán de presente tal aseveración.
Ejemplo 15.2.
Considere el problema de valor inicial:
2y
y' = , y ( x0 ) = y 0
x
Determine las regiones del plano en las que se puede ubicar el punto dado para que se garantice
que el problema tenga solución única.
Solución.
La función y su primera derivada parcial con respecto a la variable dependiente son:
2y y
f = fy =
x x
De lo anterior se concluye que no se garantiza solución única en regiones que contengan a la recta
x=0
El estudiante puede analizar el ejemplo anterior en el que se muestran algunas de las soluciones
de la ecuación diferencial dada. Por tanto, el punto puede ubicarse en cualquiera de las siguientes
regiones:
1. {( x, y) ∈ R 2
/x<0 }
2. {( x, y) ∈ R 2
/ x > 0}
Ejemplo 15.3
Considere el problema de valor inicial:
xy
y' = ; y ( x0 ) = y 0
x −1
2
Determine las regiones del plano en las que se puede ubicar el punto dado para que se garantice
que el problema tenga solución única.
Solución.
La función y su primera derivada parcial con respecto a la variable dependiente son:
167
xy x
f = ; fy = 2
x −1
2
x −1
De lo anterior se concluye que no se garantiza solución única en regiones que contenga a las
rectas: x = −1 ; x = 1
Por consiguiente, el punto dado se puede ubicar en cualquiera de las siguientes regiones del plano:
1. {( x, y) ∈ R 2
/ x < −1}
2. {( x, y) ∈ R 2
/ − 1 < x < 1}
3. {( x, y) ∈ R 2
/ x > 1}
1
ln( y ) = ln( x 2 − 1) + ln(C )
2
Con base en las propiedades de los logaritmos, tenemos:
y 2 = C 2 (x 2 − 1)
Puesto que C 2 = K es una constante arbitraria, la solución general es la familia de cónicas:
x2 y2
− =1
1 K
Si K < 0 es una familia de elipses
Si K > 0 es una familia de hipérbolas
La figura 15.2 muestra las regiones de validez de las soluciones y algunos elementos de la familia,
así:
a) Para: K = −4 , el elemento es una elipse cuya ecuación es:
x2 y2
+ =1
12 2 2
x2 y2
− =1
12 2 2
168
y 2+4 (x x-1) = 0
4
0
y
-1
-2
-3
-4
-3 -2 -1 0 1 2 3
x
Figura 15.2
Claramente se observa que por los puntos de abscisa x = −1 y x = 1 pasan infinitas soluciones.
F ( x)dx + G ( y )dy = 0
La solución general viene dada por:
∫ F ( x)dx + ∫ G( y )dy = C
Tal como se estableció previamente, la constante se evalúa a partir de la condición inicial
Ejemplo 15.4
Resuelva el problema de valor inicial:
d
M v(t ) = − Mg − Bv(t ) ; v(0) = Vo
dt
Solución.
Separando las variables e indicando las integrales, resulta:
⌠ M
dv = −t
⌡ Bv + Mg
M
ln( Bv + Mg ) = −t + C
B
La constante la calculamos con la condición inicial v (0) = Vo , de donde:
M
C= ln( BVo + Mg )
B
Ahora despejamos la velocidad en función del tiempo, así:
− Mg
B
Mg − M t
v(t ) = + Vo + e
B B
80
60
40
20
-20
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Figura 15.3
dy
= f ( x, y )
dx
Como ya hemos visto, no siempre es posible separar las variables y proceder por integración
directa para resolver la ecuación diferencial. Trataremos en esta sección con cierto tipo de
ecuaciones diferenciales que se pueden convertir en ecuaciones de variables separables mediante
un cambio adecuado de la variable dependiente.
polinómica, la suma de las potencias de las variables en cada término es la misma. Son ejemplos
de funciones homogéneas las siguientes:
• F ( x, y ) = x 2 + 3 xy + y 2 homogénea de grado dos
y
• G ( x, y ) = x + ye x homogénea de grado uno
170
x+ y
• H ( x, y ) = homogénea de grado cero
x− y
x
• S ( x, y ) = 2 xysen homogénea de grado dos
y
• R( x, y ) = x + y homogénea de grado un medio
x
• T ( x, y ) = homogénea de grado cero
x+ y
u = y / x, v = x / y
dy du
=x +u
dx dx
f ( x, y ) = F ( y / x )
+ u = F (u )
du
x
dx
dx dv
=y +v
dy dy
Ejemplo 15.5.
x− y
Resuelva la ecuación diferencial: y' =
x+ y
Solución.
Dividiendo por x el numerador y el denominador de f (x, y ) y luego haciendo y = ux , tenemos:
du 1− u
x +u =
dx 1+ u
Haciendo transformaciones se obtiene la ecuación de variables separables
u +1 dx
du + =0
u + 2u − 1
2
x
Integrando se obtiene:
1
2
( )
ln u 2 + 2u − 1 + ln ( x ) = C
Regresando a la variable original y simplificando se obtiene
x 2 − 2 xy − y 2 = K
La solución general de la ecuación diferencial es una familia de hipérbolas. La figura 15.4 ilustra los
elementos correspondientes a K = 2 y K = 1
x x-2 x y-y y-2 = 0
4
0
y
-1
-2
-3
-4
-4 -3 -2 -1 0 1 2 3 4
x
Figura 15.4
∂ ∂
dF = F dx + F dy = dC = 0
∂x ∂y
Tanto la derivada parcial con respecto a x , como la derivada parcial con respecto a y de la
función dependen de las dos variables. Se conviene en designarlas de la siguiente manera:
∂ ∂
F = M ( x, y ) F = N ( x, y )
∂x ∂y
M ( x, y )dx + N ( x, y )dy = 0
Es claro que si la ecuación diferencial se obtuvo a partir de la familia de curvas, la solución general
de dicha ecuación diferencial es la correspondiente familia.
Ejemplo 15.6.
Dada la ecuación diferencial 2 xydx + x 2 dy = 0 , muestre que la solución general viene dada por
x2 y = C
Solución.
Hallamos el diferencial total de la función, encontrando la correspondiente ecuación diferencial.
El problema que nos ocupa es precisamente el contrario, es decir, encontrar la familia de curvas a
partir de la ecuación diferencial.
Teorema 1.
Si la ecuación diferencial: M ( x, y )dx + N ( x, y )dy = 0 es exacta y M ( x, y ), N ( x, y ) son
continuas y poseen su primera derivada continua en una región simplemente conexa del plano R2 ,
entonces se verifica que:
∂ ∂
M ( x, y ) − N ( x, y ) = 0
∂y ∂x
∂ ∂ ∂ ∂2
M ( x, y ) = F ( x , y ) =
∂y∂x F ( x, y )
∂y ∂y ∂x
∂
De manera similar, tenemos: N ( x, y ) = F ( x, y )
∂y
∂ ∂ ∂ ∂2
M ( x, y ) = F ( x, y ) = F ( x, y )
∂x ∂x ∂y ∂x∂y
Ahora bien, para regiones del plano simplemente conexas se verifica que la segunda derivada
mixta no depende del orden de derivación, esto es Fyx = Fxy . De lo anterior se concluye que si la
ecuación diferencial es exacta, entonces:
∂ ∂
M ( x, y ) − N ( x, y ) = 0
∂y ∂x
∂M ∂N
− = 2x − 2x = 0
∂y ∂x
Teorema 2.
Dada la ecuación diferencial M ( x, y )dx + N ( x, y )dy = 0 , si las funciones: M , N , M y y N x son
continuas en una región simplemente conexa del plano y se verifica que M y − N x = 0 , entonces
la ecuación diferencial es exacta y tiene como solución general a la familia de curvas del plano:
F ( x, y ) = C
Para demostrar el teorema se supone que existe una F ( x, y ) tal que su derivada parcial con
∂F
respecto a x es M , esto es = M . La función F se determina por integración sobre la
∂x
variable x manteniendo constante la otra variable, así:
F ( x, y ) = ∫ M ( x, y )dx + C ( y )
x
El éxito de esta demostración consiste en poder determinar la función C ( y ) de tal manera que se
∂F
verifique que = N ( x, y ) . En efecto, tomando la derivada parcial con respecto a la variable y
∂y
se tiene:
∂ ∂
∂y ∫x
F ( x, y ) = M ( x, y )dx + C ' ( y ) = N ( x, y )
∂y
174
De lo anterior debe resulta una función dependiente únicamente de la variable y para la función
C ' ( y)
∂
∂y ∫x
C ' ( y ) = N ( x, y ) − M ( x, y )dx
Si la expresión anterior se deriva con respecto a x , el miembro de la izquierda debe ser cero, así:
∂ ∂ ∂
0= N ( x, y ) − ∫ M ( x, y )dx
∂x ∂x ∂y x
Si se cambia el orden de la derivación y se aplica el teorema fundamental del cálculo integral, se
tiene:
∂ ∂ ∂ ∂N ∂M
0= N ( x, y ) − ∫ M ( x, y )dx = −
∂x ∂y ∂x x
∂x ∂y
Ejemplo 15.7
Considere la ecuación diferencial: 2 xydx + ( x − y ) dy = 0
2 2
Solución.
a) M ( x, y ) = 2 xy N ( x, y ) = x 2 − y 2
∂M ∂N
Puede verse que la ecuación diferencial es exacta: − = 2x − 2x = 0
∂y ∂x
b) Escribimos la ecuación diferencial en la forma:
dy 2 xy
= 2
dx y − x 2
Con base en el teorema de existencia y unicidad, se garantiza solución única en regiones que no
contengan a las rectas y = x y y = − x . En consecuencia, el punto ( x0 , y 0 ) se puede ubicar
en cualquiera de las siguientes regiones del plano:
1. {( x, y) ∈ R 2
/− x < y < x}
175
2. {( x, y) ∈ R 2
/ x < y < −x }
3. {( x, y) ∈ R 2
/ − y < x < y}
4. {( x, y) ∈ R 2
/ y < x < − y}
∂
c) Para resolver la ecuación diferencial partimos de F ( x, y ) = 2 xy . Integrando con respecto
∂x
a x tenemos F ( x, y ) = x y + C ( y ) . Derivando con respecto a y e igualando con N , se
2
y3 + K
x2 =
3y
d
y + p ( x) y = q ( x )
dx
x : es la variable independiente
y : es la variable dependiente
En todos los casos siempre es posible encontrar una solución explícita de la ecuación diferencial.
Dicha solución es la familia de curvas del plano:
y ( x) = Cy c ( x) + y f ( x)
dy
= q ( x) − p( x) y
dx
La pendiente de la tangente y su primera derivada con respecto a la variable dependiente vienen
dadas por:
f = q ( x) − p ( x ) y f y = − p( x)
Ejemplo 15.8.
Considere el problema de valor inicial
176
dy 1
+ 2 y = x, y ( x0 ) = y 0
dx x − x
Determine las regiones del plano en las que se puede ubicar el punto ( x0 , y 0 ) de tal manera que
se garantice solución única.
Solución.
Por simple inspección, q (x) es continua en los reales mientras que p (x ) no es continua en
x = 0 y x =1
Con base en el teorema, podemos afirmar que el punto se puede ubicar en cualquiera de las
siguientes regiones:
1. {( x, y) ∈ R 2
/x<0 }
2. {( x, y) ∈ R 2
/0 < x <1 }
3. {( x, y) ∈ R 2
}
/ x >1
Ejemplo 15.9
Determine el intervalo más grande en el que el siguiente problema de valor inicial tiene solución
única garantizada:
dy
+ sec 2 ( x) y = ln( x), y ( 2) = 1
dx
Solución.
A partir de q (x) se puede afirmar que la recta x = 0 no debe estar en la región. De otro lado, la
π
función p (x ) se anula en los puntos de abscisa x=n , siendo n un numero impar . Por tanto
2
π 3π
se garantiza solución única en el intervalo ,
2 2
15.7.1. Solución de la ecuación diferencial lineal de primer orden
De acuerdo con lo presentado en la sección anterior, la ecuación diferencial se puede expresar en
la forma:
[ p( x) y − q( x)]dx + 1dy = 0
Puede verse que la ecuación es reducible a exacta, en efecto:
∂M ∂N
−
∂y ∂x p( x) − 0
= = p( x)
N 1
Φ ( x) = e ∫
p ( x ) dx
En consecuencia, la ecuación tiene el factor integrante . Multiplicando la ecuación
diferencial por el factor integrante, se tiene:
d [Φ ( x) y ] = Φ ( x)q( x)dx
Φ ( x ) y = C + ∫ Φ ( x )q ( x )dx
dy
1. Se escribe la ecuación en la forma: + p( x) y = q( x)
dx
2. Se calcula el factor integrante: Φ ( x ) = e ∫
p ( x ) dx
y = CΦ −1 ( x) + Φ −1 ( x) ∫ Φ ( x)q ( x)dx
Ejemplo 15.10
Considere la ecuación diferencial:
+ 2 y = xsen( x )
dy
x
dx
a) Determine las regiones del plano en las que se puede ubicar el punto (x0 , y 0 ) de tal manera
que el problema de valor inicial asociado tenga solución única garantizada.
b) Encuentre la solución general de la ecuación diferencial.
( )
c) Encuentre la solución que pasa por el punto π , 2 , indicando el intervalo de validez.
Solución.
a) La ecuación diferencial se puede escribir de la forma:
+ y = sen( x )
dy 2
dx x
Con base en el teorema de existencia y unicidad, se garantiza solución única en regiones tales que
x≠0
x 2 y = C + ∫ x 2 sen( x )dx
Evaluando la integral, se tiene:
178
2π 2 = C + π 2 − 2 ⇒ C = π 2 + 2
Ejemplo 15.11
Considere la ecuación diferencial:
(x − 1) dy + 2 y = x
dx
a) Determine las regiones del plano en las que se puede ubicar el punto (x0 , y 0 ) de tal manera
que el problema de valor inicial asociado tenga solución única garantizada.
b) Encuentre la solución general de la ecuación diferencial.
( )
c) Encuentre la solución que pasa por el punto 1,0 , indicando el intervalo de validez.
Solución.
a) La ecuación diferencial se puede escribir de la forma:
dy 2 x
+ y=
dx x − 1 x −1
Con base en el teorema de existencia y unicidad, se garantiza solución única en regiones que no
contengan la recta x = 1
(x − 1)2 y = C + ∫ (x − 1)2 x
dx = C + ∫ x( x − 1)dx
x −1
x3 x2
Evaluando la integral, se tiene: ( x − 1) y = C + −
2
3 2
x3 x2
y ( x ) = ( x − 1) + − ( x − 1)− 2 ;
−2
−∞ < x <1
3 2
Ejemplo 15.12
Considere la ecuación diferencial:
dy e−x
x +y=
dx x
179
a) Determine las regiones del plano en las que se puede ubicar el punto (x0 , y 0 ) de tal manera
que el problema de valor inicial asociado tenga solución única garantizada.
b) Encuentre la solución general de la ecuación diferencial.
c) Encuentre la solución que pasa por el punto (1,1) , indicando el intervalo de validez.
Solución.
a) La ecuación diferencial se puede escribir de la forma:
dy 1 e−x
+ y= 2
dx x x
Con base en el teorema de existencia y unicidad, se garantiza solución única en regiones tales que
x≠0
b) Aplicando la receta, tenemos:
1
∫ x dx
Φ=e =x
e−x e−x
xy = C + ∫ x dx = C + ∫ x dx
x2
Puesto que la integral no tiene solución analítica, la expresamos en series de potencia, así:
e−x 1 x x2
= −1+ − +K
x x 2 6
Evaluando la integral, tenemos:
x2 x3
xy = C + ln ( x ) − x + − +K
4 18
1 1
C ≈ 1+1− + ≈ 1.806
4 18
En consecuencia la solución del problema de valor inicial es:
1.806 ln( x ) x x 2
y ( x ) = −1 + + + − +K
x x 4 18
Se deja como ejercicio al estudiante la representación gráfica de la solución. Más adelante se
estudiarán las técnicas numéricas más comunes para resolver ecuaciones diferenciales sin recurrir
a las series de potencias.
Three different types of output are possible. For one equation and one
output, the resulting solution is returned, with multiple solutions to
a nonlinear equation in a symbolic vector. For several equations and
an equal number of outputs, the results are sorted in lexicographic
order and assigned to the outputs. For several equations and a single
output, a structure containing the solutions is returned.
Examples:
ans = C1*exp(-a*t)
x = exp(-a*s)
y=
[ sin(t)]
[ -sin(t)]
S.f = exp(t)*cos(t)+2*exp(t)*sin(t)
181
S.g = -exp(t)*sin(t)+2*exp(t)*cos(t)
ans =
t+1/2*log(y-1)-1/2*log(y+1)+1/y+C1=0
Ejemplo 15.13
Dado el problema de valor inicial:
(x − 1) dy + 2 y = x ; y ( 2) = 0
dx
a) Teniendo en cuenta la solución general obtenida en el ejemplo 5.11, determine la solución
del problema y represente gráficamente la solución en el intervalo 1 < x ≤ 4
b) Encuentre la solución general usando dsolve.
c) Determine la solución del problema usando dsolve y compare.
Solución.
a) La solución general de la ecuación diferencial es:
3
x2
(x − 1)2 y = C + x −
3 2
La constante se calcula como:
3
22
(2 − 1)2 ⋅ 0 = C + 2 − ⇒ C = −2 / 3
3 2
La solución se puede expresar como:
2 x3 x2
− ⋅ ( x − 1)
−2
y ( x) = − +
3 3 2
Para la representación gráfica se toma el intervalo 1.1 ≤ x ≤ 4 , ya que x ≠ 1 . La figura 15.5
muestra la gráfica pedida.
>> x=1.1:0.01:4;
>> y=(-2/3+(1/3).*x.^3-(1/2).*x.^2)./((x-1).^2);
>> plot(x,y)
>> grid on
b) Para hallar la solución general con dsolve se procede de la siguiente manera, teniendo en
cuenta que la variable independiente es t .
>> y=dsolve('Dy=(t-2*y)/(t-1)')
y=
(1/3*t^3-1/2*t^2+C1)/(t-1)^2
182
1.5
0.5
-0.5
-1
-1.5
-2
1.5 2 2.5 3 3.5 4
Figura 15.5
y=
(1/3*t^3-1/2*t^2-2/3)/(t-1)^2
Puede verse que las soluciones son idénticas a las obtenidas analíticamente.
EJERCICIOS
dy x + y dy xy + y 2
1) = 2) =
dx x dx x2
dy x + 2y dy x 2 − y 2
3) =− 4) =
dx 2x + y dx 2 xy
dy y
5) 2 ydy = ( x 2 − y 2 )dx 6) = 3
dx y − 3 x
dy
7) (e
x
− 2 xy)dy = y ( y − e x )dx 8) x + 2 y = sen( x)
dx
183
dy 2 2
9) x
dy
2
= 1 − x( x + 2) y 10)
x =2x y+y
dx dx
Usando dsolve, resuelva los siguientes problemas de valor inicial en el intervalo dado y represente
gráficamente la solución en cada caso.
dy x + y
11) = ; y (1) = 2 ; 0 < x ≤ 2
dx x
dy xy + y 2
12) = ; y (1) = 1 ; 0 < x ≤ 2
dx x2
dy y
13) = 3 ; y ( 0) = 1 ; 0 ≤ x ≤ 2
dx y − 3x
dy
14) x + 2 y = sen( x ) ; y (1) = 0 ; 0 < x ≤ π
dx
dy
15) x = 2 x 2 y + y 2 ; y (1) = −1 ; 0 < x ≤ 2
dx
184
MÓDULO 16
PROBLEMAS DE VALOR INICIAL DE PRIMER ORDEN
SOLUCIÓN NUMÉRICA
Contenido.
En este módulo se presenta la solución numérica de un problema de valor inicial de primer orden y
desarrollan los siguientes temas:
16.1. Introducción
16.2. Método de Euler
16.3. Método de la serie de potencias
16.4. Método de la serie de potencias con Matlab
16.5. Métodos de Runge-Kutta de segundo orden
16.6. Método de Runge-Kutta de tercer orden
16.7. Método de Runge-Kutta de cuarto orden
16.8. Método de Runge-Kutta de cuarto orden con Matlab
16.1. Introducción
Un problema de valor inicial de primer orden se puede formular mediante una ecuación diferencial
de primer orden y una condición inicial, así:
dy
= f ( x, y ) , y ( xi ) = yi
dx
Geométricamente, la solución del P.V.I. es una curva del plano que satisface la ecuación
diferencial y pasa por el punto ( xi, yi) .
Previamente el estudiante ha aprendido a encontrar la solución analítica del problema en los casos
en que sea posible hallar dicha solución. Supongamos ahora que la ecuación diferencial no posee
soluciones en términos de funciones elementales, es decir, no hay una expresión matemática para
y (x) . A continuación se presenta el método numérico más elemental, conocido como método de
Euler, el cual consiste en generar una tabla de valores para la función en el dominio: [ xi, xf ]
Siendo xf el valor final de la variable independiente.
X = {X 1 , X 2 , X 3 ,...., X n +1 }
for k = 1 : n + 1
X (k ) = xi + (k − 1)h
end
Y = {Y1 , Y2 , Y3 ,...., Yn +1 }
Supongamos que el P.V.I. satisface las condiciones de existencia y unicidad en el dominio dado, es
decir, f ( xi, yi ) está definida y representa la pendiente de la recta tangente a la curva al principio
del intervalo. A partir de la figura 16.1, la pendiente del segmento de recta viene dada por:
Y2 − Y1 Y − Y1
m= = 2
X 2 − X1 h
Figura 16.1
Y2 = Y1 + hf ( X 1 , Y1 )
La aproximación obtenida mejorará en la medida en que menor sea el tamaño de paso h . Con el
valor encontrado previamente podemos encontrar un valor aproximado para la función en el punto
siguiente, así: Y3 = Y2 + hf ( X 2 , Y2 )
Continuando con el razonamiento previo podemos encontrar un valor aproximado para la función a
partir del punto anterior, así:
Yk +1 = Yk + hf ( X k , Yk ) ; k = 1 : n
El resultado es un polígono, es decir, una aproximación lineal por segmentos para la función,
situación que se ilustra en la figura 16.2
Figura 16.2
186
= f ( x, y ) ; y ( xi ) = yi ; xi ≤ x ≤ xf
dy
dx
Yk +1 = Yk + hf ( X k , Yk ) ; k = 1 : n
Ejemplo 16.1
Resuelva el problema de valor inicial en el intervalo: [0,2]
dy
= e − x − y ( x) ; y (0) = 1
dx
Solución.
Se toma n = 10 , con lo que el tamaño de paso es h = ( 2 − 0) / 10 = 0.2 y se llena la siguiente
tabla:
k Xk Yk f ( X k , Yk )
1 0.0 1.0 0.0
2 0.2 1.0 -0.1813
3 0.4 0.9637 -0.2934
4 0.6 0.9051 -0.3562
5 0.8 0.8338 -0.3845
6 1.0 0.7569 -0.3890
7 1.2 0.6791 -0.3779
8 1.4 0.6035 -0.3569
9 1.6 0.5321 -0.3302
10 1.8 0.4661 -0.3008
11 2.0 0.4059
grid on
>> [X' Y']
ans =
0 1.0000
0.2000 1.0000
0.4000 0.9637
0.6000 0.9051
0.8000 0.8338
1.0000 0.7569
1.2000 0.6791
1.4000 0.6035
1.6000 0.5321
1.8000 0.4661
2.0000 0.4059
1
0.9
0.8
0.7
0.6
0.5
0.4
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
Figura 16.3
El estudiante puede verificar que la solución analítica del problema dado está dada por:
y ( x) = ( x + 1)e − x
A continuación se muestra una tabla con la solución obtenida comparada con la solución exacta.
clear all
%Programa para resolver un problema de valor inicial de primer orden
%por el método de Euler
%La formulación del problema es: y'=f(x,y);y(xi)=yi en el intervalo:[xi,xf]
% con n iteraciones.
% Entrada de la información
n=input('numero de particiones = ');
xi=input('abscisa inicial = ');
xf=input('abscisa final = ');
yi=input('ordenada inicial = ');
f=input('entrar la funcion f(x,y) = ');
% El tamaño de paso se calcula como
h=(xf-xi)/n;
%El vector de abscisas se calcula como
X=xi:h:xf;
%El vector de ordenadas se calcula como. Se usan mayúsculas para diferenciar los vectores de los
%escalares
Y(1)=yi;
for k=1:n
x=X(k);
y=Y(k);
M(k)=eval(f);
Y(k+1)=Y(k)+h*M(k);
end
[X’ Y’]
plot(X,Y,'k')
grid on
0.9
0.8
0.7
0.6
0.5
0.4
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
Figura 16.4
La figura 16.5 ilustra la solución numérica junto con la solución analítica (línea punteada).
0.9
0.8
0.7
0.6
0.5
0.4
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
Figura 16.5
y ( n +1) (ω )
Rn ( x ) = ( x − xk ) ( n +1)
(n + 1)!
2
h h3 h n (n)
y k +1 = y k + hy ' ( x k ) +
y ' ' ( xk ) + y ' ' ' ( x k ) + ... + y ( x k ) + Rn ( x )
2! 3! n!
h n +1 ( n +1)
El error de truncamiento vendrá dado por Rn ( x) = y (ω ) , con: xk < ω < xk +1
(n + 1)!
Ahora bien, puesto que y ' ( xk ) es la pendiente de la recta tangente a la curva en el punto de
coordenadas ( xk , y k ) , se tiene que:
y' ( xk ) = f ( xk , yk )
De manera similar podemos encontrar expresiones para las derivadas de orden superior, así:
d dy
y' ' ( x) = f ( x, y ) = f x ( x, y ) + f y ( x, y ) = f x ( x, y ) + f y ( x, y ) f ( x, y )
dx dx
De igual forma se pueden encontrar expresiones para la tercera, cuarta y demás derivadas.
El método de Euler es el mismo método de las series de potencias cuando la serie se trunca en el
segundo término, así:
y k +1 = y k + hf ( xk , y k )
El error de truncamiento en cada paso, o error de truncamiento local, viene dado por:
h2
εk = y ' ' (ω k ) , x k < ω k < x k + h
2
Geométricamente, el error de truncamiento local está asociado a la concavidad de la curva en el
intervalo: [ x k , x k + h] y es proporcional a la segunda potencia del tamaño de paso.
El error global que se comete después de n iteraciones se puede estimar de la siguiente manera:
h2
En la primera iteración: y1 = y 0 + hf ( x0 , y 0 ) + y ' ' (ω 0 )
2
h2
En la segunda iteración: y 2 = y1 + hf ( x1 , y1 ) + y ' ' (ω1 )
2
h2
y 2 = y 0 + h( f ( x0 , y 0 ) + f ( x1 , y1 ) ) + ( y' ' (ω 0 ) + y' ' (ω1 ))
2
Puede verse que en la iteración final, resulta:
k −1 n −1
h2
y n = y 0 + h∑ f ( x k , y k ) + ∑ y' ' (ω k )
k =0 2 k =0
191
∑ y" (ω k )
y" = k =0
n
Teniendo en cuenta que h = ( xf − xi ) / n , resulta que el error global es proporcional a la primera
potencia del tamaño de paso, razón por la cual el método de Euler es un método de primer orden.
y"
ε g = h( xf − xi)
2
Ejemplo 16.2
Usando el método de la serie con tres términos, resuelva el P.V.I:
dy
= e −x − y ; y ( 0) = 1 ; 0 ≤ x ≤ 2
dx
Solución.
Se toma n = 10 , con lo que el tamaño de paso es h = ( 2 − 0) / 10 = 0.2 y se llena la siguiente
tabla, teniendo en cuenta que f ( x, y ) = e − x − y , f ' ( x, y ) = −2e − x + y
k Xk Yk f ( X k , Yk ) f ' ( X k , Yk )
1 0.0 1.0 0.0 -1.0
2 0.2 0.9800 -0.1613 -0.6575
3 0.4 0.9346 -0.2643 -0.4060
4 0.6 0.8736 -0.3248 -0.2240
5 0.8 0.8042 -0.3548 -0.0945
6 1.0 0.7313 -0.3634 -0.0044
7 1.2 0.6585 -0.3573 0.0562
8 1.4 0.5882 -0.3416 0.0950
9 1.6 0.5218 -0.3199 0.1180
10 1.8 0.4602 -0.2949 0.1296
11 2.0 0.4038
ans =
0 1.0000
0.2000 0.9800
0.4000 0.9346
0.6000 0.8736
0.8000 0.8042
1.0000 0.7313
1.2000 0.6585
1.4000 0.5882
1.6000 0.5218
1.8000 0.4602
2.0000 0.4038
192
>> plot(X,Y)
>> grid on
0.9
0.8
0.7
0.6
0.5
0.4
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
Figura 16.6
ans =
0 1.0000
0.2000 0.9800
0.4000 0.9346
0.6000 0.8736
0.8000 0.8042
1.0000 0.7313
1.2000 0.6585
1.4000 0.5882
1.6000 0.5218
1.8000 0.4602
2.0000 0.4038
0.9
0.8
0.7
0.6
0.5
0.4
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
Figura 16.7
Ypk = Yk + αhf ( X k , Yk )
194
Figura 16.8
Ypk = Yk + αhM 1k
El valor encontrado recibe el nombre de predictor y con base en el mismo podemos estimar el valor
de la pendiente de la recta tangente a la curva en el punto intermedio, así:
M 2 k = f ( X k + αh, Ypk )
Con los resultados obtenidos para las pendientes se encuentra la pendiente promedio ponderada,
así:
M k = a1 M 1k + a 2 M 2 k ; a1 + a 2 = 1
Yk +1 = Yk + hM k
Tal como puede derivarse de lo presentado, existen infinitas versiones del método de Runge -
Kutta de segundo orden, pero las que se usan comúnmente son las siguientes:
7) Se ingresa alfa
8) Se ingresan los factores de peso
9) Se genera el vector de abscisas: X = xi : h : xf
10) Se introduce la función para la pendiente: f ( x, y )
11) Se calcula la pendiente al principio del intervalo: M 1k (k ) = f ( X k , Yk )
12) Se calcula el predictor: Ypk = Yk + αhM 1k
13) Se calcula la pendiente en el punto intermedio: M 2 k = f ( X k + αh, Ypk )
14) Se calcula la pendiente ponderada: M k = a1 M 1k + a 2 M 2 k
15) Se Calcula la próxima iteración: Yk +1 = Yk + hM k
16) Se representa gráficamente.
Ejemplo 16.3
Resuelva el problema del ejemplo anterior por el método de Heun
Solución.
Le aplicamos el correspondiente algoritmo y se llena la siguiente tabla:
k Xk Yk M 1k M 2k Mk
1 0.0 1 0 -0.1813 -0.0906
2 0.2 0.9819 -0.1631 -0.2789 -0.2210
3 0.4 0.9377 -0.2673 -0.3354 -0.3014
4 0.6 0.8774 -0.3286 -0.3623 -0.3455
5 0.8 0.8083 -0.3590 -0.3686 -0.3638
6 1.0 0.7355 -0.3677 -0.3608 -0.3642
7 1.2 0.6627 -0.3615 -0.3438 -0.3526
8 1.4 0.5922 -0.3456 -0.3212 -0.3334
9 1.6 0.5255 -0.3236 -0.2955 -0.3095
10 1.8 0.4636 -0.2983 -0.2834 -0.2834
11 2.0 0.4069
Al corer el programa con los datos del ejemplo anterior, usando el método de Ralston, se tiene:
numero de iteraciones = 10
abscisa inicial = 0
abscisa final = 2
ordenada inicial = 1
factor de peso 1= 1/3
factor de peso 2= 2/3
entre el alfa= 0.75
entrar la funcion f(x,y) = 'exp(-x)-y'
ans =
0 1.0000
0.2000 0.9814
0.4000 0.9369
0.6000 0.8765
0.8000 0.8073
1.0000 0.7345
1.2000 0.6617
1.4000 0.5912
1.6000 0.5246
1.8000 0.4628
2.0000 0.4062
La figura 16-9 muestra la gráfica correspondiente.
M 1k = f ( X k , Yk )
M 2 k = f ( X k + αh, Yk + αhM 1k )
M 3(k ) = f ( X k + βh, Yk + αhM 1k + βhM 2 k )
197
0.9
0.8
0.7
0.6
0.5
0.4
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
Figura 16.9
Mk =
1
[M 1k + 4 M 2 k + M 3k ]
6
Donde, las pendientes vienen dadas por:
M 1k = f ( X k , Yk )
M 2 k = f ( X k + h / 2, Yk + hM 1k / 2)
M 3k = f ( X k + h, Yk − M 1k + 2 M 2 k )
clear all
%Programa para resolver un problema de valor inicial de primer orden
%por el método Runge-Kutta de orden tres
%La formulación del problema es: y'=f(x,y);y(xi)=yi en el intervalo:[xi,xf]
% con n iteraciones.
% Entrada de la información
n=input('número de iteraciones = ');
xi=input('abscisa inicial = ');
xf=input('abscisa final = ');
yi=input('ordenada inicial = ');
f=input('entrar la función f(x,y) = ');
% El tamaño de paso se calcula como
h=(xf-xi)/n;
%El vector de abscisas se calcula como
X=xi:h:xf;
%El vector de ordenadas se calcula como
198
Y(1)=yi;
for k=1:n
x=X(k);
y=Y(k);
M1(k)=eval(f);
x=x+h/2;
y=y+h*M1(k)/2;
M2(k)=eval(f);
x=x+h/2;
y=y+h*M1(k)/2-3*h*M1(k)/2+2*h*M2(k);
M3(k)=eval(f);
M(k)=(M1(k)+4*M2(k)+M3(k))/6;
Y(k+1)=Y(k)+h*M(k);
end
[X' Y']
plot(X,Y,'k')
grid on
Ejemplo 16.4
Usando el método de Runge-Kutta de tercer orden, resuelva el P.V.I:
dy
= e −x − y y (0) = 1 ; 0 ≤ x ≤ 2
dx
Solución.
Ejecutando el programa se tiene:
>> rk3
numero de iteraciones = 10
abscisa inicial = 0
abscisa final = 2
ordenada inicial = 1
entrar la funcion f(x,y) = 'exp(-x)-y'
ans =
0 1.0000
0.2000 0.9825
0.4000 0.9391
0.6000 0.8795
0.8000 0.8111
1.0000 0.7388
1.2000 0.6664
1.4000 0.5961
1.6000 0.5296
1.8000 0.4677
2.0000 0.4110
end
[X' Y']
plot(X,Y,'k')
grid on
ans =
0 1.0000
0.2000 0.9825
0.4000 0.9384
0.6000 0.8781
0.8000 0.8088
1.0000 0.7358
1.2000 0.6626
1.4000 0.5918
1.6000 0.5249
1.8000 0.4628
2.0000 0.4060
0.9
0.8
0.7
0.6
0.5
0.4
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
Figura 16.10
EJERCICIOS
Resuelva los siguientes problemas de valor inicial por los métodos de:
a) Euler
b) Taylor de segundo orden
c) Heun
d) Euler mejorado
e) Ralston
e) RK dos
f) RK tres
201
g) RK cuatro
En cada caso tome n = 20
dx
1) = x(10 − x) ; x(0) = 1 ; 0 ≤ t ≤ 5
dt
dx x − t
2) = x ( 0) = 0 ; 0 ≤ t ≤ 5
dt x + t
dx
3. = tx + tx 2 x(0) = 1 ; 0 ≤ t ≤ 5
dt
dx
4. (t − 2) = xt x(0) = 1 ; 0 ≤ t ≤ 1
dt
dx
5. = x + x 2 + t x ( 0) = 1 ; 0 ≤ t ≤ 1
dt
202
MÓDULO 17
PROBLEMAS DE VALOR INICIAL DE SEGUNDO ORDEN
TEORÍA GENERAL
En este módulo se presenta la teoría resumida asociada a las ecuaciones diferenciales de segundo
orden y se desarrollará el siguiente contenido.
17.1. Introducción
17.2. La ecuación diferencial lineal de segundo orden.
17.3. Problemas de valor inicial de segundo orden
17.4. Ecuaciones diferenciales lineales de coeficientes constantes
17.5. La ecuación diferencial de Euler-Cauchy.
17.6. Solución de ecuaciones lineales con Matlab.
17.7. Ecuaciones diferenciales no lineales
17.1. Introducción.
Una ecuación diferencial ordinaria de segundo orden es una expresión que relaciona una variable
dependiente: y y sus dos primeras derivadas con respecto a una variable independiente x , así:
Por analogía con las ecuaciones diferenciales de primer orden, una solución general de la ecuación
diferencial es una familia de curvas del plano que contiene dos constantes arbitrarias, así:
F ( x, y, C1 , C2 ) = 0
1) y ' '− xy = 0
2) a 2 y ' '+ a1 y '+ a0 y = f (t )
3) y ' '+4 sen ( y ) = f (t )
4) (1 − x 2 ) y ' '−2 xy '+ p ( p + 1) y = f ( x )
5) x 2 y ' '+ xy '+( x 2 − γ 2 ) = 0
De las ecuaciones mostradas, la tercera es no lineal y el resto son lineales. La segunda ecuación
es de coeficientes constantes y recibe el nombre de ecuación de oscilaciones. La primera ecuación
es la ecuación de Airy. La cuarta es la ecuación diferencial de Legendre y la última es la ecuación
diferencial de Bessel.
Nuestro interés se concentrará en desarrollar métodos para resolver ecuaciones diferenciales de
orden superior, particularmente las lineales.
Ejemplo 17.1
Considere la familia de curvas del plano 2 xy − a − bx = 0 , con: a, b constantes reales.
Solución.
a) La figura 17.1 muestra las dos curvas de la familia
2 x y-3+x = 0
5
a=1, b=1
4
a=3,b=-1
3
0
y
-1
-2
-3
-4
-5
-5 -4 -3 -2 -1 0 1 2 3 4 5
x
Figura 17.1
b) Tomando la primera derivada, resulta:
2 xy '+2 y − b = 0
Derivando de nuevo, se tiene:
2 xy ' '+2 y '+2 y ' = 0
2
En consecuencia, la ecuación diferencial de la familia es: y ' '+ y' = 0
x
Ejemplo 17.2
204
y = C1e − x + C2 e −2 x + x
Solución.
Se deriva dos veces la expresión, así:
y ' = −C1e − x − 2C 2 e −2 x + 1
y ' ' = C1e − x + 4C 2 e −2 x
e− x e −2 x C1 y − x
−x =
− e − 2e −2 x C 2 y '−1
y−x e −2 x e− x y−x
y '−1 − 2e −2 x − e−x y '−1
C1 = C2 =
e−x e −2 x e −x e −2 x
− e−x − 2e − 2 x − e −x − 2e −2 x
C1 = e x (2 y − 2 x + y '−1)
C 2 = e 2 x ( − y + x − y '+1)
y = C1 y1 + C 2 y 2 + y ss
y1 y 2 C1 y − y ss
y ' =
1 y 2 ' C2 y '− y ss '
y1 y2
Dónde: W ( x) = es el determinante del sistema y recibe el nombre de Wronskiano de las
y1 ' y2 '
funciones y1 , y2 . Veremos que si las funciones son linealmente independientes en un intervalo I ,
el Wronskiano es diferente de cero en el intervalo. Sustituyendo los valores hallados en la segunda
derivada, resulta la ecuación diferencial:
y1 y2 y1 ' y 2 '
y ' ' y2 ' ' y ' ' y2 ' '
p( x ) = − 1 ; q( x ) = 1
W ( x) W ( x)
r ( x ) = y ss ' '+ p( x ) y ss '+ q( x ) y ss
206
Ejemplo 17.3
Encuentre la ecuación diferencial correspondiente a la primitiva:
y = C1 x + C2 e − x + x 2
Solución
El Wronskiano de las funciones viene dado por:
x e−x
W ( x) = = −e − x ( x + 1)
1 − e−x
En cuanto a p ( x) y q ( x) , tenemos:
x e− x 1 − e− x
0 e −x x 0 e−x 1
p( x ) = − −x
= ; q ( x ) = −x
=−
− e ( x + 1) x + 1 − e ( x + 1) x +1
x 1 2 2( x + 1) + 2 x 2 − x 2 2 + 2 x + x 2
r( x) = 2 + 2x − x = =
x +1 x +1 x +1 x +1
x 1 x2 + 2x + 2
y ' '+ y '− y=
x +1 x +1 x +1
(D 2
+ p ( x ) D + q ( x ) )y = r ( x )
L2 ( x, D ) = D 2 + p( x ) D + q( x )
Con base en lo anterior, una forma simplificada de denotar a una ecuación diferencial lineal de
segundo orden es:
L2 ( x, D ) y = r ( x )
Al principio de la sección se dedujo que la primitiva de una ecuación diferencial lineal de segundo
orden es una familia de curvas del plano de la forma:
y = C1 y1 + C2 y2 + yss
Por analogía con lo estudiado para la ecuación diferencial lineal de primer orden, diremos que la
solución general de la ecuación diferencial lineal de segundo orden consta de dos partes a saber:
y = yc + yss
y c = C1 y1 + C2 y 2
208
Teorema.
Prueba.
La prueba del teorema se puede presentar en los siguientes términos:
L2 ( x, D ) y1 ≡ 0
L2 ( x, D ) y 2 ≡ 0
C1 L2 ( x, D ) y1 ≡ 0 ⇒ L2 ( x, D )C1 y1 ≡ 0
C 2 L2 ( x, D ) y 2 ≡ 0 ⇒ L2 ( x, D )C2 y 2 ≡ 0
L2 ( x, D )[C1 y1 + C2 y 2 ] ≡ 0
Con los mismos argumentos, sí yss es una solución particular de la no homogénea, la solución
general de la no homogénea viene dada por:
y = yc + yss = C1 y1 + C2 y2 + yss
Geométricamente, la solución del problema es la curva del plano que satisface la ecuación
diferencial, pasa por el punto ( x0 , y0 ) y la pendiente de la recta tangente a la curva en el punto es
p0 . La solución del problema de valor inicial se obtiene a partir de la solución general, así:
y ( x ) = C1 y1 ( x ) + C 2 y 2 ( x ) + y ss ( x )
y ' ( x ) = C1 y1 ' ( x ) + C2 y 2 ' ( x ) + y ss ' ( x )
y1 ( x0 ) y 2 ( x0 ) C1 y0 − y ss ( x0 )
y ' (x ) =
1 0 y 2 ' ( x0 ) C 2 p0 − y ss ' ( x0 )
Ejemplo 17.4
Resuelva el problema de valor inicial siguiente, indicando el intervalo de validez y la representación
gráfica.
y ( x ) = C1 x + C 2 e − x + x 2
Es importante precisar que:
x
p( x ) =
x +1
−1
q( x ) =
x +1
x2 + 2x + 2
r( x) =
x +1
1 e −1 C1 0
−1 =
1 − e C2 − 1
0
-1 -0.5 0 0.5 1 1.5 2 2.5 3
Figura 17.2
y = y1 ( x)u ( x)
Derivando dos veces, resulta:
y1u ' '+2 y1 ' u'+ y1 ' ' u + p ( x )[ y1u'+ y1 ' u ] + q( x ) y1u ≡ r ( x )
2y ' r( x )
u' '+ 1 + p ( x ) u' =
y1 y1
La ecuación diferencial es reducible a una de primer orden mediante el cambio de variable u ' = z ,
así:
dz 2 y1 ' r( x)
+ + p ( x ) z =
dx y1 y1
Puesto que la ecuación diferencial es lineal, su factor integrante viene dado por:
Φ ( x ) = y1 e ∫
2 p ( x ) dx
⌠ r( x)
z = AΦ −1 + Φ −1 Φ dx
⌡ y1
A es una constante arbitraria.
Integrando de nuevo, se obtiene:
⌠ ⌠ r( x)
u( x ) = B + A∫ Φ −1dx + Φ −1 Φ dxdx
⌡ ⌡ y1
212
⌠ ⌠ r( x)
y ( x ) = By1 + Ay1 ∫ Φ −1dx + y1 Φ −1 Φ dxdx
⌡ ⌡ y1
y2 = y1 ∫ Φ −1dx
⌠ ⌠ Φr( x )
y ss = y1 Φ −1 dxdx
⌡ ⌡ y1
Ejemplo 17.5
Encuentre la solución general de la ecuación diferencial siguiente, sabiendo que y = x es una
solución de la homogénea.
Solución.
Con base en la ecuación, se tiene que p ( x ) = 1 / x , por tanto, el factor integrante es:
Φ ( x ) = y1 e ∫ = x 2e ∫
−1
p ( x ) dx x dx
= x 2 e ln( x ) = x 3
2
1 −1
y2 = y1 ∫ Φ −1dx = x ∫ x −3dx = − x
2
⌠ ⌠ Φr( x ) ⌠ x 3 ⋅ x −1
y ss = y1 Φ −1 dxdx = x x −3 ⌠
dxdx
⌡ ⌡ y1 ⌡ ⌡ x
213
1
Evaluando las integrales, resulta: y ss = x ln( x )
2
1
y ( x ) = C1 x + C2 x −1 + x ln( x )
2
(D 2
+ pD + q )y ( x ) = r ( x )
L(λ ) = λ2 + pλ + q
λ2 + pλ + q = 0
− p± p 2 − 4q
λ1 , λ2 =
2
1) El discriminante: p 2 − 4q es positivo.
214
{y1 , y2 } = {e λ x , e λ x }
1 2
3) El discriminante es negativo.
Podemos concluir que para hallar un conjunto fundamental de soluciones de la ecuación diferencial
homogénea de segundo orden basta con encontrar los valores característicos y ubicarnos en uno
de los tres casos posibles.
Ejemplo 17.6
Encuentre un conjunto fundamental de soluciones para cada una de las siguientes ecuaciones
diferenciales:
1) ( D 2 + 3D + 2) y ( x ) = 0
2) ( D 2 + 2 D + 1) y ( x ) = 0
3) ( D 2 + 2 D + 2) y ( x ) = 0
4) ( D 2 + 4) y ( x ) = 0
Solución.
{y1 , y2 } = {e − x , e −2 x }
{y1 , y2 } = {e − x , xe − x }
Obsérvese que para hallar la ecuación característica basta con sustituir el operador D de la
ecuación diferencial por la variable λ . En general, para la ecuación de segundo orden, la ecuación
característica es:
aλ2 + bλ + c = 0
y1 y 2 u1 ' 0
y ' =
1 y2 ' u2 ' r ( x )
0 y2 y1 0
r( x) y2 ' y1 ' r ( x )
u1 ' = u2 ' =
W ( x) W ( x)
Las funciones se determinan por integración y teniendo en cuenta que las constantes de
integración se hacen iguales a cero.
Ejemplo 17.7
Encuentre la solución general de la ecuación diferencial:
( D 2 + 3D + 2) y ( x ) = xe − x
Solución.
Con base en el ejemplo anterior, un conjunto fundamental de soluciones de homogénea es
{y1 , y2 } = {e − x , e −2 x }
y ss = e − x u1 + e −2 x u2
e− x e −2 x u1 ' 0
−x = −x
− e − 2e −2 x u2 ' xe
217
1 2 −x
y ( x ) = C1e − x + C 2 e −2 x + x e − xe − x
2
{x λ1
, x λ2 }
{x α
, x α ln( x ) ; x > 0}
{x α
cos(ω ln( x ) ), x α sen (ω ln( x ) ); x > 0}
Ejemplo 17.7
Encuentre un conjunto fundamental de soluciones para cada una de las siguientes ecuaciones
diferenciales:
Solución.
{x 2
, x −2 }; x > 0
Ejemplo 17.8
219
Solución.
y ss = x 2 u1 + x −2 u 2
x2 x −2 u1 ' 0
−3 = −1
2 x − 2 x u 2 ' 4 x
−1 0 x −2
− 4 x u1 ' = ⇒ u1 ' = x −2 ⇒ u1 = − x −1
4 x −1 − 2x −3
x2 0
− 4 x −1u2 ' = −1
⇒ u2 ' = − x 2 ⇒ u2 = − x 3 / 3
2x 4x
La solución particular es:
y ss = x 2 (− x −1 ) + x −2 (− x 3 / 3) = −4 x / 3
y ( x ) = C1 x 2 + C 2 x −2 − 4 x / 3
1 1 C1 7 / 3
2 − 2 C = 4 / 3
2
0
0.5 1 1.5 2 2.5
Figura 17.3
Ejemplo 17.9.
Determine la solución general de la ecuación diferencial: ( D
2
+ 3D + 2) y ( x) = xe− x
Solución.
>> y=dsolve('D2y=x*exp(-x)-2*y-3*Dy','x')
y=
>> pretty(y)
2
x exp(-x)
---------- - exp(-x) (x - 1) + C14 exp(-x) + C15 exp(-2 x)
2
Las constantes arbitrarias son C14 y C15. Observe que la solución se puede escribir como:
x 2e− x
y= − xe − x + e − x + C14 e − x + C15e −2 x
2
x 2e− x
y= − xe − x + C1e − x + C2 e −2 x
2
Ejemplo 17.10.
Determine la solución general de la ecuación diferencial: x 2 y ' '+ xy '−4 y = 4 x
Solución.
222
>> y=dsolve('D2y=4/x-Dy/x+4*y/x/x','x')
y=
>> pretty(y)
2 4 x C18
C17 x - --- + ---
3 2
X
Las constantes arbitrarias son C17 y C18. Observe que la solución se puede escribir como:
4x
y=− + C17 x 2 + C18 x −2
2
Ejemplo 17.11
Resuelva el problema de valor inicial ( D
2
+ 3D + 2) y ( x ) = xe − x ; y (0) = 1 , Dy (0) = 1
Solución.
y = dsolve(' D 2 y = x * exp( − x ) − 2 * y − 3 * Dy ' , ' y (0) = 1' , ' Dy (0) = 1' , ' x ' )
>> y=dsolve('D2y=x*exp(-x)-2*y-3*Dy','y(0)=1','Dy(0)=1','x')
y=
223
ans =
x 2e− x
y= − xe − x + 4e − x − 3e −2 x
2
d 2 y( x) dy ( x )
2
= f x, y ,
dx dx
dp
dx = f ( x )
dy
=p
dx
Ejemplo 17.12
Encuentre la solución general de la ecuación diferencial:
d2
y = sen( x )
dx 2
Solución.
224
dy
Si se hace el cambio de variable p= , la ecuación diferencial se convierte en un sistema de
dx
dos ecuaciones diferenciales de primer orden, así:
dp
dx = sen ( x )
dy
=p
dx
d2 dy
2
y = f x,
dx dx
dy
Para resolver la ecuación diferencial se hace el cambio de variable p= , con lo que la
dx
ecuación diferencial original se convierte en un sistema de dos ecuaciones diferenciales de primer
orden, así:
dp
dx = f ( x, p )
dy
=p
dx
Es claro que para obtener la solución se requiere que p se pueda obtener explícitamente en
función de x
Ejemplo 17.13
Encuentre la solución general de la ecuación diferencial:
d 2 y dy
x + = x cos( x )
dx 2 dx
Solución.
Con el cambio de variable resulta el sistema de ecuaciones:
dp 1
dx + x p = cos( x )
dy
=p
dx
225
Φ = e∫
x −1 dx
La primera es una ecuación diferencial lineal cuyo factor integrante es = x . La
solución general será:
xp = C1 + ∫ x cos( x )dx
cos( x )
Evaluando la integral y despejando p tenemos: p = C1 x −1 + − sen ( x )
x
Al sustituir en la segunda ecuación diferencial, resulta:
cos( x )
y = C1 ln( x ) + cos( x ) + ∫ dx + C 2
x
Es claro que si x ≠ 0 la integral indicada se puede escribir mediante su serie de Taylor, así:
x 2 4! 5!
⌡ x ⌡ 4 96 720
Con base en lo anterior, sí: A y B son constantes arbitrarias, la solución general de la ecuación
diferencial es:
x2 x4 x6
y = A + B ln( x ) + cos( x ) − + − + .... x ≠ 0
4 96 720
17.7.3. Ecuaciones diferenciales de la forma:
d2y dy
2
= f y,
dx dx
dy
Para resolver este tipo de ecuaciones diferenciales se hace el cambio de variable: p= y se
dx
aplica la regla de la cadena:
dp dp dy dp
= =p
dx dy dx dy
Ejemplo 17.14
Encuentre la solución general de la ecuación diferencial:
d2y
= − sen ( y )
dx 2
Solución.
Al hacer el cambio de variable resulta el sistema de ecuaciones:
226
dp
p dy = − sen ( y )
dy
=p
dx
La primera ecuación es de variables separables y se resuelve de la siguiente manera:
1 2
pdp = − sen( y )dy p = cos( y ) + C1
2
La solución para p se puede expresar como: p = ± 2 cos( y ) + 2C1
La segunda ecuación diferencial queda como:
dy
= ± 2dx
cos( y ) + A
El inconveniente que se presenta es el de la imposibilidad de resolver la integral de la izquierda, sin
embargo se puede expandir en series de potencias, resultando:
C3 3
Cy + y + ... = ± 2 x + D
12
Ejemplo 17.15
Resuelva el problema de valor inicial:
Solución.
Haciendo los cambios correspondientes, resulta el sistema de ecuaciones:
dp
yp dy = p (1 + p )
dy
=p
dx
dp dy
La primera ecuación se puede expresar en la forma: = y tiene como solución general
p +1 y
p = Cy − 1 . Ahora, con base en la condición inicial, se tiene que C = 2 , con lo que p = 2 y − 1 .
Sustituyendo en la otra ecuación resulta:
dy dy
= 2y −1 ⇒ = dx
dx 2y −1
1
Al integrar, se obtiene: ln 2 y −1 = x + C
2
Con base en la condición inicial resulta: C = 0
e2 x + 1
En consecuencia, la solución del problema es: y=
2
Con la ayuda del paquete se encuentra la gráfica de la figura 17.4
227
30
25
20
15
10
0
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
Figura 17.4
EJERCICIOS
1) Dada la ecuación diferencial: y ' '+2αy '+α 2 y = 0
a) Muestre que y1 = e −αx es una solución de la ecuación diferencial
b) Usando el método de reducción de orden, muestre que la otra solución es: y2 = xe−αx
c) Resuelva el problema de valor inicial formado con la ecuación diferencial y las condiciones
iniciales y (1) = 1 y '(1) = 0 , indicando el intervalo de validez de la solución.
6) Resuelva los siguientes problemas de valor inicial, tanto analíticamente como con dsolve.
1
e) y ' '+ y '+2( y ' ) 2 = 0
x
229
230
MÓDULO 18
PROBLEMAS DE VALOR INICIAL DE SEGUNDO ORDEN
SOLUCIÒN NUMÉRICA
En este módulo se presentan los métodos numéricos para resolver un problema de valor inicial de
segundo orden y se desarrollará el siguiente contenido:
Al efectuar el cambio de variable: y ' = p resulta un sistema de dos ecuaciones con dos incógnitas,
así:
d p f ( t , y , p )
=
dt y p
El sistema de ecuaciones es un caso particular de un sistema de ecuaciones de la forma:
d x1 (t ) f1 (t , x1 , x 2 ) x (0) x i
= ; 1 = 1
dt x2 (t ) f 2 (t, x1 , x2 ) x 2 ( 0) x 2 i
Para resolver el problema se puede proceder de manera analítica o numérica. Cuando el sistema
es lineal siempre es posible encontrar la solución analítica. Para sistemas no lineales se recurre a
las técnicas numéricas previamente desarrolladas. La solución de sistemas lineales hace parte de
un curso regular de ecuaciones diferenciales y, por tanto, nos concentraremos en los sistemas no
lineales.
dx
= f (t , x, y ) ; x (ti ) = xi
dt
dy
= g (t , x, y ) ; y (ti ) = yi
dt
X ( k + 1) = X (k ) + hf (T ( k ), X ( k ), Y (k ) )
Y (k + 1) = Y (k ) + hg (T ( k ), X (k ), Y ( k ) )
Solución.
Se hace el cambio de variable de variable y ' (t ) = x(t ) , con lo que resulta el sistema de
ecuaciones:
dx
= 8 − 4 y − 5 x ; x ( 0) = 0
dt
dy
= x ; y ( 0) = 0
dt
A continuación se aplica el algoritmo y se llena la tabla de resultados.
10) Con la condición inicial se genera el primer elemento del primer vector de ordenadas:
X (1) = xi
11) Con la condición inicial se genera el primer elemento del segundo vector de ordenadas:
Y (1) = yi
12) Se generan los demás elementos del primer vector de ordenadas:
X ( k + 1) = X (k ) + hf (T ( k ), X ( k ), Y (k ) )
Y (k + 1) = Y (k ) + hg (T ( k ), X (k ), Y ( k ) )
k T (k ) X (k ) Y (k ) f (T ( k ), X ( k ), Y ( k )) g (T (k ), X ( k ), Y ( k ))
1 0.0 0 0 8.0 0.0
2 0.4 3.2000 0.0 -8.0 3.2
3 0.8 0.0 1.28 2.88 0.0
4 1.2 1.152 1.28 -2.88 1.152
5 1.6 0.0 1.7408 1.0368 0
6 2.0 0.4147 1.7408 -1.0368 0.4147
7 2.4 0.0 1.9067 0.3732 0.0
8 2.8 0.1493 1.9067 -0.3732 0.1493
9 3.2 0.0 1.9664 0.1344 0.0
10 3.6 0.0537 1.9664 -0.1344 0.0537
11 4.0 0.0 1.9879
3.5
gráfica de x
gráfica de y
3
2.5
1.5
0.5
0
0 0.5 1 1.5 2 2.5 3 3.5 4
Figura 18.1
233
Ejemplo 18.2
Determine la solución analítica del problema y haga un análisis del error.
Solución.
y ' ' ( t ) + 5 y ' (t ) + 4 y (t ) = 8 ; y (0) = 0, y ' (0) = 0
Con base en lo presentado en el módulo anterior, la solución general de la ecuación diferencial es:
y (t ) = C1e − t + C2 e −4 t + 2
x(t ) = y ' (t ) = −C1e −t − 4C 2 e −4t
8 2
y ( t ) = − e −t + e − 4 t + 2
3 3
8 8
x ( t ) = y ' (t ) = e −t − e − 4 t
3 3
La tabla siguiente ilustra la solución numérica comparada con la analítica.
k T (k ) X (k ) Y (k ) xe ye xe − x(k ) ye − y (k )
1 0.0 0 0 0.0 0.0 0 0
2 0.4 3.2000 0.0 1.2491 0.3471 1.9509 0.3471
3 0.8 0.0 1.28 1.0895 0.8290 1.0895 0.451
4 1.2 1.152 1.28 0.7812 1.2023 0.3708 0.0777
5 1.6 0.0 1.7408 0.5340 1.4627 0.5340 0.2781
6 2.0 0.4147 1.7408 0.3600 1.6393 0.0547 0.1015
7 2.4 0.0 1.9067 0.2417 1.7581 0.2417 0.1486
8 2.8 0.1493 1.9067 0.1621 1.8378 0.0128 0.0689
9 3.2 0.0 1.9664 0.1087 1.8913 0.1087 0.0751
10 3.6 0.0537 1.9664 0.0729 1.9271 0.0192 0.0393
11 4.0 0.0 1.9879 0.0488 1.9512 0.0488 0.0367
Ejemplo 18.3
Usando el programa, resuelva el siguiente problema de valor inicial en el intervalo 0 ≤ t ≤ 4 , con
100 iteraciones.
y ' ' ( t ) + 5 y ' (t ) + 4 y (t ) = 8 ; y (0) = 0, y ' (0) = 0
>> euleror2
numero de iteraciones = 100
abscisa inicial = 0
abscisa final = 4
primera ordenada inicial = 0
segunda ordenada inicial = 0
entrar la funcion f(t,x,y) = '8-4*y-5*x'
entrar la funcion g(t,x,y) = 'x'
La figura 18.2 muestra la solución gráfica, mientras que la figura 18.3 ilustra la solución analítica.
Puede observarse que las soluciones coinciden, es decir, el error absoluto es prácticamente cero.
La figura 18.3 se obtuvo usando la rutina siguiente:
t=0:0.04:4;
x=8*(exp(-t)-exp(-4*t))./3;
y=2-8*exp(-t)./3+2*exp(-4*t)./3;
plot(t,x)
grid on
hold on
plot(t,y,’k’)
235
1.8
1.6
1.4
1.2
0.8
0.6
0.4
0.2
0
0 0.5 1 1.5 2 2.5 3 3.5 4
Figura 18.2
1.8
1.6
1.4
1.2
0.8
0.6
0.4
0.2
0
0 0.5 1 1.5 2 2.5 3 3.5 4
Figura 18.3
Ejemplo 18.4
Resuelva el problema de valor inicial en el intervalo 0 ≤ t ≤ 2 .
a) Con n = 20
b) Con n = 200
236
Solución.
Se hace el cambio de variable x = y ' , con lo que resulta el sistema de ecuaciones:
dx x(1 + x )
dt = y
dy = x
dt
>> euleror2
numero de iteraciones = 20
abscisa inicial = 0
abscisa final = 2
primera ordenada inicial = 1
segunda ordenada inicial = 1
entrar la funcion f(t,x,y) = 'x*(1+x)/y'
entrar la funcion g(t,x,y) = 'x'
La figura 18.4 ilustra la gráfica correspondiente.
40
35
30
25
20
15
10
0
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
Figura 18.4
>> euleror2
numero de iteraciones = 200
abscisa inicial = 0
abscisa final = 2
primera ordenada inicial = 1
segunda ordenada inicial = 1
entrar la funcion f(t,x,y) = 'x*(1+x)/y'
entrar la funcion g(t,x,y) = 'x'
La figura 18.5 ilustra la gráfica correspondiente.
237
60
50
40
30
20
10
0
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
Figura 18.5
x=x+h*M1x(k)/2;
y=y+h*M1y(k)/2;
M2x(k)=eval(f);
M2y(k)=eval(g);
t=t;
x=x-h*M1x(k)/2+h*M2x(k)/2;
y=y-h*M1y(k)/2+h*M2y(k)/2;
M3x(k)=eval(f);
M3y(k)=eval(g);
t=t+h/2;
x=x+h*M3x(k)-h*M2x(k)/2;
y=y+h*M3y(k)-h*M2y(k)/2;
M4x(k)=eval(f);
M4y(k)=eval(g);
Mx(k)=(M1x(k)+2*M2x(k)+2*M3x(k)+M4x(k))/6;
My(k)=(M1y(k)+2*M2y(k)+2*M3y(k)+M4y(k))/6;
X(k+1)=X(k)+h*Mx(k);
Y(k+1)=Y(k)+h*My(k);
end
[T' X' Y']
plot(T,X,'x')
hold on
plot(T,Y,'o')
grid on
Ejemplo 18.5
Usando el método de Runge-Kutta de orden 4, resuelva el problema de valor inicial en el intervalo
0 ≥ t ≤ 2 con 20 particiones
Solución.
Ejecutamos el programa, así:
>> rk4or2
numero de iteraciones = 20
abscisa inicial = 0
abscisa final = 2
primera ordenada inicial = 1
segunda ordenada inicial = 1
entrar la funcion f(t,x,y) = 'x*(1+x)/y'
entrar la funcion g(t,x,y) = 'x'
La figura 18.6 ilustra la gráfica. Note la similitud con la figura 18.5, la cual corresponde al método
de Euler con 100 particiones.
239
60
50
40
30
20
10
0
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
Figura 18.6
Solución.
Adoptaremos el modelo de Lotka-Volterra, ampliamente usado, para resolver el problema.
a) La tasa de variación de la cantidad de presas es igual al número de presas que entran en la
unidad de tiempo (Reproducción) menos el número de presas que salen en la unidad de tiempo
(Capturadas por el depredador). El término positivo debe ser proporcional a la cantidad de presas
en todo instante, mientras que el negativo será proporcional al producto entre el número de presas
y el número de depredadores. Matemáticamente, resulta:
dx(t )
= ax (t ) − bx(t ) y (t )
dt
b) De otro lado, la tasa de variación de la cantidad de depredadores, mediante un razonamiento
similar, viene dada por:
dy (t )
= −cy (t ) + dx(t ) y (t )
dt
Claramente se observa que el sistema de ecuaciones resultante es no lineal y en consecuencia
debe ser resuelto usando técnicas numéricas. Supongamos que las constantes de
proporcionalidad son:
dx(t )
= 4 x(t ) − 0.8 x(t ) y (t )
dt
dy (t )
= −0.15 y (t ) + 0.1x(t ) y (t )
dt
>> rk42x2
numero de iteraciones = 300
abscisa inicial = 0
abscisa final = 30
primera ordenada inicial = 5
segunda ordenada inicial = 5
entrar la funcion f(t,x,y) = '4*x-0.8*x*y'
entrar la funcion g(t,x,y) = '-0.15*y+0.1*x*y'
0
0 5 10 15 20 25 30
Figura 18.7
Dos tanques están acoplados de la forma ilustrada en la figura 18.8. Supongamos que, en el
instante t = 0 , el primer tanque contiene 50 litros de salmuera con una concentración de 0.25
libras de sal por litro y el segundo tanque está lleno con 50 litros de agua pura. Determine la
cantidad de sal en cada tanque en todo instante.
a) Analíticamente
b) Numéricamente usando el método de Runge-Kutta de orden 4
241
Figura 18.8
Solución.
Supongamos que las mezclas se mantienen homogéneas durante el proceso. Definimos las
variables del problema, así:
Planteando las ecuaciones de continuidad para las cantidades de sal, resultan las
la ecuaciones:
dx y 4x dx − 2 x y
Para el tanque 1: = 0+ − ⇒ = +
dt 50 50 dt 25 50
dy 4x y 3 y dy 2 x 2 y
Para el tanque 2: = − − ⇒ = −
dt 50 50 50 dt 25 25
a) Solución analítica.
D + 2 / 25 − 1 / 50 x (t ) 0
Se escribe el sistema en forma matricial, así: − 2 / 25 D + 2 / 25 y (t ) = 0
El problema
oblema de valor inicial asociado a la cantidad de sal en el primer tanque es:
2 4 3
D + D+ x(t ) = 0 x(0) = 12.5 x' (0) = −1
25 625
plot(t,y,’o’)
14
12
10
0
0 10 20 30 40 50 60 70 80 90 100
Figura 18.9
14
12
10
0
0 10 20 30 40 50 60 70 80 90 100
Figura 18.10
243
EJERCICIOS
Usando los métodos de Euler y Runge-Kutta de orden 4, resuelva los siguientes problemas de
valor inicial:
1) x 2 y ' '+ xy '−4 y = 3x ; y (1) = 1, y ' (1) = −1 en el intervalo 1 ≤ x ≤ 4 con 100 particiones.
2) xy ' ' +2 y '− xy = 3 x ; y (1) = 1, y ' (1) = −1 en el intervalo 1 ≤ x ≤ 4 con 100 particiones.
3) x y ' ' +2 y ' + xy = x ; y (1) = 1, y ' (1) = −1 en el intervalo 1 ≤ x ≤ 4 con 100 particiones.
2
( D + 1) x(t ) − y (t ) = sen (t )
11) x ( t ) + ( D + 1) y ( t ) = cos(t ) en el intervalo 0 ≤ x ≤ 5 con 100 particiones
x(0) = 0, y (0) = 0
( D + 1) x (t ) − y (t ) = 10
−t
12) − x (t ) + ( D + 1) y (t ) = e en el intervalo 0 ≤ x ≤ 5 con 100 particiones
x (0) = 0, y (0) = 0
( D + 2) x (t ) − y (t ) = 10sen (t )
x (t ) + Dy (t ) = 10e −t
13) en el intervalo 0 ≤ x ≤ 5 con 100 particiones
x ( 0) = 0 y ( 0) = 0
MÓDULO 19
PROBLEMAS CON VALOR EN LA FRONTERA DE SEGUNDO ORDEN
SOLUCIÓN ANALÍTICA Y SOLUCIÒN NUMÉRICA POR EL MÈTODO DEL
DISPARO
En este módulo se presenta la solución analítica y la solución numérica, por el método del disparo,
de un problema de valor inicial de segundo orden y se desarrollará el siguiente contenido:
d2y dy
2
= f x, y , y ( a ) = α , y ( b) = β
dx dx
Geométricamente, la solución del problema es la curva del plano que pasa por los puntos ( a, α ) y
(b, β ) . Un problema con valor en la frontera puede, eventualmente, tener solución analítica. En
general nos ocuparemos de la solución numérica del problema, pero desarrollaremos algunos
ejemplos que se pueden resolver de manera analítica.
R = {( x, y ) ∈ R 2 / (a ≤ x ≤ b ) ∧ (M 1 ≤ y ≤ M 2 )}
Figura 19.1
Ejemplo 19.1
Resuelva el problema con valor en la frontera:
245
Solución.
Primero que todo se encuentra un conjunto fundamental de soluciones de la homogénea, así:
1
yp = 20 ⇒ y p = 5
D +4
2
y = C1sen(2 x) + C2 cos(2 x) + 5
y = 5 − 5sen ( 2 x ) − 5 cos(2 x )
-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 19.2
>> y=dsolve('D2y=20-4*y','y(0)=0','y(pi/4)=0','x')
y=
5 - 5*sin(2*x) - 5*cos(2*x)
246
d2y dy
2
= f x, y , y ( a ) = α , y ( b) = β
dx dx
Primer disparo.
Se resuelve el problema de valor inicial con una pendiente p1 . Es recomendable tomar dicha
β −α
pendiente como: p1 =
b−a
d2y dy
2
= f x, y , y ( a ) = α , y ' ( a ) = p1
dx dx
y (b) = β1
Segundo disparo.
Se resuelve el problema de valor inicial con una pendiente: p 2 ≠ p1
d2y dy
2
= f x, y , y ( a ) = α , y ' ( a ) = p2
dx dx
y(b) = β2
Con la información obtenida de los dos primeros disparos se efectúa interpolación simple para
calcular la pendiente inicial requerida para acertar en el blanco, así:
Figura 19.3
247
Disparo final
Se resuelve el problema de valor inicial con la pendiente calculada previamente: p
d2y dy
2
= f x, y , y (a ) = α , y ' (a ) = p
dx dx
Ejemplo 19.2
Usando el método del disparo, resuelva el problema con valor en la frontera:
Solución.
Se debe resolver, tres veces, el problema de valor inicial:
dp
= 20 − 4 y , p (0) = p
dx
dy
= p , y ( 0) = 0
dx
Se obtiene β1 = 5
ans =
0 1.0000 0
0.0785 2.5520 0.1398
0.1571 4.0412 0.3992
0.2356 5.4309 0.7720
0.3142 6.6868 1.2488
0.3927 7.7781 1.8180
0.4712 8.6779 2.4656
0.5498 9.3640 3.1755
0.6283 9.8196 3.9304
0.7069 10.0333 4.7116
0.7854 10.0000 5.5000
Se obtiene β 2 = 5.5
β − β1
p = p1 + ( p2 − p1 ) = 0 + 0 − 5 (1 − 0) = −10
β 2 − β1 5.5 − 5
3) Para el tercer tomamos: p1 = −10 y corremos el método de Runge-Kutta de orden cuatro con
10 iteraciones, así:
dx
= 20 − 4 y , x(0) = −10
dt
dy
= x , y ( 0) = 0
dt
>> rk4or2
numero de iteraciones = 10
abscisa inicial = 0
abscisa final = pi/4
primera ordenada inicial = -10
249
ans =
0 -10.0000 0
0.0785 -8.3125 -0.7206
0.1571 -6.4204 -1.3004
0.2356 -4.3702 -1.7250
0.3142 -2.2124 -1.9840
0.3927 -0.0001 -2.0711
0.4712 2.2122 -1.9840
0.5498 4.3701 -1.7250
0.6283 6.4203 -1.3004
0.7069 8.3124 -0.7206
0.7854 9.9999 -0.0000
>> plot(T,Y,’k’)
>> grid on
-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 19.4
Puede verse que el resultado es muy aproximado a la solución analítica. Es claro que el resultado
mejora si se toman más particiones en el intervalo. La figura 19.5 corresponde a la solución con
100 particiones.
250
-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 19.5
Ejemplo 19.3
Solución.
Se debe resolver, tres veces, el problema de valor inicial:
dp 2 xp − 2 y
= , p( −0.5) = p
dx 1 − x2
dy
= p , y ( −0.5) = 0
dx
ans =
-0.5000 1.0000 0
-0.4500 0.9374 0.0484
-0.4000 0.8815 0.0938
-0.3500 0.8306 0.1366
-0.3000 0.7837 0.1770
-0.2500 0.7398 0.2151
-0.2000 0.6982 0.2510
-0.1500 0.6582 0.2849
-0.1000 0.6195 0.3168
-0.0500 0.5816 0.3469
0 0.5440 0.3750
0.0500 0.5064 0.4013
0.1000 0.4685 0.4256
0.1500 0.4298 0.4481
0.2000 0.3899 0.4686
0.2500 0.3482 0.4871
0.3000 0.3043 0.5034
0.3500 0.2574 0.5174
0.4000 0.2066 0.5291
0.4500 0.1506 0.5380
0.5000 0.0880 0.5440
Se obtiene β 1 = 0.5440
dx 2tx − 2 y
= , x ( −0.5) = 2
dt 1 − t2
dy
= x , y ( −0.5) = 0
dt
>> rk4or2
numero de iteraciones = 20
abscisa inicial = -0.5
abscisa final = 0.5
primera ordenada inicial = 2
segunda ordenada inicial = 0
entrar la funcion f(t,x,y) = '(2*t*x-2*y)/(1-t*t)'
entrar la funcion g(t,x,y) = 'x'
ans =
-0.5000 2.0000 0
-0.4500 1.8747 0.0968
-0.4000 1.7629 0.1877
-0.3500 1.6612 0.2733
-0.3000 1.5674 0.3540
-0.2500 1.4796 0.4301
-0.2000 1.3963 0.5020
-0.1500 1.3165 0.5698
-0.1000 1.2390 0.6337
-0.0500 1.1631 0.6937
252
0 1.0880 0.7500
0.0500 1.0129 0.8025
0.1000 0.9370 0.8513
0.1500 0.8596 0.8962
0.2000 0.7797 0.9372
0.2500 0.6965 0.9741
0.3000 0.6086 1.0068
0.3500 0.5148 1.0349
0.4000 0.4131 1.0581
0.4500 0.3013 1.0760
0.5000 0.1760 1.0880
Se obtiene β 2 = 1.0880
β − β1
p = p1 + ( p2 − p1 ) = 1 + 1 − 0.544 (2 − 1) = 1.8382
β 2 − β1 1.088 − 0.544
dx 2tx − 2 y
= , x ( −0.5) = 1.8382
dt 1 − t2
dy
= x , y ( −0.5) = 0
dt
>> rk4or2
numero de iteraciones = 20
abscisa inicial = -0.5
abscisa final = 0.5
primera ordenada inicial = 1.8382
segunda ordenada inicial = 0
entrar la funcion f(t,x,y) = '(2*t*x-2*y)/(1-t*t)'
entrar la funcion g(t,x,y) = 'x'
ans =
-0.5000 1.8382 0
-0.4500 1.7231 0.0890
-0.4000 1.6203 0.1725
-0.3500 1.5269 0.2512
-0.3000 1.4406 0.3253
-0.2500 1.3599 0.3953
-0.2000 1.2834 0.4614
-0.1500 1.2100 0.5237
-0.1000 1.1388 0.5824
-0.0500 1.0690 0.6376
0 1.0000 0.6893
0.0500 0.9310 0.7376
0.1000 0.8612 0.7824
0.1500 0.7900 0.8237
0.2000 0.7166 0.8614
0.2500 0.6401 0.8953
253
>> plot(T,Y,'k')
>> grid on
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
-0.5 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5
Figura 19.5
EJERCICIOS.
Usando el método del disparo, resuelva los siguientes problemas con valor en la frontera.
MÓDULO 20
PROBLEMAS CON VALOR EN LA FRONTERA DE SEGUNDO ORDEN
SOLUCIÓN NUMÉRICA POR EL MÈTODO DE LAS DIFERENCIAS DIVIDIDAS
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:
Figura 20.1
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
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
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 20.1
Usando el método de las diferencias divididas, resuelva el problema con valor en la frontera:
Solución.
Se toma N = 10 y se trabaja con la siguiente información:
256
π
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
Al representar gráficamente la solución se obtiene la figura 20.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
-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 20.2
257
Ejemplo 20.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
-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 20.3
Ejemplo 20.3
Usando el método de las diferencias divididas, resuelva el problema con valor en la frontera:
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
0.4500 1.2605
0.5000 1.0000
>> pvfdifdiv
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 20.4
260
EJERCICIOS
Resuelva los siguientes problemas con valor en la frontera tanto por el método del disparo como
por el método de diferencias divididas.