Wa0007

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 8

PRELIMINARES SOBRE LOS MÉTODOS NUMÉRICOS

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:

1 Resolver ecuaciones lineales y no lineales


2 Resolver sistemas de ecuaciones
3 Ajustar una curva a un conjunto de datos
4 Hallar la derivada en un punto
b
5 Hallar el valor de una integral  a
g (x) dx
6 Resolver la ecuación diferencial y’= f(x,y)

Todos estos temas serán tratados en el transcurso del semestre.

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.

Tema 1. Métodos Numéricos para encontrar la solución de una ecuación


Recordemos que resolver una ecuación consiste en hallar los valores de x que satisfacen la igualdad f(x)=0. Estos valores de x se llaman raíces o ceros de
la ecuación y son los puntos de corte con el eje X. El cuadro siguiente muestra algunos ejemplos de ecuaciones; sus fórmulas para resolver y sus soluciones

Ejemplo Fórmula para resolver Solución Interpretación gráfica


3x-2=0 Por despeje X=2/3 Recta que corta al eje x en 2/3
Parábola que corta al eje x en
2x2 –x -3=0 X1 = 3/2 ; X2 = - 1
b
2
 4 ac
3/2 y en -1
x  b 
2a
3 2
2x + 3x -5x -6=0 Proceso de Ruffini X1=3/2; X2 =-1; X3=-2 Polinomio de grado 3 que corta al
eje x en 3/2 , -1 y -2
e-x –x=0 Método numérico X=0.567 Gráfica que corta al eje x en 0.567

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.

Flujograma del método de bisección Algoritmo de bisección con Repeat . . . until

Dado f(x). a , b , tol Dado f(x). a , b , tol

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

Octava iteración.para n=8: x8= (a8 + b8)/2 = (0.563 + 0.571)/2 = 0.567


f(x8) = 0 ; x8 es la solución
Fin (El programa termina)
Solución: x= 0.567.

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.

Método de regla falsa


Si se tiene la ecuación f(x)=0. este método funciona en forma semejante a bisección y la aplicación del algoritmo también es igual, solo que para hallar los
f (b n ) (a n  b n )
valores de x se utiliza la fórmula x n  b n  con n  1 . Este proceso se ilustra a continuación
f ( a n )  f (b n )

Flujograma del método de regla falsa Algoritmo de regla falsa con repeat…until

Dado f(x) , a , b , tol


Dado f(x). a , b , tol

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

Calcular f(x) until (f(x) = 0 o bien εa < tol)


b= x
no
si f(x)=0 ó no si
f(a)*f(x)˃0 a=x
ɛa<Tol 00000000

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

Asignación de valores iniciales a las variables


f( a ) 1
f( b) - 0.632
a1 a
b1 b Pág 4
ɛa | xn  xn 1 |
n (1, 2, 3,  100)
Primera iteración. Para n=1: x1= b1 –[f( b1)( a1 – b1)] /[ f(a1)- f(b1)] = 1 –[-0.632( 0 – 1)] /[ 1 + 0.632] = 0.613 {buscando la solución}
f(x1) = - 0.071 ≠ 0; {verificación}
f(a) * f(x1) >0 es falso; entonces se toma a2 = a1 y b2 = x1 {definición del nuevo intervalo}
Segunda iteración. Para n=2: x2= b2 –[f( b2 )( a2 – b2 )] /[ f(a2 )- f(b2 )] = 0.613 –[-0.071( 0 – 0.613)] /[ 1 + 0.071] = 0.572
f(x2 ) = - 0.008 ≠ 0
ɛa ˃ Tol {verificación}
f(a) * f(x2 ) >0 es falso , entonces se toma a3 = a2 y b3 = x2

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

Dado f(x) , f’(x) , xn , Tol


Dado f(x) , f’(x) , xn , Tol n=0
xn = x0
f xn f(xn)
n 1 Contador repeat
n=n+1
f ’(xn)
Calcular f(xn) , f ’(xn) xn+1 = xn – f(xn)/ f ’(xn)
until f(xn+1)=0 o bien ɛa < Tol

Calcular xn+1 = xn – f(xn)/ f ’(xn)

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

Ejercicios- Realizar los ejercicios de bisección utilizando Newton-Raphson.


Método de la secante
Si se tiene la ecuación f(x)=0 y se eligen dos valores x n -1 y x n próximos a la solución. Entonces podemos obtener valores más cercanos a la solución
utilizando el procedimiento ilustrado a continuación.
Flujograma del método de la secante Algoritmo de la secante con repeat . . . until
Dado f(x) , xn-1 , xn , Tol
Dado f(x) , xn-1 , xn , Tol n=1
Xn–1 = X0
Xn = X1
n 1 Contador f(X n – 1) f(X 0)
f(X n) f(X 1)
Calcular f(xn-1) , f (xn)
repeat
n=n+1
xn+1 = xn – f(xn)( xn-1 - xn) /(f (xn-1)- f(xn))
Calcular xn+1 = xn – f(xn) ( xn-1- xn) /(f (xn-1)- f(xn))
until f(xn+1)=0 o bien ɛa < Tol

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

Segunda iteración; para n=1: x2 = g(x1)= e-1 = 0.368


ɛ a > tol

Tercera iteración; para n=2: x3 = g(x2)= e-0.368 = 0.692


ɛ a > tol

Cuarta iteración; para n=3: x4 = g(x3)= e-0.692 = 0.501


ɛ a > tol

Quinta iteración; para n=4: x5 = g(x4)= e-0.501 = 0.606


ɛ a > tol

Sexta iteración; para n=5: xn x6 = g(x5)= e-0.606 = 0.546


ɛ a > tol
¡OJO! Repetir el proceso hasta lograr la solución.

Prof. Angel Villarroel O.

También podría gustarte