Está en la página 1de 25

Métodos

Numéricos
Lab. Ecuaciones no lineales
Semana 03
Hermes Pantoja Carhuavilca
(hpantoja@utec.edu.pe)
Rosulo Perez Cupe
(rperezc@utec.edu.pe)
Jimmy Mendoza Montalvo
(jmendozam@utec.edu.pe)
Maximo Obregon Ramos
(mobregon@utec.edu.pe)
Jose Mantari Laureano
(jmantari@utec.edu.pe)

Profesores: H. Pantoja - B. Molina - R. Perez - C. Barraza


Índice
1 Métodos Cerrados
2 Métodos Abiertos

Universidad de Ingeniería y Tecnología Métodos Numéricos August 29, 2023 1 / 24


Logros de Aprendizaje
1 Aplica métodos cerrados y abiertos para aproximar las raíces de ecuaciones
no lineales.

Universidad de Ingeniería y Tecnología Métodos Numéricos August 29, 2023 2 / 24


1 MÉTODOS
CERRADOS
Introducción
Determine la solución de la ecuación xe−x = 0.2

1 f=@(x)(x.*exp(-x)-0.2)
2 fplot(f,[0 8])
3 grid on
4 fzero(f,0.7)
5 fzero(f,2.8)

Universidad de Ingeniería y Tecnología Métodos Numéricos August 29, 2023 4 / 24


Localización de raíces
Localizar graficamente las raíces de f (x) = −x 2 + 2x + ex

1 xx=[-4:0.01:4];
2 f1=@(x) x.^2-2.*x;
3 yy1=f1(xx)
4 f2=@(x) exp(x);
5 yy2=f2(xx)
6 plot(xx,yy1,'r',xx,yy2,'b')
7 grid on

Universidad de Ingeniería y Tecnología Métodos Numéricos August 29, 2023 5 / 24


Teorema de Bolzano
Teorema
Si f es continua en [a;b], f (a) × f (b) < 0 entonces existe al menos un raiz x ∗ en el
intervalo [a; b] tal que f (x ∗ ) = 0.

Si f (a) × f (b) = 0, la raiz se encuentra en uno de los extremos del intervalo [a; b].
Ejemplo: Localizar las raíces de f (x) = −x 2 + 2x + ex

1 f=@(x)(-x^2+2*x+exp(x))
2 a=-1
3 b=0
4 if f(a)*f(b)<0
5 fprintf('Existe al menos una raiz')
6 else
7 fprintf('No se puede afirmar que existe una raiz')
8 end

Universidad de Ingeniería y Tecnología Métodos Numéricos August 29, 2023 6 / 24


Método de la Bisección

1 function z=biseccion(f,a,b,Maxiter)
2 c=(a+b)/2;
3 error=(b-a)/2;
4 z=[a b c f(a) f(b) f(c) error];
5 for k=1:Maxiter
6 if f(a)*f(c)<0
7 b=c;
8 else
9 a=c;
10 end
11 c=(a+b)/2;
12 error=(b-a)/2;
13 z=[z;a b c f(a) f(b) f(c) error];
14 end
15 end

Universidad de Ingeniería y Tecnología Métodos Numéricos August 29, 2023 7 / 24


Método de la Bisección

1 function z=biseccion2(f,a,b,Tol)
2 c=(a+b)/2;
3 error=(b-a)/2;
4 z=[a b c f(a) f(b) f(c) error];
5 N=ceil(log((b-a)/(2*Tol))/log(2));
6 fprintf('Se necesita %d iteraciones\n',N)
7 while error>Tol
8 if f(a)*f(c)<0
9 b=c;
10 else
11 a=c;
12 end
13 c=(a+b)/2;
14 error=(b-a)/2;
15 z=[z; a b c f(a) f(b) f(c) error];
16 end
17 end
Universidad de Ingeniería y Tecnología Métodos Numéricos August 29, 2023 8 / 24
Ejemplo 1
Ejemplo
Aproximar la solución de la ecuación no lineal −x 2 + 2x + ex = 0 utilizando el
método de la bisección. Realice 10 iteraciones.

1 f=@(x) -x^2+2*x+exp(x)
2 a=-1;
3 b=0;
4 Maxiter=10;
5 z=biseccion(f,a,b,Maxiter)

Universidad de Ingeniería y Tecnología Métodos Numéricos August 29, 2023 9 / 24


Ejercicio 1
Ejercicio
Aproximar la solución de la ecuación no lineal −x 2 + 2x + ex = 0 utilizando el
método de la bisección con una tolerancia 1e-3 e indique el número de iteraciones
necesarias para alcanzar dicha tolerancia.

Universidad de Ingeniería y Tecnología Métodos Numéricos August 29, 2023 10 / 24


Ejercicio 2
Examen de laboratorio - EL1 - 2023-1
Dada la siguiente función:
2 cos(x)
f (x) = ex−x −
x
en el intervalo [−10, 10] (restrinja su análisis a este intervalo) cuya gráfica es
mostrada a continuación (hacer click para ver la figura)
Se le pide implementar un script que efectúe lo siguiente:
1 Evalúe |f (6)| y almacene en la variable f6.
2 Determine el número de raíces realies y asigne el valor en la variable nroots.
3 Localice el intervalo [a, b] de longitud 1, que contenga la mayor raíz, de modo
que a y b sean números enteros.
4 Aproxime la mayor raíz utilizando el método de la bisección con una tolerancia
tol = 1e − 3 y asigne el resultado a la variable yaprox. Considere como
intervalo inicial, el localizado en el ítem anterior.
Universidad de Ingeniería y Tecnología Métodos Numéricos August 29, 2023 11 / 24
2 MÉTODOS
ABIERTOS
Método de Newton
Se desea resolver de forma aproximada:

f (x) = 0

Formula de recurrencia:

f (x (k ) )
x (k +1) = x (k ) − 
f ′ x (k )

Dado un x (0) , para k = 0, 1, 2, . . .

Universidad de Ingeniería y Tecnología Métodos Numéricos August 29, 2023 13 / 24


Función Newton

1 function z=newton(f,x0,Tol)
2 syms x
3 df=diff(f(x));
4 dfu=matlabFunction(df);
5 z=x0;
6 error=1;
7 while error>Tol
8 x1=x0-f(x0)/dfu(x0);
9 z=[z;x1];
10 error=abs(x1-x0)/abs(x1);
11 x0=x1;
12 end
13 end

Universidad de Ingeniería y Tecnología Métodos Numéricos August 29, 2023 14 / 24


Ejemplo 1
Ejemplo
Usar el método de Newton para aproximar las raices de f (x) = x 2 − 2x − 3,
comenzando con x (0) = −4 con una tolerancia de 1e-3.

1 f=@(x) x^2-2*x-3
2 x0=-4;
3 Tol=1e-3;
4 z=newton(f,x0,Tol)

Universidad de Ingeniería y Tecnología Métodos Numéricos August 29, 2023 15 / 24


Ejercicio
Suponga el lector que está diseñando determinar la respuesta. Encuentre el
un tanque esférico para almacenar agua error relativo cometido aproximado
para un poblado pequeño en un país en después de cada iteración.
desarrollo. El volumen de líquido que
puede contener se calcula con x (n+1) − x (n)
δr =
x (n+1)
2 3R − h
V = πh ,
3
donde V = volumen m3 , h =
 

profundidad del agua en el tanque [m], y


R = radio del tanque [m]. Si R = 3m, ¿a
qué profunidad debe llenarse al tanque
de modo que contenga 30m3 ?.
Considere h0 = 2. Realice tres
iteraciones del método de Newton para
Universidad de Ingeniería y Tecnología Métodos Numéricos August 29, 2023 16 / 24
Método del Punto Fijo
Dada
f (x) = 0 → x = g(x)

Condiciones de convergencia
|g ′ (x)| < 1 ∀x ∈ [a; b]
g([a; b]) ⊂ [a; b]
Ecuación de recurrencia:
 
x (k +1) = g x (k ) ; k = 0, 1, 2, . . .

Universidad de Ingeniería y Tecnología Métodos Numéricos August 29, 2023 17 / 24


Función Punto Fijo

1 function z=pfijo(g,x0,Maxiter)
2 z=[x0];
3 for k=1:Maxiter
4 x1=g(x0);
5 z=[z;x1];
6 x0=x1;
7 end
8 end

Universidad de Ingeniería y Tecnología Métodos Numéricos August 29, 2023 18 / 24


Ejemplo 1

Ejemplo
Usar el método del punto fijo para aproximar las raíces de f (x) = x 2 − 2x −
3 , comenzando con x0 = 4 , utilice 10 iteraciones. Analice previamente su
convergencia.

Universidad de Ingeniería y Tecnología Métodos Numéricos August 29, 2023 19 / 24


1 syms x
2 g=matlabFunction(sqrt(2*x+3));
3 %Condicion de existencia
4 xx = [0:0.01:4];
5 yy = g(xx);
6 plot(xx,yy,'r',[0 4],[g(0) g(4)],'ob')
7 grid on
8 %Se visualiza que g([0;4]) in [0;4] %condicion de convergencia
9 dg=diff(g(x))
10 fudg=matlabFunction(dg)
11 xx=[0:0.01:4];
12 yy1=abs(fudg(xx));
13 plot(xx,yy1,'b')
14 grid on
15 %Se visualiza que |g'(x)|<1 para x in [0;4]
16 x0=4;
17 Maxiter=10;
18 z=pfijo(g,x0,Maxiter)

Universidad de Ingeniería y Tecnología Métodos Numéricos August 29, 2023 20 / 24


Ejercicio
La velocidad de ascenso (ν) de una determine el instante en que
nave espacial saliendo de la superficie ν = 100 m/s.
terrestre se puede aproximar por la Considere t0 = 7.4375 s. ¿Es posible
siguiente expresión:
 hallar una función que contenga a la raíz
ν = u ln M0M−ct
0
+ gt, donde u : de la ecuación?
velocidad de escape de la nave; M0 :
masa de la nave al ser lanzada; c : tasa
de consumo de combustible; g :
acelaración gravitacional y t : tiempo
(medido a partir del lanzamiento).
Considerando u = 200 m/s; M0 =
1600Kg, g = 9, 8 m/s2 , c = 27Kg/s.
Utilizando el método del punto fijo

Universidad de Ingeniería y Tecnología Métodos Numéricos August 29, 2023 21 / 24


Ejercicios para practicar
Puedes practicar con los ejercicios cargados en el módulo de
autoaprendizaje.

Universidad de Ingeniería y Tecnología Métodos Numéricos August 29, 2023 22 / 24


Conclusiones

Universidad de Ingeniería y Tecnología Métodos Numéricos August 29, 2023 23 / 24


Gracias

También podría gustarte