Está en la página 1de 10

~ Solución de Ecuaciones No Lineales~

Método del Intervalo


Clase 5

Credit: Prof. Lale Yurttas, Chemical Eng., Texas A&M University 1


Raices de ecuaciones

2
• FACIL
b b 2  4ac
ax 2  bx  c  0  x
2a
• PERO, NO TAN FACIL

ax 5  bx 4  cx 3  dx 2  ex  f  0  x?

• ¿QUÉ TAL ESTO?


sin x  x  0  x?
cos(10 x )  sin( 3 x)  0  x?
Aproximación Gráfica
 Hacer un gráfico de la Usando MATLAB, plot f(x)=sin(10x)+cos(3x)
función f(x) y observe donde
cruza el eje-x, p.e. f(x) = 0.

 No es muy práctico pero se


puede obtener una
aproximación de las raices
aproximadas.

Dos raices distintas


 Estas aproximaciones puede entre el intervalo
ser usadas como valores
iniciales por métodos x= 4.2 y 4.3
numéricos que se
desarrollaran aquí. need to be careful
Intervalos:
excepciones

Impar y par 
Número de raices

4
Método de Bisección
Paso 1: Escoger un intervalo inicial supuesto a y b para encontrar la raíz tal que la
función cambie de signo en este intervalo. Esto se puede verificar asegurando un
cambio de signo 𝑓 𝑎 × 𝑓 𝑏 < 0  raíz está 𝑒𝑛𝑡𝑟𝑒 [𝑥 𝑏]
Paso 2: Estimar una aproximación 𝑥 (punto medio) a la raiz determinada por:
𝑎+𝑏
𝑥=
2
Paso 3: Hacer la siguiente evaluación para determinar en cuál sub-intervalo la raíz
se encuentra presente:
a) si 𝑓 𝑎 × 𝑓 𝑥 < 0, la raíz esta en el sub-intervalo [𝑎 𝑥]𝑏 = 𝑥
b) si 𝑓 𝑎 × 𝑓 𝑥 > 0, la raíz esta en el sub-intervalo [𝑥 𝑏]𝑎 = 𝑥
c) si 𝑓 𝑎 × 𝑓 𝑥 = 0, la raíz es 𝑥.
𝑏−𝑎
 Error en cada iteración==> ε =
2

Criterio de finalización: e < etol o Max-Iteration es alcanzada


% Bisection Method
% function is available in another file e.g. func1.m
código MATLAB % A sample call: bisection (@func1, -2, 4, 0.001, 500) 6

function root = bisection(fx, a, b, x, tol);


Método de la % fx is a direction of function
Bisección if fx(a)*fx(b) > 0 % if guesses do not bracket
disp('no bracket')
return
end

while abs (b-a)/2>tol


x=(a+b)/2
e =abs(b-a)/2; MATRIZ HISTORIAL DE ITERACIONES
𝐿0 =𝑏 − 𝑎, 𝑐𝑜𝑛 𝑙𝑜𝑠 𝑣𝑎𝑙𝑜𝑟𝑒𝑠 𝑖𝑛𝑖𝑐𝑖𝑎𝑙𝑒𝑠
test= fx(a)*fx(x);
if test < 0 𝑖 𝑎 𝑏 𝑎+𝑏 𝑓(𝑎) 𝑓(𝑥) 𝑓 𝑎 × 𝑓(𝑥) 𝜀
𝑥=
• Intente mejorar el b=x; 2
end 1 𝐿0
código, por ejemplo 𝑥1
if test > 0 2
que guarde una matriz a=x; 2 𝑥2 𝐿0
• Historial de iteraciones end 4
if test == 0 …
e=0;
end
if e < tol
break;
end
end %fin del while
¿Cuántas Iteraciones va a tomar el método?
 Longitud del primer intervalo Lo= b - a
 Después de la iterción 1 L1=Lo/2
 Después de la iterción 2 L2=Lo/4
….. …..
 Después de la iterción k Lk=Lo/2k

 Then we can write:

Lk
 error _ tolerance donde xr  Min{a, b }
x
L0
k
 xr * e tol
2
L0  L0 
2 
k
 k  log 2 
xr * e tol  x r * e tol 
7
Método de la Bisección

(+) (-)

 Fácil  Lento
 Siempre encuentro raiz  Necesita dos valores iniciales
(convergente) 𝑎y𝑏
 Número de iteraciones para  No se tiene en cuenta el hecho
alcanzar la raíz con cierta de que si f (𝑎) está más cerca
precisión puede ser alcanzado de cero, es probable que la raíz
a priori. esté más cerca de 𝑎.

8
El Método de Falsa-Posición (Regula-Falsi) 9

Podemos aproximar la solución


haciendo una interpolación lineal
entre f(xu) and f(xl)

Encontrar xr Tal que l(xr)=0,


donde l(x) es la aproximación
lineal de f(x) entre xl y xu

Derive xr usando similitud de


triangulos

xl f u  xu f l
xr 
fu  fl
Gracias por su atención

También podría gustarte