Está en la página 1de 19

Métodos

Numéricos
Lab. S.E No Lineales
Semana 04
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étodo de Newton
2 Método del Punto Fijo

Universidad de Ingeniería y Tecnología Métodos Numéricos September 7, 2023 1 / 18


Logros de Aprendizaje
Localiza las raíces de un sistema de 2 ecuaciones no lineales.
Aplica el método de Newton para aproximar la raíz de un sistema de 2
ecuaciones no lineales.
Aplica el método del punto fijo para aproximar la raíz de un sistema de 2
ecuaciones no lineales.
Identifica la convergencia de los métodos iterativos. Calcula el error cometido.

Universidad de Ingeniería y Tecnología Métodos Numéricos September 7, 2023 2 / 18


1 MÉTODO DE
NEWTON
Introducción
Dado el sistema de ecuaciones no lineales:

f (x, y ) = 0
g(x, y ) = 0

El método de Newton consiste en realizar las siguientes iteraciones:

x(k +1) = x(k ) − J −1 (x(k ) )F(x(k ) ) k = 0; 1; 2; 3; · · ·


siendo necesario conocer el punto inicial o punto semilla x(0) , en notación matricial
tenemos:  (k +1)   (k ) 
f (x (k ) , y (k ) )
 
x x −1 ⃗ (k )
= − J (x )
y (k +1) y (k ) g(x (k ) , y (k ) )
Siendo J la matriz Jacobiana del sistema.

Universidad de Ingeniería y Tecnología Métodos Numéricos September 7, 2023 4 / 18


El Jacobiano en MatLab
Matlab nos proporciona el comando jacobian para definir el jacobiano de funciones
vectoriales, por ejemplo para la función vectorial

f (x, y ) = 2x − y − e−x

= 0
g(x, y ) = −x + 2y − e−y = 0

usamos el siguinte script para éste propósito:

1 syms x y
2 F=@(x,y)([2*x-y-exp(-x);-x+2*y-exp(-y)])
3 dF=jacobian(F(x,y),[x,y])
4 dFfun=double(subs(dF,{x,y},{3,4}))

dFfun proporciona la matriz Jacobiana evaluada en el punto (3, 4)

Universidad de Ingeniería y Tecnología Métodos Numéricos September 7, 2023 5 / 18


Ejemplo 1
Ejercicio
Resolver numéricamente (mediante el método de Newton) el siguiente sistema de
ecuaciones no lineales
f (x, y ) = 2x − y − e−x

= 0
g(x, y ) = −x + 2y − e −y = 0

x (0)

  
0.5
Tomando como punto inicial = x(0) = , considere como criterio
y (0) 1
de terminación que el error relativo sea menor que una tolerancia prefijada
Tol = 1e − 3

Universidad de Ingeniería y Tecnología Métodos Numéricos September 7, 2023 6 / 18


Método de Newton

1 function z=newtons(F,x0,Tol)
2 syms x y
3 dF = jacobian(F(x,y),[x,y])
4 df_fun=matlabFunction(dF)
5 error=1;
6 z=[x0' error];
7 while error>Tol
8 x1=x0-inv(df_fun(x0(1),x0(2)))*F(x0(1),x0(2));
9 error=norm(x1-x0,"inf")/norm(x1);
10 z=[z;x1' error];
11 x0=x1;
12 end
13 end

Universidad de Ingeniería y Tecnología Métodos Numéricos September 7, 2023 7 / 18


Ejercicio 1
Adapte el script proporcionado para obtener la solución numérica del siguiente
sistema de ecuaciones:

 f (x, y , z) = 3x − cos(yz) − 12

= 0
2 2
g(x, y , z) = x − 81(y + 0.1) + sin(z) + 1.06 = 0
h(x, y , z) = e−xy + 20z + 10π3−3 = 0

x (0)
   
0.1
Tomando como punto inicial x(0) =  y (0)  =  0.1 , considere como criterio
z (0) −0.1
de terminación que el error relativo sea menor que una tolerancia prefijada
Tol = 1e − 4

Universidad de Ingeniería y Tecnología Métodos Numéricos September 7, 2023 8 / 18


2 MÉTODO DEL
PUNTO FIJO
Método del Punto Fijo
Si a partir del sistema de ecuaciones no lineales:

f (x, y ) = 0
g(x, y ) = 0

Podemos identificar dos funciones u : R2 → R y v : R2 → R tales que



x = u(x, y )
y = v (x, y )

Entonces cualquier punto fijo (si existe) P = (x ∗ , y ∗ ) de la función G(x, y ) = (u, v )


satisface trivialmente f (P) = 0 y g(P) = 0.
Conclusión: Cualquier punto fijo P de G es también raíz del sistema de
ecuaciones no lineal original

Universidad de Ingeniería y Tecnología Métodos Numéricos September 7, 2023 10 / 18


Ejemplo 2
Ejercicio
Resolver numéricamente (mediante el método del punto fijo) el siguiente sistema
de ecuaciones no lineales
f (x, y ) = 2x − y − e−x

= 0
g(x, y ) = −x + 2y − e −y = 0

x (0)

  
0.5
Tomando como punto inicial = x(0) = , considere como criterio
y (0) 1
de terminación que el error relativo sea menor que una tolerancia prefijada
Tol = 1e − 3

Universidad de Ingeniería y Tecnología Métodos Numéricos September 7, 2023 11 / 18


Criterio de convergencia
Utilizamos el Jacobiano de la funcion dada para evaluar la convergencia del método
a partir de la elección de las funciones de iteración, a partir del sistema dado
identificamos las funciones u y v de la siguiente forma:

y + e−x


 x = u(x, y ) =
2

x + e−y


 y

= v (x, y ) =
2
∂u (0) ∂u (0)
Los cuales deben satisfacer: (x ) + (x ) < 1 además de
∂x ∂y
∂v (0) ∂v (0)
(x ) + (x ) < 1
∂x ∂y

Universidad de Ingeniería y Tecnología Métodos Numéricos September 7, 2023 12 / 18


Criterio de convergencia MatLab
Utilizamos en este caso el jacobiano de las funciones u y v seleccionadas
(jacobian en MatLab) y la norma infinita en el punto inicial, verificando que
efectivamente que las condiciones de convergencia están satisfechas.

1 syms x y
2 G=@(x,y)[(y+exp(-x))/2;(x+exp(-y))/2]
3 dG=jacobian(G(x,y),[x,y])
4 dGfun=matlabFunction(dG)
5 norm(dGfun(0.5,1),inf)

En consecuencia el proceso iterativo converge hacia el único punto fijo el cual a su


vez es raiz de la ecuacion original.

Universidad de Ingeniería y Tecnología Métodos Numéricos September 7, 2023 13 / 18


iteraciones de punto fijo

1 function z=pfijos(g,x0,Tol)
2 error=1;
3 z=[g(x0(1),x0(2))' error];
4 while error>Tol
5 x1=g(x0(1),x0(2));
6 error=norm(x1-x0,inf)/norm(x1);
7 z=[z;x1' error];
8 x0=x1;
9 end
10 end

Universidad de Ingeniería y Tecnología Métodos Numéricos September 7, 2023 14 / 18


Ejercicio 2
Luego de establecer la regla de correspondencia de una función g adecuada
(aquella que garantize convergencia), adapte el script proporcionado para obtener
la solución numérica del siguiente sistema de ecuaciones:

 f (x, y , z) = 3x − cos(yz) − 21

= 0
2 2
g(x, y , z) = x − 81(y + 0.1) + sin(z) + 1.06 = 0
h(x, y , z) = e−xy + 20z + 10π3−3 = 0

x (0)
   
0.1
Tomando como punto inicial x(0) =  y (0)  =  0.1 , considere como criterio
z (0) −0.1
de terminación que el error relativo sea menor que una tolerancia prefijada
Tol = 1e − 4

Universidad de Ingeniería y Tecnología Métodos Numéricos September 7, 2023 15 / 18


Ejercicio 3
Examen EL1 - 2022-2
Determine las coordenadas de uno de los dos puntos donde se cruzan las
circunferencias (x − 2)2 + y 2 = 4 y x 2 + (y − 3)2 = 4 . Una estimación de las
ubicaciones de los puntos a partir de un boceto gráfico nos dice que hay una raíz
cerca al punto (2, 2), que será utilizado como punto
 semilla.
  Primero escriba el
x 0
sistema de ecuaciones no lineales en la forma F = , luego use el método
y 0
de Newton para calcular las coordenadas de la raíz considerando una tolerancia de
0.00001. Luego efectúe lo siguiente:
1 Asigne en la variable n la cantidad de iteraciones que realiza el algoritmo.
2 Asigne en la variable w (como vector columna) la solución aproximada
calculada en la última iteración del algoritmo.
3 Asigne en la variable Fw el valor absoluto de F (w), interprete el resultado.

Universidad de Ingeniería y Tecnología Métodos Numéricos September 7, 2023 16 / 18


Conclusiones

Universidad de Ingeniería y Tecnología Métodos Numéricos September 7, 2023 17 / 18


Gracias

También podría gustarte