Anda di halaman 1dari 32

Mtodos Numricos para solucin de raices 1

Ing. Hctor G. Bolaos Sosa


UNIVERSIDAD NACIONAL DE SAN AGUSTIN
CAPITULO II
METODOS NUMERICOS PARA LA SOLUCIN DE RAICES

1. INTRODUCCION
Para resolver la funcin cuadrtica 0 ) (
2
= + + = c bx ax x f . Se usa la frmula
cuadrtica
a
ac b b
x
2
4
2

=

Las valores de x
1
y x
2
, se les conoce como races, o tambin CEROS de la
ecuacin.

Ejemplo N 1: Encontrar las raices de la siguiente funcin
0 2 5 3
2
= + + x x
) 3 ( 2
) 3 )( 2 ( 4 5 5
2

= x

6
1 5
= x

6
24 25 5
= x
667 . 0
6
1 5
1
=
+
= x

667 . 0
6
1 5
1
=
+
= x


Prueba:
0 0
0 2 ) 667 . 0 ( 5 ) 667 . 0 ( 3
0 2 5 3
2
2
=
= + +
= + + x x

Prueba:
0 0
0 2 ) 000 . 1 ( 5 ) 000 . 1 ( 3
0 2 5 3
2
2
=
= + +
= + + x x


Algunos mtodos grficos se pueden usar para explorar inicialmente las raices. Se
debe graficar la funcin y determinar por donde cruza al eje x.

Se puede encontrar las raices mediante la tcnica de prueba y error; es decir,
escoger un valor de x y evaluar si f(x)= 0, si no es as se evalua hasta que se
cumpla 0 ) ( x f

Se pueden usar para clculos de ingeniera, por ejemplo.
La velocidad de cada de un paracaidista es:

t
m
c
e
c
gm
v 1
(1)
Se puede determinar el valor de v porque est expresada de manera explcita
como un trmino del tiempo.
Pero, si se desea determinar el coeficiente de rozamiento c para un paracaidista
de masa m, para alcanzar una velocidad, en un perodo de tiempo. No se puede
resolver explcitamente, es decir c es implcita.

Para solucionar este problema, se usan mtodos numricos para calcular la raz
de la ecuacin.

Para este caso es conveniente reordenar la ecuacin (1) a:
Mtodos Numricos para solucin de raices 2
Ing. Hctor G. Bolaos Sosa

t
m
c
t
m
c
e
c
gm
v v
e
c
gm
v
1
1

v e
c
gm
c f
t
m
c

= =

1 0 ) (


Es decir se cumple: f(c)=0; es la raiz de la ecuacin y este valor representa el
coeficiente de arrastre



2. METODOS DE INTERVALOS
Estos mtodos aprovechan el hecho que una funcin cambia de signo en la
vecindad de una raz.
El mtodo grafico puede ser considerado como tambin un mtodo de intervalos;
ya que se explora entre dos valores; un valor bajo y un valor alto.
Aprovechan el hecho que una funcin en forma tpica cambia de signo en la
vecindad de una raz.
Se contemplan los siguientes casos:
a) Mtodo Grfico
b) Mtodo de la Biseccin
c) Mtodo de Falsa Posicin

2.1. METODOS GRFICOS
Para obtener una aproximacin a la raiz de la ecuacin f(x)=0, es graficar la
funcin y observar donde se intersecta al eje de las absisas (eje x).

Algunos casos:
a) No existen raices o un nmero par de raices
Si:
f(x
L
) y f(x
U
); tienen el mismo sigo, entonces no hay raices en el intervalo, o hay un
nmero par de raices


X
f(x)
f(x)
X
Mtodos Numricos para solucin de raices 3
Ing. Hctor G. Bolaos Sosa

b) Si existe un cambio de sigo f(x
L
) y f(x
U
); tienen signo diferentes, entonces hay
un nmero impar de raices

2.2. METODO DE LA BISECCION
Este mtodo rastrea los Intervalos para encontrar el cambio de signo


En el grfico se observa de f(c) cambia de signo a ambos lados de la raz; es
decir:

< 0

1.5687 0.4248 = 0.6664
Entonces, existe una raz entre X
L
y X
U
.
El mtodo se basa en localizar un intervalo donde la funcin cambia de signo; y
esto se logra con ms exactitud al dividir el intervalo en una cantidad definida de
sub-intervalos.
La posicin de la raz, se determina situndola en el punto medio del sub-intervalo
donde ocurre el cambio de signo.

Procedimiento:

Paso 1: Elegir valores iniciales X
L
y X
U
, donde la funcin cambie de signo.
Probar

< 0
Se puede explorar con el mtodo grfico

Paso 2: La primera aproximacin de la raz se determina:

2


Paso 3: Efectuar evaluaciones:
a) Si:

< 0 ; La raz se encuentra dentro del sub-intervalo


inferior
Entonces: X
U
= X
R
.; y retornar al paso 2
b) Si:

> 0 ; La raz se encuentra en el sub-intervalo


superior.
Entonces: X
L
= X
R
.; y retornar al paso 2

Paso 4: Solucin (se encontr la raz):
Si:

= 0 ; la raz es igual a X
R
; y termina el clculo

f (c)
c
XU=
XL=
RAIZ
14
+
-
0
1.5687
-0.4248
15
Mtodos Numricos para solucin de raices 4
Ing. Hctor G. Bolaos Sosa

Ejemplo N 1: Encontrar la raz de la siguiente funcin, que representa la cada de
un paracaidista:

t
m
c
e
c
gm
v 1

Arreglando la ecuacin
v e
c
gm
c f
t
m
c

= =

1 0 ) (

m=68.1;t=10;v=40;
c=1:20;
ec=(g*m./c).*(1-exp(-(c./m*t)))-v;
ta=[c;ec]'
plot(c,ec),grid


Paso 1: mediante grfico se tiene:

>> ec=inline('(9.8*68.1./c).*(1-exp(-(c./68.1*10)))-40')

ec =
Inline function:
ec(c) = (9.8*68.1./c).*(1-exp(-(c./68.1*10)))-40

>> fxl=feval(ec,14)
fxl =
1.5687
>> fxu=feval(ec,16)
fxu =
-2.2688
Probar:

< 0
>> pru=fxl*fxu
pru =

-3.5591 (valor negativo; entonces la raz se encuentra en el intervalo
0 2 4 6 8 10 12 14 16 18 20
-10
0
10
20
30
40
50
60
c
f
(
c
)
Raiz
Mtodos Numricos para solucin de raices 5
Ing. Hctor G. Bolaos Sosa

Paso 2: Primera aproximacin

2


>> xl=14
xl =
14
>> xu=16
xu =
16
>> xr=(xl+xu)/2
xr =
15.0000
Paso 3: Evaluaciones
>> fxl=feval(ec,14)
fxl =
1.5687
>> fxr=feval(ec,15)
fxr =
-0.4248
>> pru=fxl*fxr
pru =
-0.6664 (valor negativo; la raz
se encuentra en el intervalo 14-15)
La raz aproximada es X
U
= X
R
=15

Paso 2: Segunda aproximacin

2

>> xl
xl =
14
>> xu=15
xu =
15

>> xr=(xl+xu)/2
xr =
14.5000

Paso 3: Evaluaciones
>> fxl=feval(ec,xl)
fxl =
1.5687
>> fxr=feval(ec,xr)
fxr =
0.5523

>> pru=fxl*fxr
pru =
0.8664 (valor positivo, la raz se
encuentra en el sub-intervalo superior
X
L
=X
R
=14.5
[14.5 15.0]

Paso 2: tercera aproximacin

2

>> xl=14.5
xl =
14.5000
>> xu=15
xu =
15

>> xr=(xl+xu)/2
xr =
14.7500

Paso 3: Evaluaciones
>> fxl=feval(ec,14.5)
fxl =
0.5523
>> fxr=feval(ec,14.75)
fxr =
0.0.590

>> pru=fxl*fxr
pru =
0.0326 (valor positivo, la raz se
encuentra en el sub-intervalo superior
X
L
=X
R
=14.75
[14.75 15.0]

Paso 2: Cuarta aproximacin >> xr=(xl+xu)/2
xr =
Mtodos Numricos para solucin de raices 6
Ing. Hctor G. Bolaos Sosa

2

>> xl=14.75
xl =
14.7500
>> xu=15
xu =
15

14.8750

Paso 3: Evaluaciones
>> fxl=feval(ec,14.750)
fxl =
0.0590
>> fxr=feval(ec,14.875)
fxr =
-0.1841

>> pru=fxl*fxr
pru =
-0.0109 (valor negativo, la raz se
encuentra en el sub-intervalo
Xu=X
R
=14.8750
[14.750 14.8750]
Paso 2: Quinta aproximacin

2

>> xl=14.750
xl =
14.7500
>> xu=14.8750
xu =
14.8750

>> xr=(xl+xu)/2
xr =
14.8125


Representacin grfica del Mtodo de la Biseccin


XU
XL
XR
f(x ) u
f(x)
x
f(x ) R
f(x ) L
Raiz
Verdadera
Raiz
Aproximada
Intervalo
Inferior
Intervalo
Superior
+
-
0
Mtodos Numricos para solucin de raices 7
Ing. Hctor G. Bolaos Sosa
La Raiz es:



Si:

< 0 entonces X
U
=X
R

La raz est en el intervalo inferior [X
L
,X
R
]

Si:

> 0 entonces X
L
=X
R
La raz est en el intervalo superior [X
R
,X
U
]

ALGORTIMO DEL MTODO DE LA BISECCION
2
U L
R
x x
x
+
=

Verificar:

0 ) ( ) (
0 ) ( ) (
<
>
R L
R L
x f x f
x f x f





Mtodos Numricos para solucin de raices 8
Ing. Hctor G. Bolaos Sosa
DIAGRAMA DE FLUJO DEL METODO DE LA BISECCION
DIAGRAMA DE FLUJO DEL
METODO DE LA BISECCION
INICIO
FUNCION
XL, XU
EVALUAR
f(XL), f(XU)
I=1
err=1
R=0 (raiz)
f(XL).f(XU)<0
err>=0.03 &
I<020
VA=R
R=(XL+XU)/2
f(XL)
f(XU)
f(XR)
f(XL)*f(XR)<=0
XU=R
err=(VA-R)/R*100
XL=R
err=(VA-R)/R*100
I=I+1
Cambiar Lmites
Raiz
R
FIN
NO
NO
SI
SI
NO
SI





Mtodos Numricos para solucin de raices 9
Ing. Hctor G. Bolaos Sosa

CODIGO

%bisec_1
%programa que calcula
%raiz de una funcin
%usando el mtodo de la biseccin
clc
clear all
nombre1=input('Ingrese nombre de la funcin asociada ','s');
nombre=inline(nombre1);
a=input(' limite inferior ');
b=input(' limite superior ');
fprintf('\n');
i=1;e=1;r=0;
%bis=bisec_2(fu,a,b)
fa=feval(nombre,a);
fb=feval(nombre,b);
if fa*fb<=0
fprintf(' it a b aprox error \n');
while e>=3e-2 & i<=50
va=r;
r=(a+b)/2;
fa=feval(nombre,a);
fb=feval(nombre,b);
fr=feval(nombre,r);
fprintf('%3d%10.6f%10.6f%12.6f',i,a,b,r);
if fa*fr<=0
b=r;
e=abs((va-r)/r)*100;
%e=abs((r-va)/r)*100;
fprintf('%10.2f\n',e);
else
a=r;
e=abs((va-r)/r)*100;
%e=abs((r-va)/r)*100;
fprintf('%12.2f\n',e);
end
i=i+1;
end
fprintf('\n');
fprintf('La raiz es : %10.9f\n',r);
else
fprintf('cambiar lmites \n');
end


Ejemplo.
Encontrar las races de la siguiente funcin: 0 2 5 3
2
= + + x x
, usando el mtodo de la
biseccin

Solucin
Bisec_1.m
Mtodos Numricos para solucin de raices 10
Ing. Hctor G. Bolaos Sosa
Mediante mtodo grfico se explora y se tienen races en los siguientes intervalos:
a) [-1.2,-0.8]
b) [-0.8,-0.6]


En el grfico se aprecian dos races
La raz 1: entre -1.02 y -0.8
La raz 2: entre 0.8 y -0.6


>> bisec_1
Ingrese nombre de la funcin asociada 3*x^2+5*x+2
limite inferior -1.2
limite superior -0.8

it a b aprox error
1 -1.200000 -0.800000 -1.000000 100.00
2 -1.200000 -1.000000 -1.100000 9.09
3 -1.100000 -1.000000 -1.050000 4.76
4 -1.050000 -1.000000 -1.025000 2.44
5 -1.025000 -1.000000 -1.012500 1.23
6 -1.012500 -1.000000 -1.006250 0.62
7 -1.006250 -1.000000 -1.003125 0.31
8 -1.003125 -1.000000 -1.001562 0.16
9 -1.001562 -1.000000 -1.000781 0.08
10 -1.000781 -1.000000 -1.000391 0.04
11 -1.000391 -1.000000 -1.000195 0.02

La raiz es : -1.000195313

>> bisec_1
Ingrese nombre de la funcin asociada 3*x^2+5*x+2
limite inferior -0.8
limite superior -0.6

it a b aprox error
1 -0.800000 -0.600000 -0.700000 100.00
2 -0.700000 -0.600000 -0.650000 7.69
3 -0.700000 -0.650000 -0.675000 3.70
4 -0.675000 -0.650000 -0.662500 1.89
5 -0.675000 -0.662500 -0.668750 0.93
6 -0.668750 -0.662500 -0.665625 0.47
-2 -1.8 -1.6 -1.4 -1.2 -1 -0.8 -0.6 -0.4 -0.2 0
-1
0
1
2
3
4
x
f
(
x
)
Mtodos Numricos para solucin de raices 11
Ing. Hctor G. Bolaos Sosa
7 -0.668750 -0.665625 -0.667187 0.23
8 -0.667187 -0.665625 -0.666406 0.12
9 -0.667187 -0.666406 -0.666797 0.06
10 -0.666797 -0.666406 -0.666602 0.03

La raiz es : -0.666601562

Ejemplo.
Encontrar las races de la siguiente funcin:
v e
c
gm
c f
t
m
c

= =

1 0 ) (
, usando
el mtodo de la biseccin

Solucin
Mediante mtodo grfico se explora y se tienen races en los siguientes intervalos:


En el grfico se aprecian la raz:
La raz est en el intervalo [14,16]


Ingrese nombre de la funcin asociada (9.8*68.1/c)*(1-exp(-c*10/68.1))-40
limite inferior 14
limite superior 16

it a b aprox error
1 14.000000 16.000000 15.000000 100.00
2 14.000000 15.000000 14.500000 3.45
3 14.500000 15.000000 14.750000 1.69
4 14.750000 15.000000 14.875000 0.84
5 14.750000 14.875000 14.812500 0.42
6 14.750000 14.812500 14.781250 0.21
7 14.750000 14.781250 14.765625 0.11
8 14.765625 14.781250 14.773438 0.05
9 14.773438 14.781250 14.777344 0.03

La raiz es : 14.777343750


0 2 4 6 8 10 12 14 16 18 20
-10
0
10
20
30
40
50
60
c
f
(
c
)
Raiz
Mtodos Numricos para solucin de raices 12
Ing. Hctor G. Bolaos Sosa
2.3. METODO DE LA FALSA POSICION
Un defecto del mtodo de la biseccin es que al dividir el intervalo X
L
y X
U

en mitades iguales, no toma en cuenta la magnitud de f(X
L
) y f(X
U
).


-
Si f(X
L
) est ms cerca a cero que f(X
U
); entonces la raz se encuentra
ms cerca de X
L
que X
U
.
Este mtodo une con una lnea recta f(X
L
) con f(X
U
) y la interseccin de
esta lnea con el eje X representa una estimacin de la raz.
El hecho de reemplazar la curva con una lnea recta da una posicin
falsa de la raz.
Usando la propiedad de los tringulos semejantes, la interseccin se puede
estimar como sigue:

0


Despejando X
R
; se tiene:



Reacomodando trminos:



Tambien se puede hacer:

Mtodos Numricos para solucin de raices 13
Ing. Hctor G. Bolaos Sosa



Sumando y restando el trmico X
U
, se tiene:


Agrupando trminos:



El valor de X
R
calculado; se reemplaza a X
L
o a X
U
iniciales que produzca
un valor de la funcin que tenga el mismo signo de f(X). De esta manera los
valores de X
L
y X
U
siempre encierran la raz.
Se evalan la funcin, para determinar si la raz se encuentra en intervalo
superior o inferior:

Si: f(X
L
)*f(X
R
) > 0 La raz se encuentra en el intervalo superior
Se cambia X
L
= X
R

El nuevo intervalo ser [X
R
,X
U
]

Si: f(X
L
)*f(X
R
) < 0 La raz se encuentra en el intervalo inferior
Se cambia Xu = X
R

El nuevo intervalo ser [X
L
,X
R
]

Procedimiento:

Paso 1: Elegir valores iniciales X
L
y X
U
, donde la funcin cambie de signo.
Probar

< 0
Se puede explorar con el mtodo grfico

Paso 2: La primera aproximacin de la raz se determina:



Paso 3: Efectuar evaluaciones:
a) Si:

< 0 ; La raz se encuentra dentro del sub-intervalo


inferior.
Entonces: X
U
= X
R
.; y retornar al paso 2
b) Si:

> 0 ; La raz se encuentra en el sub-intervalo


superior.
Entonces: X
L
= X
R
.; y retornar al paso 2

Paso 4: Solucin (se encontr la raz):
Mtodos Numricos para solucin de raices 14
Ing. Hctor G. Bolaos Sosa
Si:

= 0 ; la raz es igual a X
R
; y termina el clculo

Ejemplo N 01:
Sea la siguiente funcin:

=

5 3
Encontrar las races, usando el mtodo de la falsa posicin.
Explorar la raz que est cerca a 5. En el intervalo [5 6]
Solucin

Paso 1: Elegir valores iniciales

>> f=inline('x^2-5*x-3')
>> fplot(f,[-4,6]),grid

Mediante mtodo grafico notamos que existen 2 raices; una de las races est
entre 5 y 6 (esta se har la exploracin)
Entonces el intervalo inicial ser: [5 6]

>> f=inline('x^2-5*x-3')
f =
Inline function:
f(x) = x^2-5*x-3

>> xl=5;
>> xu=6;

Probar

< 0


>> fxl=feval(f,xl)
fxl =
-3
>> fxu=feval(f,xu)
fxu =
3
>> pru=fxl*fxu
pru =
-9

Paso 2: Primera aproximacin



>> xl=5;
>> xu=6;

>> xr=xu-((fxu)*(xl-xu))/(fxl-fxu)
xr =
5.5000

Paso 3: Evaluaciones y prueba (primera)
-4 -3 -2 -1 0 1 2 3 4 5 6
-10
-5
0
5
10
15
20
25
30
35
X
f
(
x
)
Raiz
Mtodos Numricos para solucin de raices 15
Ing. Hctor G. Bolaos Sosa

< 0 Inferior X
U
=X
R

> 0 Superior X
L
=X
R

>> fxl=feval(f,xl)
fxl =
-3
>> fxu=feval(f,xu)
fxu =
3
>> fxr=feval(f,xr)
fxr =
-0.2500

>> prueba=fxl*fxr
prueba =
0.7500
Es mayor a 0; entonces se considera
el intervalo superior y
>> xl=xr
xl =
5.5000

El nuevo intervalo es [5.5, 6.0]

Paso 2: Segunda aproximacin


>> xl=5.5
xl =
5.5000
>> xu=6
xu =
6

>> fxl=feval(f,xl)
fxl =
-0.2500
>> fxu=feval(f,xu)
fxu =
3
>> xr=xu-((fxu)*(xl-xu))/(fxl-fxu)
xr =
5.5385

Paso 3: Evaluaciones y prueba (2da)

< 0 Inferior X
U
=X
R

> 0 Superior X
L
=X
R

>> fxl=feval(f,5.5)
fxl =
-0.2500
>> fxr=feval(f,xr)
fxr =
-0.0178

>> prueba=fxl*fxr
prueba =
0.0044

Es mayor a 0; entonces se considera
el intervalo superior y
>> xl=xr
xl =
5.5385

El nuevo intervalo es [5.5385, 6.0000]

Paso 2: Tercera aproximacin


>> xl=xr
xl =
5.5385
>> xu
xu =
6

>> fxl=feval(f,xl)
fxl =
-0.0178
>> fxu=feval(f,xu)
fxu =
3

>> xr=xu-((fxu)*(xl-xu))/(fxl-fxu)
xr =
5.5412




Mtodos Numricos para solucin de raices 16
Ing. Hctor G. Bolaos Sosa
Paso 3: Evaluaciones y prueba (3ra)

< 0 Inferior X
U
=X
R

> 0 Superior X
L
=X
R

>> fxl=feval(f,xl)
fxl =
-0.0178>> fxr=feval(f,xr)
fxr =
-0.0012

>> prueba=fxl*fxr
prueba =
2.2113e-005
Es mayor a 0; entonces se considera
el intervalo superior y
>> xl=xr
xl =
5.5412

El nuevo intervalo es [5.5412, 6.0000]


Iter xl xu xr f(xl)*f(xu) >0 Inte
super
Intervalo %Ea
1 5 6 5.50 0.750 SI [5.5,6.0] ---
2 5.5 6.0 5.5385 0.0044 SI [5.5385,6.0000] 0.6951
3 5.5385 6.0000 5.5412 2.211x10
-5
SI [5.5412,6.0000] 0.0487


Valor final aproximado de la raiz= 5.5412
Efectuando la prueba, reemplazando el valor en la ecuacin:
>> xr
xr =
5.5412
>> fxr=feval(f,xr)
fxr =
-0.0012


ALGORITMO DEL METODO DE LA FALSA POSICION

( )
) ( ) (
) (
U L
U L U
U R
x f x f
x x x f
x x

=

Verificar:
0 ) ( ) (
0 ) ( ) (
<
>
R L
R L
x f x f
x f x f


Mtodos Numricos para solucin de raices 17
Ing. Hctor G. Bolaos Sosa
DIAGRAMA DE FLUJO DEL
METODO DE LA FALSA POSICION
INICIO
FUNCION
XL, XU
EVALUAR
f(XL), f(XU)
I=1
err=1
R=1 (raiz)
f(XL).f(XU)<0
err>=0.03 &
I<50
f(XL)*f(XR)<=0
XU=R
err=(VA-R)/R*100
XL=R
err=(VA-R)/R*100
I=I+1
Cambiar Lmites
Raiz
R
FIN
NO
NO
SI
SI
NO
SI
( )
) ( ) (
) (
) (
) (
U L
U L U
U R
U
L
x f x f
x x x f
x x
x f
x f
R Va

=
=



Mtodos Numricos para solucin de raices 18
Ing. Hctor G. Bolaos Sosa
CODIGO
%falsa_posi_1
%Ing. Hector Bolaos
%programa que calcula
%raiz de una funcin
%usando el mtodo de la
%falsa posicin
clc
clear all
nombre1=input('Ingrese nombre de la funcin asociada ','s');
nombre=inline(nombre1);
a=input(' limite inferior ');
b=input(' limite superior ');
fprintf('\n');
i=1;e=1;r=0;
fa=feval(nombre,a);
fb=feval(nombre,b);
if fa*fb<=0
fprintf(' it a b aprox error \n');
fprintf('______________________________________________________\n');
while e>=3e-2 & i<=50
va=r;
fa=feval(nombre,a);
fb=feval(nombre,b);
fr=feval(nombre,r);
r=b-(fb*(a-b))/(fa-fb);
fprintf('%3d%10.6f%10.6f%12.6f',i,a,b,r);
if fa*fr<=0
b=r;
e=abs((va-r)/r)*100;
fprintf('%10.2f\n',e);
else
a=r;
e=abs((va-r)/r)*100;
fprintf('%12.2f\n',e);
end
i=i+1;
end
fprintf('\n');
fprintf('La raiz es : %10.9f\n',r);
else
fprintf('cambiar lmites \n');
end


Ejemplo N 02:
Sea la siguiente funcin: = 3

+5 +2
Encontrar las races, usando el mtodo de la falsa posicin

Solucin
Mediante el mtodo grfico se explora y se ha identificado dos races:

Mtodos Numricos para solucin de raices 19
Ing. Hctor G. Bolaos Sosa


Explora las races en los intervalos que se indican
a) [-1.2,-0.8]
b) [-0.8,-0.6]

Ingrese nombre de la funcin asociada 3*x^2+5*x+2
limite inferior -0.8
limite superior -0.6

it a b aprox error
______________________________________________________
1 -0.800000 -0.600000 -0.700000 100.00
2 -0.800000 -0.700000 -0.640000 9.38
3 -0.640000 -0.700000 -0.669388 4.39
4 -0.669388 -0.700000 -0.666362 0.45
5 -0.666362 -0.700000 -0.666701 0.05
6 -0.666701 -0.700000 -0.666663 0.01

La raiz es : -0.666662903

Ejemplo N 03:
Sea la siguiente funcin:

=

5 3
Encontrar las races, usando el mtodo de la falsa posicin.
Explorar la raz que est cerca a 5. En el intervalo [5, 6]. Usar el mtodo de de la
falsa posicin.

Solucin:
Ingrese nombre de la funcin asociada x^2-5*x-3
limite inferior 5
limite superior 6

it a b aprox error
______________________________________________________
1 5.000000 6.000000 5.500000 100.00
2 5.500000 6.000000 5.538462 0.69
3 5.538462 6.000000 5.541176 0.05
4 5.541176 6.000000 5.541367 0.00

-2 -1.8 -1.6 -1.4 -1.2 -1 -0.8 -0.6 -0.4 -0.2 0
-1
0
1
2
3
4
f(x)
f
(
x
)
Raiz 1
Raiz 2
Mtodos Numricos para solucin de raices 20
Ing. Hctor G. Bolaos Sosa
La raiz es : 5.541366906

Ejemplo N 04:
Sea la siguiente funcin:

=


Encontrar las races, usando el mtodo de la falsa posicin.
Solucin
Efectuando una exploracin grfica, se determina que la raz est entre 0 y 1

>> f=inline('exp(-x)-x')
f =
Inline function:
f(x) = exp(-x)-x
>> fplot(f,[-10,10]),grid
>> fplot(f,[-2,2]),grid



Efectuando el cdigo de la falsa posicin, con el intervalo [0,1]:
Ingrese nombre de la funcin asociada exp(-x)-x
limite inferior 0
limite superior 1

it a b aprox error
______________________________________________________
1 0.000000 1.000000 0.612700 100.00
2 0.612700 1.000000 0.563838 8.67
3 0.563838 1.000000 0.567385 0.63
4 0.567385 1.000000 0.567126 0.05
5 0.567126 1.000000 0.567145 0.00

La raiz es : 0.567144584


-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
-2
0
2
4
6
8
10
X
f
(
x
)
Raiz
Mtodos Numricos para solucin de raices 21
Ing. Hctor G. Bolaos Sosa
3. METODOS ABIERTOS
En los mtodos de intervalos, se requieren de dos valores entre los cuales se
encuentra la raz.
Los mtodos abiertos, se basan en frmulas que requieren nicamente de un solo
valor de inicio.
Estos mtodos pueden alejarse de la raz (divergencia) o pueden acercarse a la
raz (convergencia)


Divergencia

Convergencia

3.1. ITERACION SIMPLE DE PUNTO FIJO
Este mtodo llamada tambin de sustitucin sucesiva, emplea una frmula
que predice la raz. Esta frmula puede ser desarrollada al re-arreglar la
ecuacin f(x) = 0, de tal forma que x quede en el lado izquierdo de la
ecuacin.
x = g(x)



La figura nos muestra un patrn montono, tambin los errores disminuyen

Procedimiento:
Paso 1: Reordenar la ecuacin, de tal manera de x quede en el lado
izquierdo de la ecuacin.
Paso 2: Dar un valor inicial

y calcular





Mtodos Numricos para solucin de raices 22
Ing. Hctor G. Bolaos Sosa
Paso 3: El resultado de la operacin anterior, pasa a ser el nuevo valor o
valor actual.
Paso 4: Este procedimiento se repite iterativamente

Ejemplo N 1
Encontrar la raz de la siguiente expresin
=

5 3
Solucin
a) Mediante un mtodo grfico se exploran las races


Se pueden apreciar dos races en los intervalos:
[-2 , 0] y [4 , 6]

b) Usando el mtodo de punto fijo exploraremos la raz que est en el
intervalo [-2 , 0]:
Paso 1: Reordenando la ecuacin

=

5 3 = 0
=

=
Paso 2: Dar un valor inicial y calcular



Primera iteracin:
>> gx=inline('(x.^2-3)/5')
gx =
Inline function:
gx(x) = (x.^2-3)/5
>> xi=0;
>> xi1=feval(gx,xi)
xi1 =
-0.6000

Error Aproximado:
>> ae=(xi1-xi)/xi1*100
ae =
100

Paso 3: Continuar con las iteraciones

Segunda Aproximacin
>> xi=xi1
xi =
Error aproximado:
>> ae=(xi1-xi)/xi1*100
ae =
-4 -3 -2 -1 0 1 2 3 4 5 6
-10
-5
0
5
10
15
20
25
30
35
X
f
(
x
)
Raiz
Mtodos Numricos para solucin de raices 23
Ing. Hctor G. Bolaos Sosa
-0.6000
>> xi1=feval(gx,xi)
xi1 =
-0.5280
-13.6364

Tercera Aproximacin
>> xi=xi1
xi =
-0.5280
>> xi1=feval(gx,xi)
xi1 =
-0.5442
Error aproximado:
>> ae=(xi1-xi)/xi1*100
ae =
2.9845

Cuarta Aproximacin
>> xi=xi1
xi =
-0.5442
>> xi1=feval(gx,xi)
xi1 =
-0.5408
Error aproximado:
>> ae=(xi1-xi)/xi1*100
ae =
-0.6442

Quinta Aproximacin
>> xi=xi1
xi =
-0.5408
>> xi1=feval(gx,xi)
xi1 =
-0.5415
Error aproximado:
>> ae=(xi1-xi)/xi1*100
ae =
0.1396

Sexta Aproximacin
>> xi=xi1
xi =
-0.5415
>> xi1=feval(gx,xi)
xi1 =
-0.5414

Error aproximado:
>> ae=(xi1-xi)/xi1*100
ae =
-0.0302

Sptima Aproximacin
>> xi=xi1
xi =
-0.5414
>> xi1=feval(gx,xi)
xi1 =
-0.5414
Error aproximado:
>> ae=(xi1-xi)/xi1*100
ae =
0.0065

Tabla Resumen


Iter. xi
e
a
(%)
0 0
1 -0.6000 100.00
2 -0.5280 13.64
3 -0.5442 2.98
Mtodos Numricos para solucin de raices 24
Ing. Hctor G. Bolaos Sosa
4 -0.5408 0.6442
5 -0.5415 0.1396
6 -0.5414 0.0302
7 -0.5414 0.0065

Efectuando la prueba:
>> xi1
xi1 =
-0.5414
>> fx=inline('x^2-5*x-3')
>> pru=feval(fx,xi1)
pru =
3.8367e-005

Para la raz que se encuentra en el intervalo [4 , 6]
Paso 1: Reordenando la ecuacin

=

5 3 = 0
= 5 +3 =
Paso 2: Dar un valor inicial y calcular


Primera iteracin:
>> gx=inline('sqrt(5*x+3)')
gx =
Inline function:
gx(x) = sqrt(5*x+3)
>> xi=4
xi =
4
>> xi1=feval(gx,xi)
xi1 =
4.7958
Error Aproximado:
>> ae=(xi1-xi)/xi1*100
ae =
16.5942

Paso 3: Se continan con las iteraciones, las cuales se muestran en la tabla
siguiente:
Iter xi
e
a
%
0 4
1 4.7958 16.5942
2 5.1941 7.6685
3 5.3824 3.4984
4 5.4692 1.5864
5 5.5087 0.7173
6 5.5266 0.3240
7 5.5347 0.1462
8 5.5384 0.0660
9 5.5400 0.0298
10 5.5408 0.0134
11 5.5411 0.0061

>> fx=inline('x^2-5*x-3')
>> xi1= 5.5411
>> prueba=feval(fx,xi1)
prueba = -0.0017

Mtodos Numricos para solucin de raices 25
Ing. Hctor G. Bolaos Sosa
3.2. METODO DE NEWTON RAPHSON
Este es uno de los mtodos ms usados. Si el valor de inicial de la raz es xi,
entonces se puede extender una tangente desde el punto

. El punto
donde esta tangente cruza al eje x, representa una aproximacin de la raz.


Se extrapola una pendiente (tangente) hasta el eje x para obtener la raz en

.
Por definicin de pendiente se tiene:


Luego:

Frmula de Newton-Raphson

Procedimiento:
Paso 1: Encontrar la derivada de la funcin f(x)
Paso 2: Dar un valor inicial xi
Paso 3: Evaluar f(x) y f(x)
Paso 4: Aplicar la frmula de Newton-Raphson


Paso 5: ARepetir hasta encontrar la raz aproximada

Ejemplo N 1
Encontrar la raz de la siguiente expresin
=

5 3
Solucin
Mediante un mtodo grfico se exploran las races

a) Mediante un mtodo grfico se exploran las races

Mtodos Numricos para solucin de raices 26
Ing. Hctor G. Bolaos Sosa

Se pueden apreciar dos races en los intervalos:
[-2 , 0] y [4 , 6]

b) Usando el mtodo de Newton-Raphson exploraremos la raz que est en
el intervalo [-2 , 0]:
Paso 1: Encontrar la derivada de la funcin
>> syms x
>> fx=x^2-5*x-3
fx =
x^2 - 5*x - 3
>> dfx=diff(fx)
dfx =
2*x 5

Paso 2: Dar un valor inicial xi
>> xi=0
xi =
0

Paso 3: Evaluar f(x) y f(x)
> fx=inline('x^2-5*x-3')
fx =
Inline function:
fx(x) = x^2-5*x-3
>> evfx=feval(fx,xi)
evfx =
-3
>> dfx=inline('2*x-5')
dfx =
Inline function:
dfx(x) = 2*x-5
>> evdfx=feval(dfx,xi)
evdfx =
-5

Paso 4: Aplicar la frmula de Newton-Raphson
Primera Aproximacin
>> xi1=xi-(evfx/evdfx)
xi1 =
-0.6000
Error aproximado
>> ae=(xi1-xi)/xi1*100
ae =
100

Segunda Aproximacin
>> xi=xi1
xi =
-0.6000
>> evfx=feval(fx,xi)
Error aproximado
>> ae=(xi1-xi)/xi1*100
ae =
-10.7143
-4 -3 -2 -1 0 1 2 3 4 5 6
-10
-5
0
5
10
15
20
25
30
35
X
f
(
x
)
Raiz
Mtodos Numricos para solucin de raices 27
Ing. Hctor G. Bolaos Sosa
evfx =
0.3600
>> evdfx=feval(dfx,xi)
evdfx =
-6.2000

>> xi1=xi-(evfx/evdfx)
xi1 =
-0.5419

Tercera Aproximacin
>> xi=xi1
xi =
-0.5419
>> evfx=feval(fx,xi)
evfx =
0.0034
>> evdfx=feval(dfx,xi)
evdfx =
-6.0839
>> xi1=xi-(evfx/evdfx)
xi1 =
-0.5414
Error aproximado
>> ae=(xi1-xi)/xi1*100
ae =
-0.1024

Cuarta Aproximacin
>> xi=xi1
xi =
-0.5414
>> evfx=feval(fx,xi)
evfx =
3.0710e-007
>> evdfx=feval(dfx,xi)
evdfx =
-6.0828
>> xi1=xi-(evfx/evdfx)
xi1 =
-0.5414
Error aproximado
>> ae=(xi1-xi)/xi1*100
ae =
-9.3257e-006

Tabla resumen
Iter.
xi
%e
a

0 0
1 -0.6000 100.00
2 -0.5419 10.7143
3 -0.5414 0.1024
4 -0.5414 9.3257x10
-6


Prueba:
>> evfx=feval(fx,xi)
evfx =
2.2204e-015




Mtodos Numricos para solucin de raices 28
Ing. Hctor G. Bolaos Sosa
ALGORITMO MTODO DE NEWTON-RAPHSON
) ( '
) (
1
i
i
i
x f
x f
x x
i
=
+

DIAGRAMA DE FLUJO DEL
METODO DE NEWTON-RAPHSON
INICIO
FUNCION;
X
k=1;err=1
err>3e-2
&
k<=10
k=k+1
e<3e-2

k>=10
break
El valor de la Raiz
es:
FIN
NO
SI
SI
x0=x;
) ( '
) (
x f
x f
x x
o
=
e=abs((x-x0)/x)*100
NO
Imprime
k;x; e

Mtodos Numricos para solucin de raices 29
Ing. Hctor G. Bolaos Sosa



Cdigos:
%princi_newton
%PRINCIPAL_NEWTON
%calculo de Raiz
clc
clear all
disp('RAIZ METODO DE NEWTON-RAPHSON')
disp(' ')
f=input('Ingrese la funcin que contiene la ecuacin ')
x=input('ingrese el valor inicial ')
newton3(f,x);
v=[-2:0.1:2];
w=feval(f,v);
plot(v,w),grid

function f=ecuacion(x)
f=x.^2-5*x-3;

function newton3(f,x)
%Metodo de Newton_Raphson
%Hctor Bolaos Sosa
k=1;err=1;
while err>3e-2 & k<=10
xo=x;
x=xo-(feval(f,xo)/derivada1(f,xo));
k=k+1;
e=abs((x-xo)/x)*100;
fprintf('%5d%10.5f%10.4f\n',k,x,e)
if e<=3e-2|(k>=10)
break
end
end
fprintf('=================================\n')
fprintf('El valor de la raiz es %5.5f\n',x)

function y=derivada1(f,x)
%determina derivada central
%Hctor Bolaos Sosa
if x>1
h=0.01*x;
else
h=0.01;
end
y=0.5*(feval(f,x+h)-feval(f,x-h))/h;

RAIZ METODO DE NEWTON-RAPHSON

Ingrese la funcin que contiene la ecuacin (use comillas)...: 'ecuacion'
ingrese el valor inicial 0
2 -0.60000 100.0000
3 -0.54194 10.7143
4 -0.54138 0.1024
Mtodos Numricos para solucin de raices 30
Ing. Hctor G. Bolaos Sosa
5 -0.54138 0.0000
=================================
El valor de la raiz es -0.54138


RAIZ METODO DE NEWTON-RAPHSON

Ingrese la funcin que contiene la ecuacin (use comillas)...: 'ecuacion'
ingrese el valor inicial 4
2 6.33333 36.8421
3 5.62319 12.6289
4 5.54245 1.4567
5 5.54138 0.0193
=================================
El valor de la raiz es 5.54138


3.3. METODO DE LA SECANTE
Un problema del mtodo de Newton-Raphson, es la evaluacin de la derivada.
Este mtodo es similar al de Newton-Raphson, en el sentido de que una
estimacin de la raz se puede
predecir extrapolando una
tangente o pendiente. En el
mtodo de la secante se usa una
diferencia ms que una derivada
para estimar la pendiente.
Se requieren dos puntos
iniciales. No se requiere de la
funcin f(x) cambie de signo
entre estos dos valores.








La ecuacin de la tangente o de Newton-Raphson es:


La ecuacin aproximada de la pendiente es:


Luego reemplazamos la ecuacin aproximada de pendiente en la ecuacin de
Newton Raphson; quedando finalmente la ecuacin de la secante como sigue:






Mtodos Numricos para solucin de raices 31
Ing. Hctor G. Bolaos Sosa

Ejemplo N 1
Encontrar la raz de la siguiente expresin
=

5 3
Solucin
Mediante un mtodo grfico se exploran las races, observndose dos races.
Explorar la raz que est en el intervalo [4 , 6]

Valores iniciales:
>> x_1=4
x_1 =
4
>> x0=6
x0 =
6
>> f=inline('x^2-5*x-3')
f =
Inline function:
f(x) = x^2-5*x-3

Primera Iteracin
>> ex_1=feval(f,x_1)
ex_1 =
-7
>> ex0=feval(f,x0)
ex0 =
3
>> x1=x0-(ex0)*(x_1-x0)/(ex_1-
ex0)
x1 =
5.4000
Segunda Iteracin
>> x_1=x0
x_1 =
6
>> x0=x1
x0 =
5.4000
>> ex_1=feval(f,x_1)
ex_1 =
3
>> ex0=feval(f,x0)
ex0 =
-0.8400
>> x1=x0-(ex0)*(x_1-x0)/(ex_1-
ex0)
x1 =
Mtodos Numricos para solucin de raices 32
Ing. Hctor G. Bolaos Sosa
5.5313

Tercera Iteracin
>> x_1=x0
x_1 =
5.4000
>> x0=x1
x0 =
5.5313
>> ex_1=feval(f,x_1)
ex_1 =
-0.8400
>> ex0=feval(f,x0)
ex0 =
-0.0615
>> x1=x0-(ex0)*(x_1-x0)/(ex_1-
ex0)
x1 =
5.5416
Cuarta Iteracin
>> x_1=x0
x_1 =
5.5313
>> x0=x1
x0 =
5.5416
>> ex_1=feval(f,x_1)
ex_1 =
-0.0615
>> ex0=feval(f,x0)
ex0 =
0.0015
>> x1=x0-(ex0)*(x_1-x0)/(ex_1-
ex0)
x1 =
5.5414

Quinta Iteracin
>> x_1=x0
x_1 =
5.5416
>> x0=x1
x0 =
5.5414
>> ex_1=feval(f,x_1)
ex_1 =
0.0015
>> ex0=feval(f,x0)
ex0 =
-2.4506e-006
>> x1=x0-(ex0)*(x_1-x0)/(ex_1-ex0)
x1 =
5.5414

Anda mungkin juga menyukai