análisis numérico para ingeniería - fi.mdp.edu.ar · método de punto fijo en el caso...

50
Análisis Numérico para Ingeniería Clase Nro. 8

Upload: duongquynh

Post on 22-Sep-2018

238 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Análisis Numérico para Ingeniería - fi.mdp.edu.ar · Método de Punto Fijo En el caso multidimensional, utilizaremos la versión sistemática del método de Punto Fijo, por lo

Análisis Numérico para Ingeniería

Clase Nro. 8

Page 2: Análisis Numérico para Ingeniería - fi.mdp.edu.ar · Método de Punto Fijo En el caso multidimensional, utilizaremos la versión sistemática del método de Punto Fijo, por lo

Mg. Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2017 2

Sistemas de Ecuaciones No Lineales

Temas a tratar:

Cálculo de Raíces de Polinomios.

Análisis de Sensibilidad.

Generalización para Sistemas de Ecuaciones.

Método de Punto Fijo Sistemático

Método de Newton

Método de Newton Modificado (Quasi-Newton)

Page 3: Análisis Numérico para Ingeniería - fi.mdp.edu.ar · Método de Punto Fijo En el caso multidimensional, utilizaremos la versión sistemática del método de Punto Fijo, por lo

Mg. Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2017 3

Cálculo de Ráices de Polinomios

Existen métodos especialmente diseñados para hallar raices de polinomios.

Uno de ellos es el método de QD (Quotient Difference) (No lo veremos en este curso, pero si alguien está interesado, puede verlo en http://www3.fi.mdp.edu.ar/analisis/temas/polinomios/qd.htm)

Este método calcula las raíces reales y los factores cuadráticos. Combinado con el método de Bairstow permite calcular también las raíces complejas.

Deflación

Otra forma consiste en calcular alguna raíz por cualquiera de los métodos vistos y dividir el polinomio con el método de Ruffini, para calcular las raíces restantes.

Page 4: Análisis Numérico para Ingeniería - fi.mdp.edu.ar · Método de Punto Fijo En el caso multidimensional, utilizaremos la versión sistemática del método de Punto Fijo, por lo

Mg. Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2017 4

En general, los problemas de Ingeniería se suelen expresar explícita o implícitamente, en forma parámetrica, de forma tal que la solución propuesta mantenga su validez, aún ante una variación de dichos parámetros.

Es decir, no se expresa la solución para un ”único valor” sino para un rango de valores.

Aplicaciones en Ingeniería

Page 5: Análisis Numérico para Ingeniería - fi.mdp.edu.ar · Método de Punto Fijo En el caso multidimensional, utilizaremos la versión sistemática del método de Punto Fijo, por lo

Mg. Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2017 5

Sensibilidad de Polinomios

Los coeficientes que conforman los polinomios son en general valores inexactos, debido a que:

Provienen de datos empíricos.

Son el resultado de extensos y complicados cálculos que pueden haber introducido errores, ya sean de representación, de redondeo ó propios del algoritmo utilizado.

Por lo tanto, nos interesa saber:

Cómo se ven afectados los valores de las raíces debido a la imprecisión de los coeficientes.

Page 6: Análisis Numérico para Ingeniería - fi.mdp.edu.ar · Método de Punto Fijo En el caso multidimensional, utilizaremos la versión sistemática del método de Punto Fijo, por lo

Mg. Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2017 6

Análisis de Sensibilidad

pnx =an xnan−1 xn−1⋯a1 xa0

Supongamos que tenemos un polinomio cuyos coeficientes son ”exactos”

Al cuál dividimos por an, es decir, lo hacemos mónico.

Ahora consideremos un polinomio perturbado

Al cuál dividimos por a*

n,

pnx =xnn−1 xn−1

⋯1 x0

pn*x =an

* xnan−1

* xn−1⋯a1

* xa0*

pn*x =xn

n−1* xn−1

⋯1* x0

*

Page 7: Análisis Numérico para Ingeniería - fi.mdp.edu.ar · Método de Punto Fijo En el caso multidimensional, utilizaremos la versión sistemática del método de Punto Fijo, por lo

Mg. Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2017 7

Análisis de Sensibilidad

Δ ai=ai−ai*⇒ai=ai

*+ Δ ai

Sea

Por lo tanto:

Y sea Z el cero verdadero y Z* el cero del polinomio perturbado, entonces el error en Z será:

Δ αi=αi−αi*

⇒ αi=αi*+ Δ αi para i=0, 1, 2,..., n-1

Δ Z=Z−Z*=ε ⇒ Z=Z*

+ ε

Page 8: Análisis Numérico para Ingeniería - fi.mdp.edu.ar · Método de Punto Fijo En el caso multidimensional, utilizaremos la versión sistemática del método de Punto Fijo, por lo

Mg. Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2017 8

pn*(z*

)=z* n+αn−1

* z* n-1+⋯+α1

* z*+α0

*=0

p(z)=(z*+ ε)

n+ [(αn−1

*+ Δ αn−1)(z*

+ ε)n−1

]+

+[(αn−2*

+ Δ αn−2)(z*+ ε)

n−1]+⋯+

+[(α1*+ Δ α1)(z*

+ ε)]+

+(α0*+ Δ α0)=0

De esta forma, podemos expresar el polinomio perturbado evaluado en una de sus raíces como:

Por lo tanto, podemos expresar el polinomio exacto como:

Análisis de Sensibilidad

Page 9: Análisis Numérico para Ingeniería - fi.mdp.edu.ar · Método de Punto Fijo En el caso multidimensional, utilizaremos la versión sistemática del método de Punto Fijo, por lo

Mg. Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2017 9

(a+b)n=an

+(n1)an−1 b+(n2)an−2 b2

+(n3)an−3 b3

+⋯+( nn−1)abn−1

+bn

Binomio de Newton

Donde cada coeficiente binomial se calcula de la forma:

(nk )=n!

k !⋅(n−k )!

Ahora bien, el Binomio de Newton responde a la siguiente expresión:

Análisis de Sensibilidad

Page 10: Análisis Numérico para Ingeniería - fi.mdp.edu.ar · Método de Punto Fijo En el caso multidimensional, utilizaremos la versión sistemática del método de Punto Fijo, por lo

Mg. Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2017 10

p(z)=(z*+ ε)

n+ [(αn−1

*+ Δ αn−1)(z*

+ ε)n−1

]+

+[(αn−2*

+ Δ αn−2)(z*+ ε)

n−1]+⋯+

+[(α1*+ Δ α1)(z*

+ ε)]+

+(α0*+ Δ α0)=0

Por lo tanto, podemos expandir la expresión anterior, por medio del binomio de Newton.

Análisis de Sensibilidad

(a+b)n=an+(n1)an−1 b+(n2)an−2 b2+(n

3)an−3 b3+⋯+( nn−1)a bn−1+bn

Binomio de Newton

Page 11: Análisis Numérico para Ingeniería - fi.mdp.edu.ar · Método de Punto Fijo En el caso multidimensional, utilizaremos la versión sistemática del método de Punto Fijo, por lo

Mg. Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2017 11

p(z)−p*( z*

)=[ z* n+n z* n-1

ε+(n2) z* n-2

ε2+⋯+ε

n]+

+[ z* n-1αn−1

*+(n−1) z* n-2

εαn−1*

+⋯+εn−1

αn−1*

]+

+[ z* n-1Δαn−1+(n−1) z* n-2

εΔαn−1+⋯+εn−1

Δαn−1]+

+[ z* n-2αn−2

*+(n−2) z* n-3

εαn−2*

+⋯+εn−2

αn−2*

]+

+[ z* n-2Δαn−2+(n−2) z* n-3

εΔαn−2*

+⋯+εn−2

Δαn−2]++ ⋯⋯⋯⋯⋯ ++[ z*

α1*+εα1

*+ z*

Δα1+εΔα1]+

+[α0*+Δα0]-

−[ z* n+αn−1* z* n-1+⋯+α1

* z*+α0*]≈

≈[n⋅z* n-1+(n−1)⋅z* n-2

αn−1*

+⋯+α1*]⋅ε+

+Δαn−1 z* n-1+Δαn−2 z* n-2+⋯+Δα1 z*+Δα0≈0

Análisis de Sensibilidad

Y despreciandolos términos de Ɛ2 y superiores

Page 12: Análisis Numérico para Ingeniería - fi.mdp.edu.ar · Método de Punto Fijo En el caso multidimensional, utilizaremos la versión sistemática del método de Punto Fijo, por lo

Mg. Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2017 12

p '*(z*

)⋅ε ≈ −∑k=0

n−1

Δαk z* k

p( z)−p*(z*

) ≈ p '*(z*

)⋅ε + ∑k=0

n−1

Δαk z* k≈0

Por lo tanto podemos escribir que:

Y reordenando, obtenemos:

Análisis de Sensibilidad

Page 13: Análisis Numérico para Ingeniería - fi.mdp.edu.ar · Método de Punto Fijo En el caso multidimensional, utilizaremos la versión sistemática del método de Punto Fijo, por lo

Mg. Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2017 13

∣Δ z∣ = ∣ε∣ ≈∣∑k=0

n−1

Δαk z* k∣∣p '*

(z*)∣

Δ z = ε ≈

−∑k=0

n−1

Δαk z* k

p '*(z*)

Por lo que tomando valor absoluto, obtenemos:

Análisis de Sensibilidad

Page 14: Análisis Numérico para Ingeniería - fi.mdp.edu.ar · Método de Punto Fijo En el caso multidimensional, utilizaremos la versión sistemática del método de Punto Fijo, por lo

Mg. Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2017 14

∣Δαk∣≤Δ

∣Δ z∣máx=∣ε∣≈1+∣z*∣+∣z*∣

2+⋯+∣z*∣

n−1

∣p '*(z*

)∣⋅Δ

Y si resulta válida la aproximación lineal, tenemos:

Si acotamos a cada coeficiente, como:

Análisis de Sensibilidad

Page 15: Análisis Numérico para Ingeniería - fi.mdp.edu.ar · Método de Punto Fijo En el caso multidimensional, utilizaremos la versión sistemática del método de Punto Fijo, por lo

Mg. Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2017 15

∣Δ z∣máx=∣ε∣≈1+∣z*∣+∣z*∣

2+⋯+∣z*∣

n−1

∣p '*(z*

)∣⋅Δ≈

∣z*∣n−1

(∣z*∣−1)⋅∣p '*(z*)∣⋅Δ

Y si resulta válida la aproximación lineal, tenemos:

La sumatoria de la serie de potencias es :

Análisis de Sensibilidad

1+∣z*∣+∣z*∣2+⋯+∣z*∣

n−1= ∑

k=0

n−1

∣z* k∣ =∣z*∣

n−1

∣z*∣−1

Page 16: Análisis Numérico para Ingeniería - fi.mdp.edu.ar · Método de Punto Fijo En el caso multidimensional, utilizaremos la versión sistemática del método de Punto Fijo, por lo

Mg. Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2017 16

Ejemplo de raíces de polinomios

s6−7.121 s5

+20.360142 s4−29.66350899 s3

+22.9241445 s2−8.720335761 s+1.227726208

Se desea calcular las raíces del siguiente polinomio exacto.

Graficando el intervalo de interés

Page 17: Análisis Numérico para Ingeniería - fi.mdp.edu.ar · Método de Punto Fijo En el caso multidimensional, utilizaremos la versión sistemática del método de Punto Fijo, por lo

Mg. Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2017 17

Valores de las Raíces

Raíz

1 1.84300015693992 2.45220369184118x10-10

2 1.58299919931362 5.49853478720719x10-12

3 1.30346879703518 4.14609359409950x10-9

4 1.30251184663557 5.67852189857672x10-9

5 7.65000053167659x10-1 2.16840434497101x10-19

6 3.23999998139993x10-1 0

x abs(f(x)

Vemos que todas las raíces obtenidas son reales

Page 18: Análisis Numérico para Ingeniería - fi.mdp.edu.ar · Método de Punto Fijo En el caso multidimensional, utilizaremos la versión sistemática del método de Punto Fijo, por lo

Mg. Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2017 18

Ejemplo de Raíces de Polinomios

1.001s6−7.121 s5+20.360142 s4−29.66350899 s3+22.9241445 s2−8.720335761 s+1.227726208

Perturbación

Repetimos el procedimiento, pero perturbando uno de sus coeficientes.

Graficando el intervalo de interés

Raíces Complejas

Page 19: Análisis Numérico para Ingeniería - fi.mdp.edu.ar · Método de Punto Fijo En el caso multidimensional, utilizaremos la versión sistemática del método de Punto Fijo, por lo

Mg. Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2017 19

0.999s6−7.121 s5+20.360142 s4−29.66350899 s3+22.9241445 s2−8.720335761 s+1.227726208

Perturbación

Repetimos el procedimiento, pero perturbando uno de sus coeficientes.

Perturbación

Raíces Complejas

Graficando el intervalo de interés

Ejemplo de Raíces de Polinomios

Page 20: Análisis Numérico para Ingeniería - fi.mdp.edu.ar · Método de Punto Fijo En el caso multidimensional, utilizaremos la versión sistemática del método de Punto Fijo, por lo

Mg. Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2017 20

Encontrar la solución de un sistema de n ecuaciones no lineales con n incógnitas.

f 1 x1, x2, x3,, xn−1 , xn=0f 2x1, x2, x3,, xn−1 , xn=0f 3x1, x2, x3,, xn−1 , xn=0⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯f nx1, x2, x3,, xn−1 , xn=0

Esto significa hallar el vector:

X=x1, x2, x3,, xn−1 , xn tal que F X =0

Sistema de Ecuaciones No Lineales

Page 21: Análisis Numérico para Ingeniería - fi.mdp.edu.ar · Método de Punto Fijo En el caso multidimensional, utilizaremos la versión sistemática del método de Punto Fijo, por lo

Mg. Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2017 21

Ejemplo de un Sistema de 2 ecuaciones

Raíz

Raíz

Page 22: Análisis Numérico para Ingeniería - fi.mdp.edu.ar · Método de Punto Fijo En el caso multidimensional, utilizaremos la versión sistemática del método de Punto Fijo, por lo

Mg. Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2017 22

Método de Punto Fijo

En el caso multidimensional, utilizaremos la versión sistemática del método de Punto Fijo, por lo tanto construiremos un esquema iterativo similar al visto en el caso de una sola variable.

F X =0

Partimos del sistema:

X=X−⋅F X =0

Y lo reescribimos como:

Siendo Λ una matriz no singular.

Page 23: Análisis Numérico para Ingeniería - fi.mdp.edu.ar · Método de Punto Fijo En el caso multidimensional, utilizaremos la versión sistemática del método de Punto Fijo, por lo

Mg. Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2017 23

Método de Punto Fijo

De esta forma, podemos denominar:

Φ ' (X )=I−Λ⋅F ' (X )

Si la función vectorial F(X) tiene derivada contínua en todo el dominio Ω:

Es posible definir el siguiente proceso iterativo:

Φ(X )=X−Λ⋅F (X )

X k+1=Φ(X k) para (k=1, 2, 3, ... )

Page 24: Análisis Numérico para Ingeniería - fi.mdp.edu.ar · Método de Punto Fijo En el caso multidimensional, utilizaremos la versión sistemática del método de Punto Fijo, por lo

Mg. Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2017 24

Método de Punto Fijo

Este esquema iterativo converge rápidamente si Φ'(X) resulta pequeña en norma, para todo punto del dominio, por lo tanto, elegiremos la matriz Ʌ de forma tal que, dado un conjunto de valores iniciales X

0:

X k+1=Φ(X k) para (k=1, 2, 3, ... )

Φ ' (X0)=I−Λ⋅F ' (X0)=0

De esta forma, si la matriz Jacobiana F '(X) es no singular, tenemos:

=[F ' X 0]−1

Page 25: Análisis Numérico para Ingeniería - fi.mdp.edu.ar · Método de Punto Fijo En el caso multidimensional, utilizaremos la versión sistemática del método de Punto Fijo, por lo

Mg. Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2017 25

Método de Punto Fijo

Si en el proceso de cálculo de Ʌ resultara que F'(X0) es singular, deberá

elegirse un nuevo valor para X0, de forma tal que se verifique que el

determinante de Ʌ es distinto de cero.

=[F ' X 0]−1

X k1=X k−⋅F X k=X k−[F ' X0]−1⋅F X k para (k=1, 2, 3, ... )

Page 26: Análisis Numérico para Ingeniería - fi.mdp.edu.ar · Método de Punto Fijo En el caso multidimensional, utilizaremos la versión sistemática del método de Punto Fijo, por lo

Mg. Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2017 26

Teorema de Punto Fijo

F está definida y es contínua en todo Ω.

Para cada punto X que pertenece a Ω, el punto F(X) también cae dentro de Ω.

Existe una constante L<1 tal que dados dos puntos X, Y que pertenezcan a Ω, se verifica la siguiente desigualdad.

∥F X −F Y ∥ ≤ L⋅∥X−Y∥

Sea Ω un dominio cerrado en Rn y dada una función F que satisfaga las siguientes condiciones.

Page 27: Análisis Numérico para Ingeniería - fi.mdp.edu.ar · Método de Punto Fijo En el caso multidimensional, utilizaremos la versión sistemática del método de Punto Fijo, por lo

Mg. Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2017 27

Teorema de Punto Fijo

La ecuación vectorial X = Φ(X) posee exactamente una solución S en Ω.

Para cualquier elección del punto inicial X0

que

pertenece a Ω, la sucesión definida por el algoritmo de aproximaciones sucesivas converge hacia la solución S.

Para k=1,2,... se cumple la siguiente desigualdad.

∥X k−S∥ ≤L

1−L⋅∥X k−X k−1∥

Entonces se verifican las siguientes proposiciones:

Page 28: Análisis Numérico para Ingeniería - fi.mdp.edu.ar · Método de Punto Fijo En el caso multidimensional, utilizaremos la versión sistemática del método de Punto Fijo, por lo

Mg. Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2017 28

Teorema de Punto Fijo

∥X k−S∥ ≤Lk

1−L⋅∥X1−X0∥

En consecuencia, tenemos que:

L ≈∥X k1

−X k ∥

∥X k −X k−1∥

Donde L puede ser aproximada por:

Page 29: Análisis Numérico para Ingeniería - fi.mdp.edu.ar · Método de Punto Fijo En el caso multidimensional, utilizaremos la versión sistemática del método de Punto Fijo, por lo

Mg. Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2017 29

Sistema deEcuaciones

{f 1 x , y =x2 y2

−4

f 2x , y =ex y−1

Ejemplo de un Sistema de 2 ecuaciones

Page 30: Análisis Numérico para Ingeniería - fi.mdp.edu.ar · Método de Punto Fijo En el caso multidimensional, utilizaremos la versión sistemática del método de Punto Fijo, por lo

Mg. Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2017 30

Función con n variables

FUNCTION v_func(v, cant_ec )! Calcula el vector de funciones evaluado en V! V es un vector de cant_ec variablesINTEGER cant_ecREAL(8) v(cant_ec), v_func(cant_ec)

v_func(1) = 4 - v(1)*v(1) - v(2)*v(2) v_func(2) = 1 - exp(v(1)) - v(2)

END FUNCTION

Page 31: Análisis Numérico para Ingeniería - fi.mdp.edu.ar · Método de Punto Fijo En el caso multidimensional, utilizaremos la versión sistemática del método de Punto Fijo, por lo

Mg. Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2017 31

Matriz JacobianaLa matriz jacobiana F'(X), ó J(X), es una matriz formada por las derivadas parciales de primer orden de una función F.

F X =[f 1x1, x2, x3,, xn−1 , xn

f 2 x1, x2, x3,, xn−1 , xn

f 3 x1, x2, x3,, xn−1 , xn

⋯⋯⋯⋯⋯⋯⋯⋯⋯f n x1, x2, x3, , xn−1 , xn

]

J x1, x2, , xn=[∂ f 1

∂ x1

∂ f 1

∂ x2

⋯∂ f 1

∂ xn

∂ f 2

∂ x1

∂ f 2

∂ x2

⋯∂ f 2

∂ xn

⋯ ⋯ ⋱ ⋮∂ f n

∂ x1

∂ f n

∂ x2

⋯∂ f n

∂ xn

]MatrizJacobiana

Page 32: Análisis Numérico para Ingeniería - fi.mdp.edu.ar · Método de Punto Fijo En el caso multidimensional, utilizaremos la versión sistemática del método de Punto Fijo, por lo

Mg. Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2017 32

Matriz Jacobiana

FUNCTION m_jacob(V, cant_ec )! Calcula la matriz jacobiana evaluada en V! V es un vector de n variablesINTEGER cant_ec,i,jREAL(8) V(cant_ec), m_jacob(cant_ec, cant_ec)

m_jacob(1,1) = -2*V(1) m_jacob(1,2) = -2*V(2) m_jacob(2,1) = -exp(V(1)) m_jacob(2,2) = -1

END FUNCTION

Page 33: Análisis Numérico para Ingeniería - fi.mdp.edu.ar · Método de Punto Fijo En el caso multidimensional, utilizaremos la versión sistemática del método de Punto Fijo, por lo

Mg. Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2017 33

Método de Punto Fijo (Sistemas)

SUBROUTINE p_fijo_sist(V_inic, cant_ec, tol, max_iter, formato)INTEGER iter, max_iter, pivote(cant_ec), info, cant_ec,i,kREAL(8) V_inic(cant_ec), V(cant_ec), DV(cant_ec), J(cant_ec, cant_ec), tol, errorCHARACTER*15 formato

iter=0error=2*tolV=V_inic

WRITE (*, formato) iter, V

! Calcula la matriz Jacobiana J = m_jacob(V, cant_ec)

! Transforma la matriz Jacobiana en una matriz LU CALL DGETRF( cant_ec, cant_ec, J, cant_ec, pivote, info )

! Calcula la inversa de la matriz Jacobiana CALL DGETRI( cant_ec, J, cant_ec, pivote, DV, cant_ec, info )

Sique en la próxima página

Page 34: Análisis Numérico para Ingeniería - fi.mdp.edu.ar · Método de Punto Fijo En el caso multidimensional, utilizaremos la versión sistemática del método de Punto Fijo, por lo

Mg. Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2017 34

Método de Punto Fijo (Sistemas)

DO WHILE ((error > tol) .AND. (iter < max_iter))

! Evalúa las funciones en el punto actual DV = v_func(V, cant_ec)

! Calcula los nuevos valores V = V - MATMUL(J, DV) ! Calcula el error error = normaM_v(DV)

iter = iter + 1

! Imprime los valores calculados WRITE (*, formato) iter, V ENDDO END SUBROUTINE

Page 35: Análisis Numérico para Ingeniería - fi.mdp.edu.ar · Método de Punto Fijo En el caso multidimensional, utilizaremos la versión sistemática del método de Punto Fijo, por lo

Mg. Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2017 35

Utilización de Librerías

Page 36: Análisis Numérico para Ingeniería - fi.mdp.edu.ar · Método de Punto Fijo En el caso multidimensional, utilizaremos la versión sistemática del método de Punto Fijo, por lo

Mg. Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2017 36

Librería LAPACK ( DGETRF )

file dgetrf.f dgetrf.f plus dependenciesprec doublefor Computes an LU factorization of a general matrix, using partial,pivoting with row interchanges.gams (General Algebraic Modeling System)

file dgetri.f dgetri.f plus dependenciesprec doublefor Computes the inverse of a general matrix, using the LU factorization, computed by DGETRF.gams (General Algebraic Modeling System)

file dgetrs.f dgetrs.f plus dependenciesprec doublefor Solves a general system of linear equations AX=B, A**T X=B,or A**H X=B, using the LU factorization computed by DGETRF.gams (General Algebraic Modeling System)

Page 37: Análisis Numérico para Ingeniería - fi.mdp.edu.ar · Método de Punto Fijo En el caso multidimensional, utilizaremos la versión sistemática del método de Punto Fijo, por lo

Mg. Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2017 37

Librería LAPACK ( DGETRF )

Page 38: Análisis Numérico para Ingeniería - fi.mdp.edu.ar · Método de Punto Fijo En el caso multidimensional, utilizaremos la versión sistemática del método de Punto Fijo, por lo

Mg. Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2017 38

Librería LAPACK ( DGESV )

SUBROUTINE DGESV( N, NRHS, A, LDA, IPIV, B, LDB, INFO )** -- LAPACK driver routine (version 3.2) --* -- LAPACK is a software package provided by Univ. Of * Tennessee, --* -- Univ. of California Berkeley, Univ. of Colorado * Denver and NAG Ltd..--* November 2006** .. Scalar Arguments .. INTEGER INFO, LDA, LDB, N, NRHS* ..* .. Array Arguments .. INTEGER IPIV( * ) DOUBLE PRECISION A( LDA, * ), B( LDB, * )* ..

Page 39: Análisis Numérico para Ingeniería - fi.mdp.edu.ar · Método de Punto Fijo En el caso multidimensional, utilizaremos la versión sistemática del método de Punto Fijo, por lo

Mg. Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2017 39

Librería LAPACK ( DGESV )

* =======* Purpose* =======** DGESV computes the solution to a real system of linear equations* A * X = B,* where A is an N-by-N matrix and X and B are N-by-NRHS matrices.** The LU decomposition with partial pivoting and row interchanges* is used to factor A as * A = P * L * U,* where P is a permutation matrix, L is unit lower triangular, and* U is upper triangular. The factored form of A is then used to* solve the system of equations A * X = B.

Page 40: Análisis Numérico para Ingeniería - fi.mdp.edu.ar · Método de Punto Fijo En el caso multidimensional, utilizaremos la versión sistemática del método de Punto Fijo, por lo

Mg. Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2017 40

Librería LAPACK ( DGESV )* =========* Arguments* =========** N (input) INTEGER* The number of linear equations, i.e., the order of the matrix A. N >= 0.** NRHS (input) INTEGER* The number of right hand sides, i.e., the number of columns of the matrix B. NRHS >= 0.** A (input/output) DOUBLE PRECISION array, dimension (LDA,N)* On entry, the N-by-N coefficient matrix A.* On exit, the factors L and U from the factorization* A = P*L*U; the unit diagonal elements of L are not stored.** LDA (input) INTEGER* The leading dimension of the array A. LDA >= max(1,N).** IPIV (output) INTEGER array, dimension (N)* The pivot indices that define the permutation matrix P;* row i of the matrix was interchanged with row IPIV(i).** B (input/output) DOUBLE PRECISION array, dimension (LDB,NRHS)* On entry, the N-by-NRHS matrix of right hand side matrix B.* On exit, if INFO = 0, the N-by-NRHS solution matrix X.** LDB (input) INTEGER* The leading dimension of the array B. LDB >= max(1,N).** INFO (output) INTEGER* = 0: successful exit* < 0: if INFO = -i, the i-th argument had an illegal value* > 0: if INFO = i, U(i,i) is exactly zero. The factorization has been* completed, but the factor U is exactly singular, so the solution could not be computed.

Page 41: Análisis Numérico para Ingeniería - fi.mdp.edu.ar · Método de Punto Fijo En el caso multidimensional, utilizaremos la versión sistemática del método de Punto Fijo, por lo

Mg. Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2017 41

Método de Newton

Si tomamos un sistema de ecuaciones no lineales y desarrollamos las funciones en Serie de Taylor, y nos quedamos con el primer término, obtenemos:

0=f 1+∂ f 1

∂ x(s−x0)+

∂ f 1

∂ y(t− y0)+

∂ f 1

∂ z(r−z0)+⋯

0=f 2+∂ f 2

∂ x(s−x0)+

∂ f 2

∂ y(t− y0)+

∂ f 2

∂ z(r−z0)+⋯

⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯

0=f n+∂ f n

∂ x(s−x0)+

∂ f n

∂ y(t− y0)+

∂ f n

∂ z(r−z0)+⋯

Page 42: Análisis Numérico para Ingeniería - fi.mdp.edu.ar · Método de Punto Fijo En el caso multidimensional, utilizaremos la versión sistemática del método de Punto Fijo, por lo

Mg. Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2017 42

Método de Newton

Como se puede apreciar, cada función es evaluada en la raíz aproximada (x

0, y

0, z

0, …), por lo tanto, hemos transformado un

sistema de n ecuaciones no lineales, en un sistema de ecuaciones lineales.

Xk1=X k

−[J X k ]

−1⋅F Xk

[J X ]⋅X 0−S≈F X

Lo cual nos conduce al siguiente esquema iterativo:

Page 43: Análisis Numérico para Ingeniería - fi.mdp.edu.ar · Método de Punto Fijo En el caso multidimensional, utilizaremos la versión sistemática del método de Punto Fijo, por lo

Mg. Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2017 43

Ventajas del Método de Newton

Se trata de un método robusto.

Posee convergencia cuadrática.

Necesita de un valor inicial cercano a la solución.

Realiza una elevada cantidad de evaluaciones de funciones.

Si la cantidad de variables es elevada, se dificulta la obtención de un valor inicial.

Page 44: Análisis Numérico para Ingeniería - fi.mdp.edu.ar · Método de Punto Fijo En el caso multidimensional, utilizaremos la versión sistemática del método de Punto Fijo, por lo

Mg. Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2017 44

Método de Newton (Sistemas)

SUBROUTINE newton_sist(V_inic, cant_ec, tol, max_iter, formato)INTEGER iter, max_iter, pivote(cant_ec), info, cant_ecREAL(8) V_inic(cant_ec), V(cant_ec), DV(cant_ec), J(cant_ec, cant_ec)REAL(8) tol, errorCHARACTER*15 formato

iter=0

error=2*tol

V=V_inic

WRITE (*, formato) iter, V

Sique en la próxima página

Page 45: Análisis Numérico para Ingeniería - fi.mdp.edu.ar · Método de Punto Fijo En el caso multidimensional, utilizaremos la versión sistemática del método de Punto Fijo, por lo

Mg. Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2017 45

Método de Newton (Sistemas)

DO WHILE ((error > tol) .AND. (iter < max_iter))

J = m_jacob(V, cant_ec) ! Calcula la matriz Jacobiana

DV = v_func(V, cant_ec) ! Evalúa las funciones en el punto actual

! Calcula el nuevo incremento DV CALL DGESV(cant_ec, 1, J, cant_ec, pivote, DV, cant_ec, info)

V = V - DV ! Calcula los nuevos valores error = normaM_v(DV) ! Calcula el error iter = iter+1 WRITE (*, formato) iter, VENDDO END SUBROUTINE

Page 46: Análisis Numérico para Ingeniería - fi.mdp.edu.ar · Método de Punto Fijo En el caso multidimensional, utilizaremos la versión sistemática del método de Punto Fijo, por lo

Mg. Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2017 46

Método de Newton Modificado

Si el sistema a resolver es muy grande, se suelen hacer ciertas aproximaciones. Así surgen variantes conocidas como métodos de Newton Modificado ó Cuasi-Newton.

(s−x0)=f 1(X0)

∂ f 1(X 0)

∂ x

(t− y0)=f 2(X0)

∂ f 2(X 0)

∂ y⋯⋯⋯⋯⋯⋯⋯⋯⋯

(r−z0)=f n(X0)

∂ f n(X 0)

∂ z

Page 47: Análisis Numérico para Ingeniería - fi.mdp.edu.ar · Método de Punto Fijo En el caso multidimensional, utilizaremos la versión sistemática del método de Punto Fijo, por lo

Mg. Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2017 47

Método de Newton Modificado

SUBROUTINE newton_mod_sist(V_inic, cant_ec, tol, max_iter, formato)INTEGER iter, max_iter, cant_ecREAL(8) V_inic(cant_ec), V(cant_ec), DV(cant_ec), tol, errorCHARACTER*15 formato

iter=0

error=2*tol

V=V_inic

WRITE (*, formato) iter, V

Sique en la próxima página

Page 48: Análisis Numérico para Ingeniería - fi.mdp.edu.ar · Método de Punto Fijo En el caso multidimensional, utilizaremos la versión sistemática del método de Punto Fijo, por lo

Mg. Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2017 48

Método de Newton Modificado

DO WHILE ((error > tol) .AND. (iter < max_iter))

! Calcula los incrementos DV = v_func(V, cant_ec)/v_deriv(V, cant_ec) ! Calcula los nuevos valores V = V - DV

! Calcula el error error = normaM_v(DV)

iter = iter+1 WRITE (*, formato) iter, V ENDDO

END SUBROUTINE

Page 49: Análisis Numérico para Ingeniería - fi.mdp.edu.ar · Método de Punto Fijo En el caso multidimensional, utilizaremos la versión sistemática del método de Punto Fijo, por lo

Mg. Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2017 49

Método de Newton Modificado

Realiza menor cantidad de operaciones.

No necesita resolver un sistema de ecuaciones lineales en cada iteración.

Obtiene los incrementos de las variables por medio de simples cocientes.

Converge más lentamente que Newton.

Necesita de un punto de partida muy cercano a la solución.

Page 50: Análisis Numérico para Ingeniería - fi.mdp.edu.ar · Método de Punto Fijo En el caso multidimensional, utilizaremos la versión sistemática del método de Punto Fijo, por lo

Mg. Ing. Francisco A. Lizarralde Facultad de Ingeniería - UNMDP - 2017 50

PREGUNTAS ...