Beruflich Dokumente
Kultur Dokumente
Introduccin
Ecuaciones algebraicas no lineales son aquellas que contienen potencias de la variable
y/o funciones trascendentales. Estas funciones aparecen comunmente en ingeniera al
resolver problems de optimizacin, problemas de valores caractersticos y ecuaciones
diferenciales. No existe un mtodo que sea el mejor para todos los casos, pero tenemos algunos mtodos con ventajas relativas dependiendo el tipo de funcin a la que
se desea calcular las raices. El problema es
y fx
y deseamos determinar los valores de x que hacen esta funcin f(x) 0. Esos valores
de x los denominamos raices de la funcin f(x). Las raices pueden ser reales, complejas
o de los dos tipos. Su nmero puede ser finito o infinito dependiendo de la funcin en
particular. Las tcnicas que describiremos en este captulo tienen distintos grados de
eficiencia, y caracterizamos con este trmino a las distintas tasas de rapidz con la que
se llega al resultado dentro de un proceso iterativo.
x3 x1 x2
2
(1)
El paso anterior da origen al nombre del mtodo. Si x 3 est al mismo lado que x 2 o sea
produce fx 3 del mismo signo que fx 2 , se descarta x 2 y se repite la divisin del intervalo x 1 , x 3 . Po otro lado, si x 3 cae al lado izquierdo de la raiz o sea fx 3 es del mismo signo que fx 1 , entonces se decarta x 1 y se procede a dividir el intervalo x 2 , x 3 .
Como se ve, el intervalo se reduce en un factor 2 k , donde k es el nmero de iteraciones. El proceso se repite hasta que el valor absoluto de la funcin cumple con los lmites de tolerancia establecidos y que se tiene que constatar en cada iteracin. Por
ejemplo T1e-6 T1e-8.
El Mtodo de la Posicin Falsa
Este mtodo es mas rpido que el anterior y tiene cierta similitud. Se empieza con dos
valores de x que producen valores de la funcin de distinto signo, o sea
fx 1 fx 2 0
En lugar de dividir el intervalo como en el mtodo de la biseccin, trazamos una linea
recta que cruza por x 1 y x 2 y definimos como x 3 al punto por el que corta al eje x
la linea recta. Esto se muestra en la figura 4.3
fx 1
fx 2
x3 x1 x2 x3
Despejando x 2 obtenemos
x3
x 1 fx 2 x 2 fx 1
fx 2 fx 1
(2)
La gran desventaja de este mtodo es la convergencia lenta de un lado. Se puede observar en la figura 4.3 que la convergencia es producida por los valores de x, a la izquierda de la raiz. Los valores de x cada vez mas cercanos a la raiz se calculan hasta
que el limite preestablecido de tolerancia se cumpla.
Mtodo de la Secante
Este mtodo es una variante del mtodo de la posicin falsa. Aqu no se requiere que la
fguncin tenga signos distintos en los extremos de cada intervalo. O sea uno empieza
con dos valores arbitrarios como aproximaciones iniciales y continua con
x n x n1 fx , n 1, 2, 3
x n1 x n
n
fx n fx n1
No podemos estar seguros de que cada intervalo x n1 , x n contiene una raz, pero
si el mtodo converge lo hace con mayor rapidz que el mtodo de la posicin falsa.
function[x,fa,ntol] secante2(a,b,tol,f)
%
% a,b aproximaciones iniciales
% tol tolerancia en error (x-a) tol (tol=1e-6)
% ntol indica # de iteraciones permitidas 100
% f debe ser definida en programa principal; si es una
funcin f.m
% hay que invocarla con f
% A la salida:
% fa valor final de f(x)
% x es la raz
%
ntol 0;
faf(a);
xb;
while abs(x-a) tol
ntolntol1;
ba;
fb fa;
a x;
fa f(x);
xa-(a-b)*fa/(fa-fb);
if (abs(x-a) tol | ntol 100 )
return
end
end
Algo de Historia
El mtodo de la Posicin Falsa es muy antiguo y se lo describe en publicaciones rabes del medioevo e incluso en textos inds del siglo quinto DC. Leonardo Pisano
mejor conocido como Fibonacci llama al mtodo " regula falsi " (Siglo 13 DC). En la
forma descrita anteriormente, puede considerarse como una discretizacin del mtodo
de Newton, donde la derivada f x se ha reemplazado por el cuociente
fx n fb
x n b
El mtodo de la secante es tambin muy viejo. En textos inds del siglo quinto, se lo
us para calcular la funcin seno.
Estos dos mtodos, el de la Posicin Falsa y eeel de la Secante, pueden extenderse
a sistemas de ecuaciones no-lineales.
Mtodo de Newton-Raphson
Antes de discutir el mtodo llamado de Newton ms comunmente Newton-Raphson,
debemos aclarar que los historiadores no dudan en contar que el mtodo como lo
vamos a presentar es debido a Simpson. Sin embargo cuando ilustremos el procedimiento seguido por Newton y publicado por Raphson como Mtodo de Newton no
pueden quedar dudas de que el mtodo merece llamarse Mtodo de Newton.
Se debe decir tambin que Raphson public varios libros con los trabajos de Newton
y que fu uno de los pocos individuos que tuvo acceso a los papeles personales de Sir
Isaac Newton. El nmero de aos que separan los descubrimientos de Newton y las
publicaciones de Raphson son aproximadamente veinte. Una cantidad similar de aos,
separa a Raphson de Simpson.
Veamos con un ejemplo, el mtodo seguido por Newton para determinar las raices de
una ecuacin algebraica.
Sea el polinomio de tercer grado:
px x 3 3x 2 3x 1 0
el polinomio del cual deseamos determinar una raz.
Como primer paso Newton hace x x donde es una pequea correccin al
valor inicial (aproximado) de x.
Sustituyendo en la ecuacin original, tenemos
x 3 3x 2 3x 1 0
expandiendo y despreciando las cantidades 2 , 3 que se suponen son muy pequeas, obtenemos
x 3 3x 2 3x 2 6x 3x 3 1 0
despejando
x 3 3x 2 3x 1
3x 2 6x 3
px k
p x k
f x 1 tan
(3)
La pendiente es
fx
tan x 1 1x 2
igualando estas expresiones
fx
f x 1 x 1 1x 2
(4)
y despejando x 2
x2 x1
fx 1
f x 1
(5)
fx k
f x k
(6)
fx x 3 4x 2 3x 12 0
Supongamos que x 1 3;
f3 3 3 43 2 33 12 12. 0
f 3 33 2 83 3 6. 0
Aplicaremos (6) hasta tener un resultado con tres cifras decimales de exactitud.
Entonces
x 2 x 1 f3/f 3 3 12/6 5
f5 5 3 45 2 35 12 28. 0
f 5 35 2 85 3 38. 0
x 3 5 28/38 4. 263 2
f4. 2632 4. 2632 3 44. 2632 2 34. 2632 12 5. 573 2
f 4. 2632 34. 2632 2 84. 2632 3 23. 419
x 4 4. 2632 5. 5732/23. 419 4. 025 2
f4. 0252 4. 0252 3 44. 0252 2 34. 0252 12 . 483 9
f 4. 0252 34. 0252 2 84. 0252 3 19. 405
x 5 4. 0252 0. 4839/19. 405 4. 000 3
Este resultado tiene tres decimales de exactitud, ya que la solucin exacta es 4.0.
Posibles Problemas de Covergencia con Newton-Raphson
Reescribiendo (6) de la siguiente manera:
y x
fx
f x
f xf x fxf x
dy
1
dx
f x 2
(7)
o simplemente
fxf x
f x 2
(8)
El Mtodo de la Secante
Cuando se usa una aproximacin de la derivada de la funcin, en el mtodo de NewtonRaphson, el mtodo se denomina mtodo de la Secante. Este punto no es trivial. Si la
funcin es complicada o est dada por una tabla de valores, entonces el evaluar df/dt
es preferible hacerlo empleando
f k
fx k fx k1
x k x k1
f k x k x k1
fx k fx k1
Px ax x 2 2 bx x 2 c
(9)
Como queremos que pase por x 0 , x 1 , x 2 formamos tres ecuaciones para determinar
los coeficientes a, b, c:
c fx 2
x 0 x 2 2 fx 1 fx 2 x 1 x 2 2 fx 0 fx 2
x 0 x 2 x 1 x 2 x 0 x 1
x 1 x 2 fx 0 fx 2 x 0 x 2 fx 1 fx 2
x 0 x 2 x 1 x 2 x 0 x 1
x3 x2
2c
b b 2 4ac
(10)
para obtener un valor de x 3 lo mas cercano a x 2 el metodo de Muller elige el signo que
coincida con el de b. De esta manera el denominador sera mas grande.
O sea
x3 x2
2c
b signob b 2 4ac
(11)
y
R a z
x0
x1
x2
x
x3
Eb-D;
end
h-2*feval(f_name,x2)/E;
px2h;
if abs(h)Tol
break,end
x0x1; %Preprese para la prxima iteracin
x1x2;
x2p;
h1x1-x0;
h2x2-x1;
de1(feval(f_name,x1)-feval(f_name,x0))/h1;
de2(feval(f_name,x2)-feval(f_name,x1))/h2;
d(de2-de1)/(h2h1);
ii1;
end
Otros Mtodos
Un metodo muy popular para determinar las raices de polinomios es el de Lin-Bairstow.
Se basa en el hecho de que para un polinomio dado un factor cuadrtico puede ser
extraido y el trmino residual se lo forza a que se haga cero. En practicamente cada referencia citada al final de esta seccin aparece la descripcin del mtodo.
Raices de Polinomos
Debido a la frecuencia con que aparecen polinomios en los campos de las ciencias e
ingeniera, es que dedicaremos este espacio para hablar de ellos y de los mtodos
para determinar sus raices.
un polinomio arbitrario de grado n toma la siguiente forma:
pz a n z n a n1 z n1 a 0
(12)
Los coeficientes pueden ser reales o complejos y es fcil notar que el mtodo de la
biseccin no es aplicable en la bsqueda de races complejas. Se deben recordar los
siguientes puntos acerca de polinomios con coeficientes reales o complejos:
a) Un polinomio de grado n tiene n races (Gauss) que pueden ser reales o
complejas
b) Si el grado es impar, necesariamente tendr por lo menos una raz real
y las otras, si son complejas, sern complejas conjugadas
c) si z es una raiz, entonces (12) puede escribirse
pz z z gz
(13)
pz
ajzj
n1
gz
j0
bjzj
j0
(14)
z z b n1 z n1 b n2 z n2 b 0
Igualando los coeficientes de iguales potencias de z
a i b i1 z b i
b i1 a i z b i
i n, n 1, , 1
(15)
(16)
(17)
(18)
f3 A0 x1x2x3
En este punto pareciera que hemos complicado el problema. Al principio tenamos
una ecuacin no lineal de terder grado en la variable x, en cambio el sistema de ecs.(14)
f 1 x 1 1 , x 2 2 , . . . . . . , x n n f 1 x i f 1 x i j
j1
f 2 x 1 1 , x 2 2 , . . . . . . , x n n f 2 x i f 2 x i j
j1
f 1 x i
x j
f 2 x i
x j
.......................................................................................................
f n x 1 1 , x 2 2 , . . . . . . , x n n f n x i f n x i j
j1
f n x i
x j
Estas ecuacions representan series de Taylor truncadas, ya que hemos tretenido solamente los trminos lineales en . Los trminos que hemos eliminado continen 2 , 3 , etc.
Como en nuestra discusin los incrementos j se suponen pequeos, es razonable esta
aproximacin que recibe el nombre de linearizacin de las ecuaciones.
Observando las ecuaciones anteriores, es obvio que el set , j 1, 2, . . . . , n que hace
estas ecuaciones igual a cero es:
0 f 1 x i j
j1
0 f 2 x i j
j1
f 1 x i
x j
f 2 x i
x j
........................................
0 f n x i j
j1
f n x i
x j
f 1 x i
x 2
......
f 1 x i
x n
f 2 x i
x 1
f 2 x i
x 2
......
f 2 x i
x n
f 1 x i
f 2 x i
......
......
......
......
......
....
......
......
......
......
....
......
f n x i
f n x i
x 1
f n x i
x 2
......
f n x i
x n
y en forma compacta
J f
en Matlab este sistema lineal de ecuaciones se resuelve:
(19)
J\f
(20)
Problema
Estimar el conjunto de raices del siguiente sistema de ecuaciones no lineales, por el
mtodo de NewtonRaphson.
f 1 x 1 , x 2 x 21 x 22 18 0
f 2 x 1 , x 2 x 1 x 2 0
Solucin:
Empezamos calculando calculando el Jacobiano [J]:
x1
f 1
x 1
f 1
x 2
f 2
x 1
f 2
x 2
2x 1 2x 2
2
x2
en este caso particular resolvamos el sistema matricial uando el inverso de [J]:
J 1
1
2x 1 x 2
2x 2
2x 1
J 1 1
8
f1
10
f2
x1
x2
x1
x2
J 1
0
f1
f2
esto da:
x1
x2
1
8
10
3. 25
3. 25
3. 25
3. 25
1
13
6. 5
3. 125
6. 5
3. 0096
3. 0096
Es evidente que con solo dos iteraciones hemos logrado valores muy cercanos al con
junto de raices exactas:
x1
x2
exacta
3. 0
3. 0
DEBER:
Detrmine por el mtodo de Newton-Raphson todas las raices de la siguiente ecuacin
algebraica:
fx x 3 6x 2 11x 6
(Primeramente, transfome la ecuacin a un sistema de ecuaciones no lineales).
Matlab dispone de varias funciones para determinar raices de ecuaciones no lineales.
Para polinomos se procede de la siguiente manera.
Primero se define un vector con los coeficientes del polinomio. Para el polinomio anteror
este sera:
p 1, 6, 11, 6;
luego se invoca a la fumcin roots as:
x0 rootsp
x0 contiene las tres raices del polinomio.
Para funciones arbitrarias que no son polinomios, podemos usar:
x0, f min fzerofunc, xa
x0 contiene la raiz, fmin es el valor de la funcin en ese punto. Datos de entrada son el
nombre de la funcin, y el valor aproximado de la raiz xa. La funcin se invoca sin comillas
si es una funcin inline una funcin del tipo func @(x)................. Si la funcin est
definida en archivo *.m debe invocarse as:
x0, f min fzero func , xa
Cuando se tiene un sistema simultneo de ecuaciones no lineales, Matlab provee la funcin
fsolve que se emplea de la siguiente manera.
Supongamos que tenemos el siguiente problema.
2x 2 y yz 3 0
4xy 2 3y z 2 2 0
5xz 2 3xzy 4 0
Empleando notacin vectorial x1, x2, x3 para x, y, z definmos la funcin as:
func inline 2 x1^2 x2 x2 x3 3; 4 x1 x2^2 3 x2 x3^2 2;
5 x1 x3^2 3 x1 x2 x3 4 , x ;
Como se observa, cada ecuacin 0 es una fila de una matriz.
Las raices se determinan invocando fsolve asi:
x0, f min f solvefunc. x1, x2, x3
x0 contiene el valor de las soluciones, fmin el vector con los valores de cada ecuacin en x0.
Referencias
[1] Numerical Methods in Engineering Practice por Amir W. Al-Khafaji and John R.
Tooley. Ed. Holt, Rinehart and Winston, inc. (1986)
[2] Anlisis Numrico por Richard Burden y J. Douglas Faires 6ta Ed. International
Thomson Editores
[3] Anlisis Numrico un Enfoque Prctico por 3ra edicin por Melvin Maron y Robert
J. Lpez. Ed. Cecsa (1995).
[4] Anlisis Numrico y Visualizacin Grfica con MATLAB por Shoichiro Nakamura
Prentice Hall (1997).
[5] Numerical Methods using Matlab 3rd Edition by John H. Mathews & Kurtis D. Fink
Prentice Hall (1999)
[6] Numerical Methods in Engineering with MATLAB por Jaan Kiusalaas. Cambridge Ed.
2005