Sie sind auf Seite 1von 59

Solución de ecuaciones

no lineales

1
¿Qué es un método numérico?

Un método numérico es un procedimiento


mediante el cual se obtiene de manera
aproximada, la solución de problemas
matemáticos, realizando cálculos
puramente aritméticos y lógicos.
(operaciones aritméticas elementales,
cálculo de funciones, consulta de una
tabla de valores, etc.).

Clase 6 2
¿Qué es un método numérico?

Tal procedimiento consiste de una lista finita de


instrucciones precisas que especifican una
secuencia de operaciones algebraicas y lógicas
(algoritmo), que producen o bien una
aproximación de la solución del problema
(solución numérica) o bien un mensaje.

Clase 6 3
Raíces de Funciones:
Introducción
 Encontrar raíces de funciones es uno de los
problemas más comunes en ingeniería
 Los métodos numéricos para encontrar raíces de
funciones son utilizados cuando las técnicas
analíticas no pueden ser aplicadas.
 Esto último depende, en gran medida, de la
naturaleza de la función f(x).

Clase 6 4
Modelos no lineales

   2 1 f
PV  RT   2
  ln(Re )C
V V V3 f k 8

 i zij F
     F (1  q)  0
i

En general puede representarse por :

f ( x)  0
Clase 6 5
Modelos no lineales

y = f(x)
f ( x)  0

0
x

Solución

Clase 6 6
Raíces de Funciones:
Conceptos básicos

 Dada una función f(x)


 Se trata de hallar un valor x*
tal que : f(x*)=0
 Es decir, encontrar las soluciones de la ecuación
f(x) = 0
 Este procedimiento será más o menos
complicado dependiendo de la expresión
algebraica de la función f(x).
Clase 6 7
Raíces de Funciones:
Conceptos básicos
• Solución Iterativa
A partir de un valor inicial x0
Se genera una secuencia
x0, x1, x2, x3, ….. Xn

xn / lim
xn  x *

n 

Clase 6 8
Raíces de Funciones:
Conceptos básicos
 Error del método
En  xn  x*
Restricciones
a) x* se sitúa dentro de
I  a, bf ( x)  f ( x)  C
b) Hay una sola raiz en I
( x  R)
*

9
Clase 6 9
Clase 6
Métodos Iterativos
Conceptos Básicos

• Estimar un valor inicial para la solución


buscada
• Usar una fórmula para actualizar
(acelerar) la solución aproximada
• Usar un criterio para detener el proceso
de actualización

Clase 6 10
Métodos Iterativos
Conceptos Básicos
Inicio

Aproximación
Inicial

Fórmula de
Actualización
NO

Converge? Fin

SI

Clase 6 11
Métodos Itertativos
Conceptos básicos
• Debe distinguirse entre el proceso iterativo
completo y la fórmula de actualización
• La verificación del término “Satisfactorio” del
proceso es esencial y debe Anticipar todas las
posibles salidas del método iterativo
• Debe incluirse test de validación de la
consistencia de datos

Clase 6 12
Métodos Iterativos
Conceptos Básicos
• Criterios de convergencia
– Error Absoluto

f ( x )  xi 1  xi 
– Error Relativo

f ( xi 1 )  f ( xi ) xi 1  xi
 
f ( xi ) xi

Clase 6 13
Raíces de Funciones:
Métodos

 Existen muchos métodos para hallar raíces de


funciones:
› Método de Bisección
› Método de Newton-Raphson
› Método de la Secante
› Método de Método de la Regla Falsa (Regula Falsi)
› Método de Punto fijo
› Método de Wegstein
 Todos estos métodos comparten las mismas
características:
Clase 6 14
Métodos numéricos para
encontrar raíces de funciones

La búsqueda de la raíz se inicia en:


› un intervalo conocido donde se
encuentre la raíz o,
› un punto inicial cercano a la raíz.
La raíz encontrada es una aproximación
a la raíz

Clase 6 15
Método de la Bisección

 Encuentra la raíz de una función dado un


intervalo
 Se basa en el teorema de Bolzano:
Teorema de Bolzano:
Si f(x) es una función continua en el intervalo
[a, b], y si, además, en los extremos del
intervalo la función f(x) toma valores de signo
opuesto (f(a)*f(b) < 0), entonces existe al
menos un valor c  (a, b) para el que se
cumple: f(c) = 0. Clase 6 16
Método de la Bisección
y = f(x)
Y

cb
c b
a a
c X

Sea c la
Existe
Volvemos
Como = raíz
una(a+b)/2.
araíz
seen
calcularel c f(c)
intervalo
encuentra
Si [a,
= (a+b)/2
(a+b)/2.
en =
el b]
0 entonces
intervalo f(c)
ya [c,
[a,
c=
que
ySirepetimosf(a)*f(b)
esb]
c]
0laporque
el proceso
entonces
raíz, de <lo 0
f(c)*f(b)
f(a)*f(c)
c contrario,
se<la
es(Teorema
hasta la
queraíz, de0,
de
obtenga
raíz
lo se
Bolzano)
encuentra
contrario,
entonces
la raíz. cambiamos
laenraíz
el intervalo [a, de
se encuentra
el valor c]b
en aelsipor
f(a)*f(c)
el de c.
intervalo [a, < c]0sió f(a)*f(c)
en el intervalo<[c,0 ó en
b] el
si
f(c)*f(b)
intervalo [c, <b]0.si f(c)*f(b) < 0.
Clase 6 17
Método de la Bisección:
1. Establecer:
f(x): función a la cual se le busca una raíz.
[a, b]: intervalo para iniciar la búsqueda
 > 0 : margen de error
2. Calcular:
c = (a+b)/2
si |f(c)| <  entonces,
c es la raíz, finalizar.
de lo contrario,
si f(a)*f(c)<0 entonces,
b = c
de lo contrario,
a = c
3. Repetir el paso 2 hasta que
Clasese
6 finalice. 18
Comienzo

Maxiter,x1, x2, err

no
f(x1)*f(x2)<0 ?

Iter=1

X3=(x1+x2)/2
no
si
X1=x3 f(x2)*f(x3)<=0 ? X2=x3

e=abs((x1-x3)/x1)

x3 si no
e<err Iter=iter+1
no

Fin si
Iter<Maxiter
Clase 6 19
Ejemplo:
Hacer un programa en MATLAB que permita obtener
la raíz de la función por el Método de la Bisección:
1 1
f ( x)   6
( x  0.3)  0.01 ( x  0.9)  0.04
2 2

Clase 6 20
Ejemplo: La función
1 1
f ( x)   6
( x  0.3)  0.01 ( x  0.9)  0.04
2 2

Clase 6 21
Código del programa
en MATLAB…..

Clase 6 22
Método de Newton-
Raphson
f (X0)
X1  X 0 
Y f ´( X 0 )
Cuál es el valor
aproximado
para la raíz?

y = f(x) X2 X1 X0
X
Aproximación
La aproximación
inicial: X0la intersección conf el
X21 es ( Xeje ) de la línea tangente a la gráfica
n 1X
de f en (X10, f(X10)) X n  X n 1  ,n 1
f ´( X n 1 )
Clase 6 23
Método de Newton-
Raphson
f ( X n 1 )
X n  X n 1  ,n 1
f ´( X n 1 )
 La anterior función corresponde a la intersección
de la recta tangente de f(x) en Xn-1 con el eje
de las X.
 Dicha intersección, llamada Xn, corresponde a
una aproximación de la raíz para la función
f(x), cuando f(Xn)=0 ó f(Xn) ≤ epsilon
 Este método no siempre es convergente.

Clase 6 24
Método de Newton-Raphson:
Falla 1

 El método es atrapado por una raíz imaginaria de


la función f(x):

Clase 6 25
Método de Newton-Raphson:
Falla 2

 Cuando la raíz es un Punto de Inflexión: f’’(x)=0

Clase 6 26
Método de Newton-Raphson:
Falla 3

 El método “cae” en un punto máximo ó mínimo (o


en sus cercanías):

Clase 6 27
Método de Newton-Raphson:
Algoritmo
f(x): función cuya raíz se va a encontrar.
f’(x): derivada de f(x)
X0 : punto de inicio partir del cual se va a iniciar el
proceso.
2. Si f(X0)=0 entonces la raíz es X0,
de lo contrario:
f (X0)
Calcule X1 mediante la ecuación: X 1  X 0 
f ´( X 0 )
haga X0 igual a X1.
3. Repetir el paso 2 hasta que |f(X0)| ≤ epsilon
4. Mostrar X0 Clase 6 28
Ejemplo:
Hacer un programa en MATLAB que permita obtener
la raíz de la función por el Método de Newton-
Raphson:
1 1
f ( x)   6
( x  0.3)  0.01 ( x  0.9)  0.04
2 2

Clase 6 29
Ejemplo: La función
1 1
f ( x)   6
( x  0.3)  0.01 ( x  0.9)  0.04
2 2

Clase 6 30
Ejemplo: La derivada
 2( x  0.3) 2( x  0.9)
f ( x)  
( x  0.3) 2
 0.01 ( x  0.9)
2 2
 0.04 
2

Clase 6 31
Secante

• Parte de un intervalo [x0,x1]


• Estima la pendiente de la recta que une los extremos
del intervalo como:
f’(x0)=(f(x1)-f(x0))/(x1-x0)
• Sustituye f’(x0) en el método de Newton para calcular
la nueva raíz como:
f ( X 0 )( X 1  X 0 )
X2  X0 
f ( X1)  f ( X 0 )
• Los dos últimos puntos obtenidos x1, x2 se emplean
en la iteración siguiente.
Clase 6 32
Secante

f ( X i )( X i  X i1 )
X i1  X i 
f ( X i )  f ( X i1 )

Clase 6 33
Método de falsa posición
Este método considera cual límite
del intervalo está más próximo a la
raíz.
f(x1)
De la figura f  x2  f  x1 

x3  x2 x3  x1

Despejando
f  x1  x2  x1 
x3  x1  x2 x3
f  x2   f  x1  x1
f(x3)
f  x1  xi  x1 
f(x2)
xi 1  x1 
f  xi   f  x1 
Clase 6 34
Encontrar la raíz de la función, por los métodos de la secante y falsa posición:

f x  
667.38
x
1 e 
0.146843 x
 40  0 

Clase 6 35
Iteración de punto fijo

Un punto fijo de una función g(x) es un número p tal que


g(p) = p.
En general, la función f(x)=0 puede escribirse como
x=F(x)
Dado un problema f(x) = 0, se puede definir una función
F(x) con un punto fijo en x de diferentes maneras.
x3 + 4x2 –10 = 0
x = F1(x) = x + x3 + 4x2 -10
x = F2(x) = ½(10 – x3)½

Clase 6 36
Punto Fijo : Solución

y
y=x

F(x*)
y = g(x)

x* x

Clase 6 37
Convergencia

y=x
y y
y=x x3= F(x2)
y = g(x)
x2= F(x1)
x2= F(x1)
x1= F(x0)
x3= F(x2)
y = g(x)
x1= F(x0)

x1 x3 x2 x0 x x0 x1 x2 x

Clase 6 38
Casos de no convergencia

y=x
y y
y=x
y = g(x)

y = g(x)

x x

Clase 6 39
Ejemplo xi 1  F ( xi )

Sea la función: x3 + 4x2 –10 = 0 tiene una raíz en [1, 2]

Puede despejarse en:


a. x = F1(x) = x – x3 – 4x2 +10
b. x = F2(x) = ½(10 – x3)½
c. x = F3(x) = (10/(4 + x))½
d. x = F4(x) = x – (x3 + 4x2 – 10)/(3x2 + 8x)

Clase 6 40
Metodo Wegstein

y=x
y
x  F (x)
F(x1)
x0 Valor inicial
y = F(x)
F(x0)
x1  F ( x0 )

xi1  t  F ( xi )  (1  t )  xi
1
t x0 x1 x2 x
1 s
F ( xi )  F ( xi 1 )
s
xi  xi 1

41
Clase 6 41
Clase 6
Tarea
17. Un abrevadero de longitud L tiene una sección transversal en forma de
semicírculo con radio r (véase la figura) Cuando se llena de agua hasta una
distancia h de la parte superior, el volumen V de agua es
V = f(r,h)
Escriba un programa en MATLAB amigable para el usuario que lea los datos
de este problema, conociendo V encuentre el valor de h del líquido del
abrevadero. Utilice el método de Wegstein para encontrar la solución, con
una precisión de 0.00001 de valor absoluto.

h
L

Clase 6 42
MÉTODOS NUMÉRICOS

Sistemas de ecuaciones no lineales

f1(x,y)=0
f2(x,y)=0

Clase 6 43
SISTEMAS DE ECUACIONES NO LINEALES

f1(x, y)=0

y*

f2(x, y)=0

x* x
Clase 6 44
SISTEMA DE ECUACIONES NO LINEALES

10

x2  xy  10
6

4
(2, 3)
y  3xy2  57
2

0
1 1.5 2 2.5 3 3.5 4 4.5 5

-2

Clase 6 45
f1 ( x, y)  x  10 x  y  8
2 2

Clase 6 46
f1 ( x, y)  xy  x  10 y  8
2

Clase 6 47
Clase 6 48
Clase 6 49
MÉTODO DE PUNTO FIJO EN SISTEMAS DE
ECUACIONES NO LINEALES
Considera la intersección de dos funciones no lineales
f1(x, y)=0 y f2(x, y)=0.
La intersección de las curvas f1(x, y)=0 y f2(x, y)=0 nos da la
raiz (x*, y*).
El método consiste en obtener las funciones que tengan las
mismas raices (x*, y*):
x=g1(x, y)
y=g2(x, y)
Considerar un valor inicial (x0, y0), como aproximación a la
raíz, evaluar: x1=g1(x0, y0) y1=g2(x0, y0)
El proceso se repite n veces hasta tener valores de las
raíces.
Clase 6 50
5. El proceso se repite n veces hasta tener valores
muy cercanos a las raíces.

xi 1  g1 ( xi , yi ) yi 1  g 2 ( xi , yi )
METODO DE DESPLAZAMIENTOS SUCESIVOS

xi 1  g1 ( xi , yi ) yi 1  g 2 ( xi 1 , yi )
Cálculo del error

  ( xi 1  xi ) 2  ( yi 1  yi ) 2

Clase 6 51
MÉTODO DEL PUNTO FIJO EN
SISTEMAS DE ECUACIONES NO LINEALES

x2  xy  10 y  3xy2  57
iteració
10 xi yi erri
xi 1  i
( xi  yi ) 0 1.5 3.5 ---
1 2.0000 3.4480 0.5027

57  yi 2 1.8355 2.9875 0.4890


yi 1 
3x 3 2.0734 3.1319 0.2782

4 1.9211 2.9428 0.2427

5 2.0559 3.0626 0.1803


  ( xi 1  xi ) 2  ( yi 1  yi ) 2
6 1.9537 2.9572 0.1468

7 2.0363 3.0365 0.1145

8 1.9713 2.9721 0.0915

Clase 6 52
MÉTODO DEL PUNTO FIJO EN
SISTEMAS DE ECUACIONES NO LINEALES
 Sin embargo, con el método del punto fijo, la convergencia depende de la
manera en que se formulen las ecuaciones de recurrencia y de haber
elegido valores iniciales lo bastante cercanos a la solución. En las dos
formulaciones siguientes el método diverge.

x = (57 - y)/3y2 iteración xi yi


y = (10 - x2)/x
1 1.5 3.5

2 1.45578231 5.166666667

3 0.64724246 5.413376566

x = (10 - x2)/y y = 57 - 3xy2


iteración xi yi

1 1.5 3.5

2 2.21428571 -24.375

3 -0.20910518
Clase 6 429.713648 53
MÉTODO DE NEWTON RAPHSON EN SISTEMAS DE
ECUACIONES NO LINEALES
y

u(x, y)

y1

v(x, y)

x1 x
Clase 6 54
MÉTODO DE NEWTON RAPHSON EN SISTEMAS DE
ECUACIONES NO LINEALES
 Este procedimiento corresponde, analíticamente, a extender el uso
de la derivada, ahora para calcular la intersección entre dos
funciones no lineales.
 Al igual que para una sola ecuación, el cálculo se basa en la
expansión de la serie de Taylor de primer orden, ahora de múltiples
variables, para considerar la contribución de más de una variable
independiente en la determinación de la raíz.
 Para dos variables, la serie de Taylor de primer orden se escribe,
para cada ecuación no lineal:

f1 f1
f1 ( x1 , x2 )  f1 ( x1i , x2i )  ( x1  x1i )  ( x2  x2i )  0
x1 xi
x2 xi

f 2 f 2
f 2 ( x1 , x2 )  f 2 ( x , x ) 
i i
( x1  x ) 
i
( x2  x2i )  0
x1 x2
1 2 1
xi xi
Clase 6 55
f1 f1
( x1  x1i )  ( x2  x2i )   f1 ( x1i , x2i )
x1 xi
x2 xi

f 2 f 2
( x1  x ) i
( x2  x2i )   f 2 ( x1i , x2i )
x1 x2
1
xi xi

  ( x1  x )
i i  2i  ( x2  x2i )
1 1

f1 f1
1i   2i   f1 ( x1i , x2i )
x1 xi
x2 xi

f 2 f 2
1i   2i   f 2 ( x1i , x2i )
x1 xi
x2 xi

Clase 6 56
 f1i f 
1
i

   i   f1 
 x1i x2 
i

i *  i    i 
1

 f 2 f 2    2   f2 
 x x2 
 1

J *   f
x1i 1  x1i  1i x2i 1  x2i   2i

Clase 6 57
MÉTODO DE NEWTON RAPHSON EN SISTEMAS DE
ECUACIONES NO LINEALES

x2 + xy - 10 = 0 y + 3xy2 - 57 = 0

iteración xi yi ui vi ux uy vx vy Jacobiano

1 1.5 3.5 -2.5 1.625 6.5 1.5 36.75 32.5 156.125

2 2.03602882 2.8438751 -0.064374959 -4.756208497 6.915932746 2.036028823 24.26287675 35.74127004 197.7843034

3 1.99870061 3.002288563 -0.004519896 0.04957115 6.999689781 1.998700609 27.04120985 37.00405588 204.9696292

4 1.99999998 2.999999413 -1.28609E-06 -2.21399E-05 6.999999381 1.999999984 26.99998944 36.99999267 204.9999473

5 2 3 0 2.23821E-12 7 2 27 37 205

x=2
y=3

Clase 6 58
MÉTODO DE NEWTON RAPHSON EN SISTEMAS DE
ECUACIONES NO LINEALES

Sistema de ecuaciones lineales por el método de Newton Raphson

4.5

3.5

y
3
iteraciones

2.5

2
x
1.5

x2  xy  10 y  3xy2  57
1

0.5

0
1 2 3 4 5 6
Clase 6
convergencia
59

Das könnte Ihnen auch gefallen