Iteración Lineal

Anuncio
CAPÍTULO 6
SISTEMAS DE ECUACIONES NO LINEALES. PAG- 170
Sistemas de ecuaciones no lineales.
SISTEMAS DE ECUACIONES NO LINEALES
En Esta sección se considera el problema de determinación de raíces de ecuaciones no
lineales simultáneas de la forma:
.
𝑓1 (𝑥1 , 𝑥2 , … , 𝑥𝑚 ) = 0
𝑓1 (𝑥1 , 𝑥2 , … , 𝑥𝑚 ) = 0
(1)
{𝑓1 (𝑥1 , 𝑥2 , … , 𝑥𝑚 ) = 0
Donde cada 𝑓1 , 𝑖 = 1, 2,…, m es una función real de m variables reales, para simplificar
se considera el caso de las ecuaciones con dos incógnitas, esto es, sistemas no lineales
de la forma:
{
𝑓(𝑥 , 𝑦) = 0
𝑔(𝑥 , 𝑦) = 0
(2)
Geométricamente, las raíces de este sistema son los puntos del plano (x , y), donde las
curvas definidas por f y g se interceptan.
Iteración Lineal
La resolución de sistemas no lineales a través del método de iteración lineal es muy
semejante al método iterativo lineal estudiado anteriormente. Así, un primer paso en la
aplicación de iteración lineal es resolver el sistema de la forma:
{
𝑥 = 𝐹(𝑥 , 𝑦)
𝑦 = 𝐺(𝑥 , 𝑦)
(3)
de forma que cualquier solución de (3) sea, también solución de (2).
Sean (𝑥̅ , 𝑦̅) una solución de (2) y (𝑥0 , 𝑦0 ) una aproximación para (𝑥̅ , 𝑦̅). Se obtienen
las aproximaciones sucesivas (𝑥𝑘 , 𝑦𝑘 ) para la solución deseada (𝑥̅ , 𝑦̅), usando el
proceso iterativo definido por:
{
𝑥𝑘+1 = 𝐹(𝑥𝑘 , 𝑦𝑘 )
𝑦𝑘+1 = 𝐺(𝑥𝑘 , 𝑦𝑘 )
(4)
Este proceso se llama método iterativo Lineal para sistemas no Lineales.
El proceso (4) se cumplirá bajo las siguientes condiciones suficientes, pero no
necesarias:
a) F, G y sus derivadas parciales de primer orden sean continuas en una vecindad V
de la raíz (𝑥̅ , 𝑦̅).
b) La siguientes desigualdades sean satisfechas:
|𝐹𝑥 | + |𝐹𝑦 | ≤ 𝑘1 < 1
|𝐺𝑥 | + |𝐺𝑦 | ≤ 𝑘2 < 1
Para todo punto (𝑥 , 𝑦) perteneciente a una vecindad V de (𝑥̅ , 𝑦̅), donde:
𝛿𝐹
𝛿𝐹
𝐹𝑥 =
, 𝐹𝑦
=, 𝑒𝑡𝑐.
𝛿𝑥
𝛿𝑦
c) La aproximación inicial (𝑥0 , 𝑦0 ) pertenezca a la vecindad V de (𝑥̅ , 𝑦̅).
Para obtener una solución con una determinada precisión  se debe, durante el
proceso iterativo, calcular el error relativo para todas las componentes del vector
solución.
Ejemplo:
Considerar el siguiente sistema no lineal.
{
𝑓(𝑥 ,𝑦) = 0,2 𝑥 2 + 0,2 𝑥 𝑦 − 𝑥 + 0,6 = 0
𝑔(𝑥 ,𝑦) = 0,4 𝑥 + 0,1 𝑥 𝑦 2 − 𝑦 + 0,5 = 0
a) Verificar reescribiendo el sistema dado, se obtiene:
{
𝑥 = 0,2 𝑥 2 + 0,2 𝑥 𝑦 − 𝑥 + 0,6 = 𝐹(𝑥 , 𝑦)
𝑦 = 0,4 𝑥 + 0,1 𝑥 𝑦 2 − 𝑦 + 0,5 = 𝐺(𝑥 , 𝑦)
Las condiciones suficientes para garantizar la convergencia son satisfechas.
b) Aplicar el método iterativo lineal para resolver el sistema dado.
Solución:
Es muy difícil conocer a priori la solución del sistema, sin embargo hay casos en que se
puede intuir un posible resultado, debido a la simplicidad del problema. En este caso,
como es un ejemplo ilustrativo para verificar las condiciones suficientes de
convergencia, como aplicación del método iterativo lineal; por lo tanto, se considerará
inicialmente (𝑥0 , 𝑦0 ) = (0,9 ; 1,1)
Para verificar las condiciones suficientes, se calcula inicialmente, las derivas parciales
de F y G. Así:
𝐹𝑥 = 0,4 𝑥 + 0,2 𝑦 ,
𝐹𝑦 = 0,2 𝑥,
2
𝐺𝑥 = 0,4 + 0,1 𝑦 , 𝐺𝑦 = 0,2 𝑥 𝑦,
Si se escribe que (𝑥0 , 𝑦0 ) = (0,9; 1,1,) se ve que F, G y sus derivadas parciales son
continuas en (𝑥0 , 𝑦0 ). Además de eso, las desigualdades que figuran en las condiciones
para la convergencia son satisfechas, se tiene:
|𝐹𝑥 | + |𝐹𝑦 | = |(0,4) (0,9)| + |(0,2) (0,9)| = 0,76 < 1
|𝐺𝑥 | + |𝐺𝑦 | = |(0,4) + (0,1)(1,1)2 | + |(0,2) (0,9)(1,1)| = 0,719 < 1
Esto demuestra que (𝑥0 , 𝑦0 ) esta en la vecindad de (𝑥̅ , 𝑦̅) = (0,9; 1,1,) y usando el
proceso iterativo definido por (4), se obtiene:
𝑥1 = 𝐹(𝑥0 , 𝑦0 ) = (0,2)(0,9)2 + (0,2)(0,5)(1,1) + 0,6
𝑦1 = 𝐺(𝑥0 , 𝑦0 ) = (0,4) (0,9) + (0,1)(0,9)(1,1)2 + 0,5


𝑥1 = 0,96
𝑦1 = 0,9689
𝑥2 = 𝐹(𝑥1 , 𝑦1 ) = (0,2)(0,96)2 + (0,2)(0,96)(0,9689) + 0,6
𝑦2 = 𝐺(𝑥1 , 𝑦1 ) = (0,4) (0,96) + (0,1)(0,96)(0,9689)2 + 0,5


𝑥3 = 𝐹(𝑥2 , 𝑦2 ) = (0,2)(0,9703)2 + (0,2)(0,9703)(0,9791) + 0,6
0,9763
𝑦3 = 𝐺(𝑥2 , 𝑦2 ) = (0,4) (0,9703) + (0,1)(0,9703)(0,9791)2 + 0,5
0,9802
𝑥2 = 0,9703
𝑦2 = 0,9791

𝑥3 =

𝑦3 =
Se nota que la secuencia (𝑥𝑘 , 𝑦𝑘 ) converge para (1 , 1). Adedmas de eso, se puede
decir que la solución (𝑥̅ , 𝑦̅), con error relativo inferior a 10-2 , es (0,9773 , 0,982),
|𝑥 −𝑥 |
|𝑦 −𝑦 |
aplicando 3𝑥 2  0,007 y 3𝑦 2  0,001. Si una de las componentes cumpliera con la
3
3
condición prefijada y la otra no, el proceso debe seguir hasta que todas cumplan con la
precisión deseada.
Método de Newton:
Para adaptar el método de Newton a los sistemas no lineales, se procede como sigue:
Sea (𝑥0 , 𝑦0 ) una aproximación para la solución de (𝑥̅ , 𝑦̅) de (2). Admitiendo que f y g
sean suficientemente diferenciables, expandiendo 𝑓(𝑥 , 𝑦) y 𝑔(𝑥 , 𝑦)
, usando la serie de Taylor para funciones de dos variables, en torno de (𝑥0 , 𝑦0 ). Así.
{
𝑓(𝑥 , 𝑦) = 𝑓(𝑥0 , 𝑦0 ) + fx (𝑥0 , 𝑦0 )(𝑥 − 𝑥0 ) + 𝑓𝑦 (𝑥0 , 𝑦0 )(𝑦 − 𝑦0 ) + …
𝑔(𝑥 , 𝑦) = 𝑔(𝑥0 , 𝑦0 ) + g x (𝑥0 , 𝑦0 )(𝑥 − 𝑥0 ) + 𝑔𝑦 (𝑥0 , 𝑦0 )(𝑦 − 𝑦0 ) + …
Admitiendo que (𝑥0 , 𝑦0 ) esté suficientemente próximo de la solución (𝑥̅ , 𝑦̅) al punto
de evitar la operación con los términos de mas alto orden, se puede determinar una
nueva aproximación para la raíz (𝑥̅ , 𝑦̅) haciendo 𝑓(𝑥 , 𝑦) = 𝑔(𝑥 , 𝑦) = 0. Se obtiene el
sistema:
{
𝑓𝑥 (𝑥 − 𝑥0 ) + 𝑓𝑦 (𝑦 − 𝑦0 ) = −𝑓
𝑔𝑥 (𝑥 − 𝑥0 ) + 𝑔𝑦 (𝑦 − 𝑦0 ) = −𝑔
(5)
Esta entendido que todas las funciones y derivadas parciales en (5) deben ser calculadas
en (𝑥0 , 𝑦0 ). Se observa que (5) es ahora una ecuación lineal. Además de eso, si no
fueran despreciados los términos de más alto orden en el desarrollo de Taylor, entonces
(x , y) sería la solución exacta del sistema no lineal. La resolución de (5) producirá una
solución que se llamará (𝑥1 , 𝑦1 ). Entonces, se debe esperar que (𝑥1 , 𝑦1 ) esté mas
próxima de (𝑥̅ , 𝑦̅) que de (𝑥0 , 𝑦0 ). Resolviendo (5) por la regla de Kramer se obtiene:
−𝑓 𝑓
|−𝑔 𝑔𝑦 |
−𝑓 𝑔𝑦 + 𝑔 𝑓𝑦
𝑦
𝑥1 − 𝑥0 =
= |
|
𝑓𝑥 𝑓𝑦
𝐽(𝑓 , 𝑔)
(𝑥0 ,𝑦0 )
|𝑔 𝑔 |
𝑥
𝑦
𝑓𝑥 − 𝑓
|
−𝑔 𝑓𝑥 + 𝑓 𝑔𝑥
𝑔𝑥 − 𝑔
𝑦1 − 𝑦0 =
= |
|
𝑓𝑥 𝑓𝑦
𝐽(𝑓 , 𝑔)
(𝑥0 ,𝑦0 )
|𝑔 𝑔 |
𝑥
𝑦
|
Donde 𝐽(𝑓 , 𝑔) = 𝑓𝑥 𝑔𝑦 − 𝑓𝑦 𝑔𝑥  0 en (𝑥0 , 𝑦0 ). La función 𝐽(𝑓 , 𝑔) es denominada
Jacobiano de las funciones 𝑓 y 𝑔. La solución (𝑥1 , 𝑦1 ) de este sistema, produce ahora
una nueva aproximación para (𝑥̅ , 𝑦̅). La repetición de este proceso conduce al Método
de Newton para sistemas no lineales.
El método de Newton para sistemas no lineales está definida por:
𝑓 𝑔𝑦 − 𝑔 𝑓𝑦
𝑥𝑘+1 = 𝑥𝑘 − |
|
𝐽(𝑓 , 𝑔) (𝑥 ,𝑦 )
{
𝑦𝑘+1
𝑔 𝑓𝑥 − 𝑓𝑔𝑥
= 𝑦𝑘 − |
|
𝐽(𝑓 , 𝑔) (𝑥
𝑘
𝑘
𝑘 ,𝑦𝑘 )
Con 𝐽(𝑓 , 𝑔) = 𝑓𝑥 𝑔𝑦 − 𝑓𝑦 𝑔𝑥
Observaciones:
1) Cuando la iteración converge, la convergencia es cuadrática.
2) El método de Newton converge según las siguientes condiciones siguientes:
a) 𝑓 , 𝑔 y sus derivadas parciales hasta de segundo orden sean continuas y
limitadas en una vecindad V conteniendo (𝑥̅ , 𝑦̅).
b) 𝐸𝑙 𝐽𝑎𝑐𝑜𝑏𝑖𝑎𝑛𝑜 𝐽(𝑓 , 𝑔) no se anula en la vecindad V.
c) La aproximación inicial (𝑥0 , 𝑦0 ) sea elegida suficientemente próxima de la
raíz (𝑥0 , 𝑦0 ).
3) El método de Newton puede ser aplicado a un sistema de ecuaciones de 𝑛
incógnitas. En cada iteración se tiene, entonces, que calcular n2 funciones
derivadas parciales y n funciones.
La solución de un sistema de n ecuaciones, siendo n un valor elevado, seria muy
difícil, aun para el uso de las computadoras.
Ejemplo:
𝑥2 + 𝑦2 = 2
𝑥2 − 𝑦2 = 1
Con precisión de 10-3, usando el método de Newton.
Determinar una raíz del sistema:
r
r
r
r
r
r
rr
{
Ecuaciones Polinomiales
Las ecuaciones polinomiales pueden ser resultas por cualquiera de los métodos
iterativos. Las ecuaciones polinomiales requieren de un tratamiento especial. En
particular, se presenta algunos algoritmos eficientes para la determinación de las raíces
de polinomios, serán estas, reales o complejas.
Sea:
𝑃(𝑥) = 𝑎𝑛 𝑥 𝑛 + 𝑎𝑛−1 𝑥 𝑛−1 + … + 𝑎1 𝑥 + 𝑎0
∑
𝑛
𝑎𝑖 𝑥 𝑖 , 𝑎 𝑛 ≠ 0
𝑖=0
Un polinomio de grado n con an  0. Entonces, los siguientes resultados son validos
para P(x):
a) P(x) posee, por lo menos, una raíz.
b) P(x) posee, exactamente, n raíces, donde una raíz de multiplicidad k sea
considerada k veces.
c) Si los valores numéricos de dos polinomios de grado menor o igual a n
coincidan para mas de n valores distintos de x, los polinomios son idénticos.
d) Si 𝑥1 , 𝑥2 , … , 𝑥𝑛 fueren las raíces de P(x), entonces P(x) puede ser expresado
unívocamente en la forma factorizada: 𝑃(𝑥) = 𝑎𝑛 (𝑥 − 𝑥1 )(𝑥 − 𝑥2 ) … (𝑥 −
𝑥𝑛 )
e) Si los coeficientes 𝑎𝑘 , (k = 0, 1, 2, … , n) fueren reales, y si (𝑎 + 𝑏𝑖) fuere una
raíz compleja, entonces (𝑎 − 𝑏𝑖) será tamvbien una raíz de 𝑃(𝑥).
Determinación de raíces reales
Se deduce un algoritmo para la determinación de raíces reales de polinomios Se
considera solamente polinomios que contengan coeficientes reales. En cualquier método
iterativo para la determinación de raíces de un polinomio, se tiene que calcular,
frecuentemente, el valor numérico del polinomio para un determinado número real. Por
tanto es importante realizar el cálculo de una forma tan precisa como sea posible. Por
ejemplo, usando el método de Newton se tiene:
𝑃(𝑥𝑘 )
𝑥𝑘+1 = 𝑥𝑘 −
𝑃´(𝑥𝑘 )
Para medir la eficiencia de los algoritmos para calcular el valor del polinomio en un
punto, se usa la siguiente notación:
o  = tiempo de procesamiento de una multiplicación.
o  = tiempo de procesamiento de una adición.
Existen problemas relativamente simples y existe algoritmo que calcula P(x) , P´(x) y
también las derivadas de orden superior de P(x), si se deseara, con una cantidad muy
inferior del tiempo de procesamiento. Ese algoritmo, se llama: algoritmo de Briot –
Ruffini – Horner, es obtenido escribiendo la fórmula para P(x) de la siguiente manera:
(considerar n = 4)
𝑃(𝑥) = 𝑎4 𝑥 4 + 𝑎3 𝑥 3 + 𝑎2 𝑥 2 + 𝑎1 𝑥 + 𝑎0
= (((𝑎4 𝑥 + 𝑎3 )𝑥 + 𝑎2 )𝑥 + 𝑎1 )𝑥 + 𝑎0
De este modo se tiene el tiempo de procesamiento requerido es: 4 + 4. Así, de un
modo general, para un polinomio de grado n se puede formular el algoritmo de la
siguiente manera: Dados 𝑎𝑛 , 𝑎𝑛−1 , … , 𝑎0 , calcular 𝑏𝑛 , 𝑏𝑛−1 , … , 𝑏0 , de acuerdo con:
𝑏𝑛 = 𝑎𝑛 ,
𝑏𝑛−𝑘 = 𝑥𝑏𝑛−𝑘+1 + 𝑎𝑛−𝑘 ,
k = 1, 2, …, n
(6)
Por tanto, 𝑏0 = 𝑃(𝑥) = valor de P en x. así, 𝑥̅ es una raíz de P(x) si y solamente si (sii),
el algoritmo de Briot – Ruffinni, Horner, formado con el numero 𝑥̅ , resulta que 𝑏0 = 0.
El tiempo de procesamiento requerido ahora es : n + n.
Aplicando ahora a 𝑏𝑘 el mismo algoritmo que se aplica a 𝑎𝑘 . Haciendo eso, se obtiene
números 𝑐𝑘 de acuerdo con:
𝑐𝑛 = 𝑏𝑛 , 𝑐𝑛−𝑘 = 𝑥𝑐𝑛−𝑘+1 + 𝑏𝑛−𝑘 , k = 1, 2, …, n – 1.
(7)
Sorprendentemente, 𝑐1 = 𝑃´(𝑥), así el valor de la derivada del polinomio en x es
obtenida, con el tiempo de procesamiento igual a (n – 1) ( + ). La prueba analítica de
que 𝑐1 = 𝑃´(𝑥), se realiza por diferenciación de relación de recurrencia dada por (6),
recordar que 𝑏𝑘 es función de x, mientras que los 𝑎𝑘 no. Así, derivando (6), se obtiene:
𝑏´𝑛 = 0,
𝑏´𝑛−𝑘 = 𝑥𝑏´𝑛−𝑘+1 + 𝑏𝑛−𝑘+1 , 𝑘 = 1, 2, … , 𝑛
Se ve que 𝑏´𝑛−1 = 𝑏𝑛 , y que las cantidades 𝑐𝑘 = 𝑏´𝑘−1 son idénticas a los 𝑐𝑘
definidos por (7). Entonces, como 𝑏0 = 𝑃(𝑥), consecuentemente, 𝑐1 = 𝑏´0 = 𝑃´(𝑥).
Sea x = z, entonces los valores de P(z), formulas (6), y P´(z) formulas (7), pueden ser
obtenidos a través del esquema practico.
Sea 𝑃(𝑥) = 𝑎𝑛 𝑥 𝑛 + 𝑎𝑛−1 𝑥 𝑛−1 + … + 𝑎1 𝑥 + 𝑎0. Entonces:
𝑎𝑛
𝑎2
𝑎1
𝑎0
+
𝑧𝑏𝑛−1 …
+
𝑧𝑏3
+
𝑧𝑏2
+
𝑧𝑏1
𝑏𝑛−1
𝑏𝑛−2
…
𝑏2
𝑏1
𝑏0
+
𝑧𝑐𝑛
+
𝑧𝑐𝑛−1
…
+
𝑧𝑐3
+
𝑧𝑐2
+
𝑧𝑏𝑛
𝑧
𝑏𝑛
𝑧
𝑎𝑛−1
𝑎𝑛−2
…
𝑐𝑛
𝑐𝑛−1
𝑐𝑛−2
…
𝑐2
𝑐1
Descargar