Wa0007
Wa0007
Wa0007
Los Métodos Numéricos son procesos aritméticos iterativos (repetitivos) que permiten resolver un problema utilizando un algoritmo que el usuario puede
traducir a un programa. Los métodos numéricos conjuntamente con la programación son útiles para:
ES IMPORTANTE QUE EL ESTUDIANTE ENTIENDA QUE EL OBJETIVO PRINCIPAL DE ESTA ASIGNATURA ES RESOLVER UN PROBLEMA CON UN
ALGORITMO CONOCIDO.
Para iniciar el análisis de estos procesos numéricos, veamos previamente algunas consideraciones sobre las Aproximaciones y los Errores. En todo
proceso numérico se utilizan las aproximaciones, lo cual da lugar a los errores. En este sentido, si se tienen dos aproximaciones de un número x n 1 y x n
el error aproximado representado por εa , se obtiene mediante la expresión εa =| x n x n 1 |. También, el error aproximado se puede expresar en
forma porcentual usando la expresión εa | x xx | *100% . Para ambas fórmulas, se usa valor absoluto porque del error interesa solo el valor.
n n 1
n
Pasamos ahora a conocer cada uno de los temas mencionados anteriormente.
Los métodos numéricos evitan el uso de fórmulas particulares para resolver una ecuación, es decir, son métodos que se pueden utilizar para resolver
cualquier ecuación mediante el uso de algoritmos. Veremos a continuación algunos de estos métodos.
Método Grafico
Método de bisección
Método de regla falsa
Método de punto fijo
Método de Newton-Raphson
Método de la secante
Método Gráfico
Si se tiene la ecuación representada por f(x)=0, el método consiste en graficar la función f (usando una graficadora) para obtener los puntos de corte de la
función con el eje x. Estos puntos expresan la solución (s) de la ecuación. Ver ilustración.
Pág 1
y
F(x)
Solución verdadera
-x
Ejercicio.- Use una graficadora para encontrar la solución de la ecuación e - x=0.
Método de bisección
Si se tiene la ecuación f(x)=0 tal que, la función f es continua en el intervalo [a , b] y además que f(a)* f(b) < 0, es decir, f(a) y f(b) tienen signos diferentes.
El proceso de bisección consiste en hallar aproximaciones cada vez más cerca de la solución verdadera, dividiendo el intervalo por la mitad sucesivamente.
A continuación, ilustramos este proceso.
n 1 Contador
fa f(a)
n 1
Repeat
Calcular x =( a+ b)/2
ador
n=n+1
x 1 = (a+b)/2
Calcular f(x) f(x 1)
b= x
Si f(a)* f(x 1) >0 hacer a = x1 else hacer b = x1
no
until (f(x) = 0 o bien εa < tol)
si no si
f(x)=0 ó No
f(a)*f(x)˃0 a=x
˂ Tol
Fin
Ejemplo 1 Escriba un programa para hallar la solución de la ecuación e - x x en [0 , 1] con Tol (o precisión) de 10- 5. Tome sólo tres decimales.
Entrada de datos
f(x)= e- x – x
a=0
b=1
Tol=0.00001
Definimos las variables a utilizar
x, a , b , f(a) ; f(b) ; a 1 , b 1 , tol , ɛa : real
n : integer (entero)
Asignación de valores iniciales a las variables Pág 2
f( a ) 1
f( b) - 0.632
a1 a
b1 b
ɛa | x n x n 1 |
i (1, 2, 3, 100)
Primera iteración: para n=1: x1= (a1 + b1)/2 = (0 + 1)/2 = 0.5 {cálculo de x}
f(x1) = 0.107 ≠ 0; {verificación si x es solución}
f(a) * f(x1) >0 es verdadero , entonces se toma a2 = x1 y b2 = b1 {definición del nuevo intervalo}
Segunda iteración: para n=2: x2= (a2 + b2 )/2 = (0.5 + 1)/2 = 0.750
f(x2 ) = - 0.278 ≠ 0
ɛa > tol {verificación del error}
f(a) * f(x2 ) >0, es falso, entonces se toma b3 = x2 y a3 = a2
Tercera iteración: para n=3: x3= (a3 + b3)/2 = (0.5 + 0.75)/2 = 0.625
f(x3) = - 0.090 ≠ 0
ɛa ˃ Tol
f(a) * f(x3) >0, es falso , entonces se toma b4 = x3 y a4 = a3
Cuarta iteración: para n=4: x4= (a4 + b4)/2 = (0.5 + 0.625)/2 = 0.563
f(x4) = 0.006 ≠ 0
ɛa ˃ Tol
f(a) * f(x4) >0 es verdadera, entonces se toma a5 = x4 y b5 = b4
Quinta iteración: para n=5: x5= (a5 + b5)/2 = (0.563 + 0.625)/2 = 0.594
f(x5) = - 0.042 ≠ 0
ɛa ˃ Tol
f(a) * f(x5) >0 es falso , entonces se toma b6 = x5 y a6 = a5
Sexta iteración: para n=6: x6= (a6 + b6)/2 = (0.563 + 0.594)/2 = 0.579
f(x6) = - 0.019 ≠ 0
ɛa ˃ Tol
f(a) * f(x6) >0 es falso , entonces se toma b7 = x6 y a7 = a6
Séptima iteración: para n=7: x7= (a7 + b7)/2 = (0.563 + 0.579)/2 = 0.571
f(x7) = - 0.006 ≠ 0
ɛa ˃ Tol.
f(a) * f(x7) >0 es falso , entonces se toma b8 = x7 y a8 = a7
Ejercicios- I. Diseñe programas para encontrar la solución de cada una de las ecuaciones siguientes . Use tres decímales.
x x
a) 2 – + 2Cosx = 6 – e en [1 , 2] y precisión 10 -5
b) 9 = 70 e - 1.5 t -25 e – 0.75 t en [0 , 1] y precisión 10 -5
c) 3 x x 3.5 0 en [0 , 1] y precisión 10 -5. Tome tres decímales.
3 4
II. Aplique el algoritmo de bisección para resolver los siguientes problemas Pág 3
a) El volumen de un líquido contenido en un tanque esférico, de radio r está relacionado con la altura h del líquido mediante la igualdad
3
πh ( 3 r h )
V .Escriba un programa que determine h para r=1 y v = 0.5 m3 . Tome tres decímales.
3
x
b) Un número x es igual al inverso de 2 . Sabiendo que el número está entre 0 y 1. Diseñe un programa para hallar con precisión de 10-3. Use
tres decímales.
Flujograma del método de regla falsa Algoritmo de regla falsa con repeat…until
n 1 fa f(a)
Contador
n 1
Repeat
Calcular f(a) , f(b)
n=n +1
x = b - f(b)(a-b)/[f(a)-f(b)]
Calcular x = b- f(b)(a-b)/[f(a)-f(b)] f(x)
Si f(a)* f(x) >0 hacer a = x else hacer b = x
Fin
Ejemplo 2.- Aplique un programa para resolver el problema del ejemplo 1 con el algoritmo de regla falsa
Entrada de datos
f(x)= e- x – x
a= 0
b= 1
Tol= 0.00001
Definimos las variables a utilizar
x, a , b , f(a) ; f(b) ; a1 , b1 , tol , ɛa : real
n : integer
Tercera iteración. Para n=3: x 3= b 3 –[f( b 3)( a3 – b3)] /[ f(a 3)- f(b 3)] = 0.572 –[-0.008( 0 – 0.572)] /[ 1 + 0.008] = 0.567
f(x 3) = 0 x 3 es la solución
Fin (el programa termina)
Solución es x=0.567.
.Ejercicios. – Aplique programas para resolver los ejercicios planteados en bisección, pero usando regla falsa.
Método de Newton-Raphson
Si se tiene la ecuación f(x)=0 y se elige una aproximación x n cercana a la solución, entonces podemos obtener valores más cercanos a la solución
f (x n )
utilizando el proceso ilustrado a continuación con la expresión x n 1 x n para n 0 .
f ' (x n )
Flujograma del método de Newton-Raphson Algoritmo del método de Newton-Raphson con Repeat…until
f(xn+1)=0 ó NO
xn = xn+1
ɛa<Tol
si
Fin
Diseñe un programa para encontrar la solución de la ecuación Senx +3x = e – x con x n = 1, precisión (Tol) de 10- 5. Tome sólo tres decímales.
Entrada de datos
f(x)= Senx +3x - e – x
xn = 1
Tol =0.00001
Definición de variables a utilizar
x , f 'x , tol , ɛa ; real
n ; entero, Pág 5
Asignación de valores iniciales a las variables
f ‘x Cosx + e – x + 3
ɛa |xn +1 –x n|
n (0, 1, 2, 50 )
Primera iteración Para n=0:
x1 = x 0 – [f x0 / f ‘x0 ]= 1 –( 3.474/3.908) = 0.111 {buscando la solución}
f x1 = - 0.451 ≠ 0 {verificación si x1 es la solución}
f ‘x1 = 4.889
Segunda iteración Para n=1 :
x2 = x1 – [f x1 / f ‘x1 ]= 0.111 – (- 0.451/4.889) = 0.203
f x2 = - 0.006 ≠ 0
ɛ a > Tol {verificación del error}
f ‘x2 = 4.796
Tercera iteración Para n=2 :
X3 = x2 – [f x2/ f ‘x2 ]= 0.203 – (-0.006/4.796) = 0.204
f x3 = - 0.001 ≠ 0
ɛ a > Tol
f ‘x3 = 4.795
Tercera iteración Para n=3 :
X4 = x3 – [f x3/ f ‘x3 ]= 0.204 – (-0.001/4.795) = 0.204
f x4 = 0.001 ≠ 0
ɛ a < Tol
Fin
Solución x= 0.204
no
f(xn+1)=0 ó ɛa<Tol xn-1 = xn y xn = xn+1
xn+1
si
Fin
f ( x n ) (x n -1 x n )
en donde los valores de x se obtienen mediante la expresión x n 1 x n con n 1 Pág 6
f (x n -1
) f (x n )
x2 ex 2
Ejemplo- Encuentre la solución de la ecuación x con x n -1 0 , x n 1 y Tol = 10 -5. Tome tres decímales.
3
2 x
x e 2
Diseñe un programa para encontrar la solución de la ecuación x usando las aproximaciones xn – 1 =0 y xn = 1 y una precisión de 10 -5. Tome
3
tres decímales.
Entrada de datos
f(x)= x 2 e x - 3x 2
xn – 1 = 0
xn = 1
Tol = 0.00001
Definición de variables a utilizar
x xn – 1 , xn , tol , ɛ a : real
n : entera
Asignación de valores
ɛa |xn – xn-1|
Primera iteración ; para n= 1
X2 = X1 – [fx1 (x0 – x1 )] /( fx0 – fx1 ) = 1 –[-2.7181( 0 – 1)] /[ 1+ 2.718] = 0.269 {buscando la solución}
fx2 = - 0.004 ≠ 0 {el valor encontrado no es la solución}
Segunda iteración ; para n= 2 :
X3 = X2 – [fx2 (x1 – x2 )] /( fx1 – fx2 ) = 0.269 –[-0.004( 1 – 0.269)] /[ -2.718+ 0.004] = 0.257
fx3 = 0.002 ≠ 0
ɛ a > Tol
Tercera iteración ; para n= 3 :
X4 = X3 – [fx3 (x2 – x3 )] /( fx2 – fx3 ) = 0.0-257 –[0.002( 0.269 – 0.257)] /[ -0.004- 0.002] = 0.257
fx3 = 0.002 ≠ 0
ɛ a < Tol
Fin
Solución x = 0.257
Ejercicios- Realizar los ejercicios dados en bisección utilizando secante.
Método de punto fijo
Si se tiene la ecuación f(x)=0 y se elige un valor x n próximo a la solución, Entonces podemos obtener valores más cercanos a la solución, transformando
la ecuación dada en x g ( x ) y utilizando la fórmula x n 1 g ( x n ) para n 0 .
Flujograma del método de punto fijo Algoritmo de punto fijo con repeat . . . until
Dado g(x) , xn , Tol Dado g(x) , xn , Tol
n=0
n 1 Contador xn = x0
repeat
n=n+1
Calcular xn+1 = g(xn) xn + 1 = g(xn)
(xn) until ɛa < Tol
no
ɛa < Tol xn = xn+1
xn+1
si
fin
Ejemplo- Encuentre la solución de la ecuación e- x-x = 0 , con x n = 0 y tol 10-5. Tome y tres decímales
Diseñe un programa para encontrar la solución de la ecuación e- x – x =0 con xn = 0 y con precisión de 10 -5. Tome tres decímales. Pág 7
Entrada de datos
g(x) = e- x
xn = 0
tol =0.00001
Definición de variables:
x , ɛ a : real
n : entera
Asignación de valores a las variables
ɛa |xn+1 – xn|
n ( 0, 1, 2, 50 )
Primera iteración; para n=0: x1 = g(x0)= e-0 = 1