You are on page 1of 41

Métodos Numéricos para solución de raices 1

UNIVERSIDAD NACIONAL DE SAN AGUSTIN


CAPITULO II
METODOS NUMERICOS PARA LA SOLUCIÓN DE RAICES

1. Introducción
2. Metodos de intervalos
2.1. Metodos gráficos
2.2. Metodo de la biseccion
2.3. Metodo de la falsa posicion
2.4.
3. Metodos abiertos
3.1. Iteracion simple de punto fijo
3.2. Metodo de newton – raphson
3.3. Metodo de la secante

4. Funciones matlab para encontrar raices


4.1. Función roots
4.2. Función fzero

Ing. Héctor G. Bolaños Sosa


Métodos Numéricos para solución de raices 2

1. INTRODUCCION
Las raíces de una función son los valores de la función, que cumplen la siguiente
condición:

 = 0

En el desarrollo del curso se propone dos tipos de aproximaciones para determinar


los valores de la raíz o raíces.
a) Los métodos de intervalo o cerrados.- aquellos en que se considera que el
valor de la raíz está en el intervalo
b) Métodos abiertos.- aquellos métodos, en que a partir de un valor inicial se
busca encontrar la aproximación de la raíz. Estos métodos son más rápidos, en
algunos cados el proceso no siempre encuentra la raiz, ya que el proceso
puede volverse divergente.

Para resolver la función cuadrática f ( x) = ax 2 + bx + c = 0 . Se usa la fórmula


cuadrática
− b ± b 2 − 4ac
x=
2a
Las valores de x1 y x2, se les conoce como raíces, o también CEROS de la
ecuación.

Ejemplo Nº 1: Encontrar las raices de la siguiente función


3x 2 + 5 x + 2 = 0
− 5 ± 5 2 − 4(2)(3)
x=
2(3)
−5 ± 1 −5 + 1
x= x1 = = −0.667
6 6
− 5 ± 25 − 24 −5 − +1
x= x1 = = 0.667
6 6

Prueba: Prueba:
3x + 5x + 2 = 0
2
3x 2 + 5 x + 2 = 0
3(−0.667) 2 + 5(−0.667) + 2 = 0 3(−1.000) 2 + 5(−1.000) + 2 = 0
0=0 0=0

Algunos métodos gráficos se pueden usar para explorar inicialmente las raices. Se
debe graficar la función y determinar por donde cruza al eje “x”.

Se puede encontrar las raices mediante la técnica 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 f ( x ) ≅ 0

Se pueden usar para cálculos de ingeniería, por ejemplo.


La velocidad de caída de un paracaidista es:

Ing. Héctor G. Bolaños Sosa


Métodos Numéricos para solución de raices 3

gm  −  t 
c

v= 1− e  m 
c  

(1)

Se puede determinar el valor de “v” porque está expresada de manera explícita


como un término del tiempo.
Pero, si se desea determinar el coeficiente de rozamiento “c” para un
paracaidista de masa “m”, para alcanzar una velocidad, en un período de tiempo.
No se puede resolver explícitamente, es decir “c” es implícita.

Para solucionar este problema, se usan métodos numéricos para calcular la raíz
de la ecuación.

Para este caso es conveniente reordenar la ecuación (1) a:

gm  −  t  gm  −  t 
c c

v= 1− e  m  f (c ) = 0 = 1− e  m   − v
c   c  


gm  −  t 
c

v−v = 1− e  m 
c  

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

2. METODOS DE INTERVALOS
Estos métodos aprovechan el hecho que una función cambia de signo en la
vecindad de una raíz.
El método grafico puede ser considerado como también un método de intervalos;
ya que se explora entre dos valores; un valor bajo y un valor alto.
Aprovechan el hecho que una función en forma típica cambia de signo en la
vecindad de una raíz.
Se contemplan los siguientes casos:
a) Método Gráfico
b) Método de la Bisección
c) Método de Falsa Posición

2.1. METODOS GRÁFICOS


Para obtener una aproximación a la raiz de la ecuación f(x)=0, es graficar la
función y observar donde se intersecta al eje de las absisas (eje “x”).

Ing. Héctor G. Bolaños Sosa


Métodos Numéricos para solución de raices 4

Algunos casos:
a) No existen raices o un número par de raices
Si:
f(xL) y f(xU); tienen el mismo sigo, entonces no hay raices en el intervalo, o hay un
número par de raices

f(x)
f(x)

X X

b) Si existe un cambio de sigo f(xL) y f(xU); tienen signo diferentes, entonces hay
un número impar de raices

2.2. METODO DE LA BISECCION


Este método rastrea los Intervalos para encontrar el cambio de signo

f (c)

1.5687
RAIZ
+
XU= 15
0
XL= 14 c
-0.4248

-
En el gráfico se observa de f(c) cambia de signo a ambos lados de la raíz; es
decir:

  ∗   < 0

1.5687 ∗ −0.4248 = −0.6664


Entonces, existe una raíz entre XL y XU.
El método se basa en localizar un intervalo donde la función cambia de signo; y
esto se logra con más exactitud al dividir el intervalo en una cantidad definida de
sub-intervalos.
La posición de la raíz, se determina situándola en el punto medio del sub-intervalo
donde ocurre el cambio de signo.

Representación gráfica del Método de la Bisección

Ing. Héctor G. Bolaños Sosa


Métodos Numéricos para solución de raices 5

f(x)

+ f(xu ) Intervalo
Inferior
Raiz
Aproximada
XL XR XU
0 Raiz
f(xR )
Verdadera x

-
Intervalo
Superior

f(xL )

 
La Raiz es:  =


Si:   ∗   < 0 entonces XU=XR


La raíz está en el intervalo inferior [XL,XR]

Si:   ∗   > 0 entonces XL=XR


La raíz está en el intervalo superior [XR,XU]

ALGORTIMO DEL MÉTODO DE LA BISECCION


x + xU
xR = L
2
Verificar:

f (xL ) f (xR ) > 0


f (xL ) f (xR ) < 0

Procedimiento:

Paso 1: Elegir valores iniciales XL y XU, donde la función cambie de signo.


Probar   ∗   < 0
Se puede explorar con el método gráfico

Paso 2: La primera aproximación de la raíz se determina:


 + 
 =
2

Paso 3: Efectuar evaluaciones:

Ing. Héctor G. Bolaños Sosa


Métodos Numéricos para solución de raices 6

a) Si:   ∗   < 0 ; La raíz se encuentra dentro del sub-intervalo


inferior
Entonces: XU = XR.; y retornar al paso 2
b) Si:   ∗   > 0 ; La raíz se encuentra en el sub-intervalo
superior.
Entonces: XL = XR.; y retornar al paso 2

Paso 4: Solución (se encontró la raíz):


Si:   ∗   = 0 ; la raíz es igual a XR; y termina el cálculo

Problema Nº 1:
Encontrar las raices de la siguiente función

 =  −  − !

a) Explorar las raices con un gráfico. Usar el comando fplot


b) Desarrollar un código para encontrar la raiz usando el método de bisección
Solución
a) Exploración con gráfico
fplot('ecuacion',[-2,6]),grid

15

10

Raiz
5 Raiz
f(x)

-5

-10
-2 -1 0 1 2 3 4 5 6
x
Notamos que existen 2 raices que están en los intervalos:

Primera raíz: [-1 y 0]


Segunda raíz: [5 y 6]

b) Determinación de la segunda usando el método de la Bisección:

Valor de Intervalo y raíz aprox Evaluación intervalo


>> xl=5; >> fxl=feval('ecuacion',xl)
>> xu=6; fxl = -3
>> xr=(xl+xu)/2 >> fxr=feval('ecuacion',xr)
xr = 5.5000 fxr = -0.2500
>> pro=fxl*fxr
pro = 0.7500
>> xl=xr >> fxl=feval('ecuacion',xl)
xl = 5.5000 fxl =
>> xu=6 -0.2500
>> xr=(xl+xu)/2 >> fxr=feval('ecuacion',xr)

Ing. Héctor G. Bolaños Sosa


Métodos Numéricos para solución de raices 7

xr = 5.7500 fxr = 1.3125


>> pro=fxl*fxr
pro = -0.3281
>> xu=xr >> fxl=feval('ecuacion',xl)
xu = 5.7500 fxl = -0.2500
>> xl >> fxr=feval('ecuacion',xr)
xl = 5.5000 fxr = 0.5156
>> xr=(xl+xu)/2 >> pro=fxl*fxr
xr = 5.6250 pro = -0.1289
>> xu=xr >> fxl=feval('ecuacion',xl)
xu = 5.6250 fxl = -0.2500
>> xl >> fxr=feval('ecuacion',xr)
xl = 5.5000 fxr = 0.1289
>> xr=(xl+xu)/2 >> pro=fxl*fxr
xr = 5.5625 pro = -0.0322
>> xu=xr >> fxl=feval('ecuacion',xl)
xu = 5.5625 fxl = -0.2500
>> xl >> fxr=feval('ecuacion',xr)
xl = 5.5000 fxr = -0.0615
>> xr=(xl+xu)/2 >> pro=fxl*fxr
xr = 5.5313 pro = 0.0154
>> xl=xr >> fxl=feval('ecuacion',xl)
xl = 5.5313 fxl = -0.0615
>> xu >> fxr=feval('ecuacion',xr)
xu = 5.5625 fxr = 0.0334
>> xr=(xl+xu)/2 >> pro=fxl*fxr
xr = 5.5469 pro = -0.0021
>> xu=xr >> fxl=feval('ecuacion',xl)
xu = 5.5469 fxl = -0.0615
>> xl >> fxr=feval('ecuacion',xr)
xl = 5.5313 fxr = -0.0141
>> xr=(xl+xu)/2 >> pro=fxl*fxr
xr = 5.5391 pro = 8.6743e-04

i a B Xr(raiz Evaluación Signo Intervalo


" # aprox) $% nuevo
1 5 6 5.5000 0.7500 + " = #

Ingrese la función asociada x.^2-5*x-3


limite inferior 5
limite superior 6

it a b aprox error aprox


1 5.000000 6.000000 5.500000 100.00
2 5.500000 6.000000 5.750000 4.35
3 5.500000 5.750000 5.625000 2.22
4 5.500000 5.625000 5.562500 1.12
5 5.500000 5.562500 5.531250 0.56
6 5.531250 5.562500 5.546875 0.28
7 5.531250 5.546875 5.539063 0.14

Ing. Héctor G. Bolaños Sosa


Métodos Numéricos para solución de raices 8

8 5.539063 5.546875 5.542969 0.07


9 5.539063 5.542969 5.541016 0.04
10 5.541016 5.542969 5.541992 0.02

La raiz es : 5.541992188

c)

3.5

2.5

2
f(x )

1.5
Raiz
1 Raiz

0.5

-0.5
-2 -1.8 -1.6 -1.4 -1.2 -1 -0.8 -0.6 -0.4 -0.2 0
X
Explora las raíces en los intervalos que se observan en la exploración gráfica:
a) [-1.2,-0.8]
b) [-0.8,-0.6]

Ingrese la función asociada 3*x.^2+5*x+2


limite inferior -1.2
limite superior -0.8

it a b aprox error aprox


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

Ingrese la función asociada 3*x.^2+5*x+2


limite inferior -0.8

Ing. Héctor G. Bolaños Sosa


Métodos Numéricos para solución de raices 9

limite superior -0.6

it a b aprox error aprox


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
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

Para la primera raíz se tiene:

Valores iniciales -0.8 y -0.6 >> xu


xu =
>> xl=-0.8; -0.7000
>> xu=-0.6; >> xr=(xl+xu)/2
>> xr=(xl+xu)/2 xr =
xr = -0.700 -0.7500
>> fxl=feval('ecuacion',xl) >> fxl=feval('ecuacion',xl)
fxl = -0.0800 fxl =
>> fxr=feval('ecuacion',xr) -0.0800
fxr = -0.0300 >> fxr=feval('ecuacion',xr)
fxr =
-0.0625
>> pro=fxl*fxr
pro =
0.0050
>> xl=xr
xl =
-0.7500

Ejemplo Nº 1: Encontrar la raíz de la siguiente función, que representa la caída de


un paracaidista:

gm  −  t 
c

v= 1− e  m 
c  

Arreglando la ecuación
gm  −  t 
c

f (c ) = 0 = 1− e  m   − v
c  

m=68.1;t=10;v=40;

Ing. Héctor G. Bolaños Sosa


Métodos Numéricos para solución de raices 10

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

Paso 1: mediante gráfico se tiene:


60

50

40

30
f( c )

20
Raiz
10

-10
0 2 4 6 8 10 12 14 16 18 20
c
>> 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 raíz se encuentra en el intervalo

Paso 2: Primera aproximación >> xl=14


 +  xl =
 =
2 14
>> xu=16
xu =
16
>> xr=(xl+xu)/2
xr =
15.0000
Paso 3: Evaluaciones >> pru=fxl*fxr
>> fxl=feval(ec,14) pru =
fxl = -0.6664 (valor negativo; la raíz

Ing. Héctor G. Bolaños Sosa


Métodos Numéricos para solución de raices 11

1.5687 se encuentra en el intervalo 14-15)


>> fxr=feval(ec,15) La raíz aproximada es XU = XR=15
fxr =
-0.4248
Paso 2: Segunda aproximación >> xr=(xl+xu)/2
 +  xr =
 =
2 14.5000
>> xl
xl =
14
>> xu=15
xu =
15

Paso 3: Evaluaciones >> pru=fxl*fxr


>> fxl=feval(ec,xl) pru =
fxl = 0.8664 (valor positivo, la raíz se
1.5687 encuentra en el sub-intervalo superior
>> fxr=feval(ec,xr) XL=XR=14.5
fxr = [14.5 – 15.0]
0.5523

Paso 2: tercera aproximación >> xr=(xl+xu)/2


 +  xr =
 =
2 14.7500
>> xl=14.5
xl =
14.5000
>> xu=15
xu =
15

Paso 3: Evaluaciones >> pru=fxl*fxr


>> fxl=feval(ec,14.5) pru =
fxl = 0.0326 (valor positivo, la raíz se
0.5523 encuentra en el sub-intervalo superior
>> fxr=feval(ec,14.75) XL=XR=14.75
fxr = [14.75 – 15.0]
0.0.590

Paso 2: Cuarta aproximación >> xr=(xl+xu)/2


 +  xr =
 =
2 14.8750
>> xl=14.75
xl =
14.7500
>> xu=15
xu =
15

Paso 3: Evaluaciones >> pru=fxl*fxr


>> fxl=feval(ec,14.750) pru =
fxl = -0.0109 (valor negativo, la raíz se
0.0590 encuentra en el sub-intervalo
>> fxr=feval(ec,14.875) Xu=XR=14.8750

Ing. Héctor G. Bolaños Sosa


Métodos Numéricos para solución de raices 12

fxr = [14.750 – 14.8750]


-0.1841

Paso 2: Quinta aproximación >> xr=(xl+xu)/2


 +  xr =
 =
2 14.8125
>> xl=14.750
xl =
14.7500
>> xu=14.8750
xu =
14.8750

Ing. Héctor G. Bolaños Sosa


Métodos Numéricos para solución de raices 13

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)

NO
f(XL).f(XU)<0

SI

NO err>=0.03 &
Cambiar Límites I<020

SI
Raiz VA=R
R R=(XL+XU)/2
f(XL)
f(XU)
f(XR)

FIN NO
f(XL)*f(XR)<=0 XL=R

SI
err=(VA-R)/R*100
XU=R

err=(VA-R)/R*100

I=I+1

Ing. Héctor G. Bolaños Sosa


Métodos Numéricos para solución de raices 14

Bisec_1.m
CODIGO

%bisec_1
%programa que calcula
%raiz de una función
%usando el método de la bisección
clc
clear all
nombre1=input('Ingrese nombre de la función 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 límites \n');
end

Ejemplo.
Encontrar las raíces de la siguiente función: 3 x + 5 x + 2 = 0 , usando el método de la
2

bisección

Solución

Ing. Héctor G. Bolaños Sosa


Métodos Numéricos para solución de raices 15

Mediante método gráfico se explora y se tienen raíces en los siguientes intervalos:


a) [-1.2,-0.8]
b) [-0.8,-0.6]

En el gráfico se aprecian dos raíces


La raíz 1: entre -1.02 y -0.8
La raíz 2: entre –0.8 y -0.6
4

2
f (x )

-1
-2 -1.8 -1.6 -1.4 -1.2 -1 -0.8 -0.6 -0.4 -0.2 0
x

>> bisec_1
Ingrese nombre de la función 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 función 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

Ing. Héctor G. Bolaños Sosa


Métodos Numéricos para solución de raices 16

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

Ingrese la función asociada 3*x.^2+5*x+2


limite inferior -0.8
limite superior -0.6

it a b aprox error aprox


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
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.
gm  −  t 
c

Encontrar las raíces de la siguiente función: f (c ) = 0 = 1 − e  m   − v , usando


c  

el método de la bisección

Solución
Mediante método gráfico se explora y se tienen raíces en los siguientes intervalos:
60

50

40

30
f(c )

20
Raiz
10

-10
0 2 4 6 8 10 12 14 16 18 20
c

En el gráfico se aprecian la raíz:


La raíz está en el intervalo [14,16]

Ing. Héctor G. Bolaños Sosa


Métodos Numéricos para solución de raices 17

Ingrese nombre de la función 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

Ing. Héctor G. Bolaños Sosa


Métodos Numéricos para solución de raices 18

2.3. METODO DE LA FALSA POSICION


Un defecto del método de la bisección es que al dividir el intervalo XL y XU
en mitades iguales, no toma en cuenta la magnitud de f(XL) y f(XU).

-
Si f(XL) está más cerca a “cero” que f(XU); entonces la raíz se encuentra
más cerca de XL que XU.
Este método une con una línea recta f(XL) con f(XU) y la intersección de
esta línea con el eje “X” representa una estimación de la raíz.
El hecho de reemplazar la curva con una línea recta da una “posición
falsa” de la raíz.
Usando la propiedad de los triángulos semejantes, la intersección se puede
estimar como sigue:

0−    − 0
=
 −   − 

−   − 
=
   − 
Despejando XR; se tiene:

−  −   =   −  

−  +   =   −  

Reacomodando términos:
  −   =   −  

 &  −  ' =   −  

(* (+ −(+ (*


() =
(*  − (+ 

Tambien se puede hacer:

Ing. Héctor G. Bolaños Sosa


Métodos Numéricos para solución de raices 19

   


 = −
  −     −  

Sumando y restando el térmico “XU”, se tiene:

   


 =  + −  −
  −     −  
Agrupando términos:

  − &  −  ' −  


 =  +
  −  

   −    & −  '


 =  + =  +
  −     −  

(+ &(* − (+ '


() = (+ −
(*  − (+ 

El valor de XR calculado; se reemplaza a XL o a XU iniciales que produzca


un valor de la función que tenga el mismo signo de f(X). De esta manera los
valores de XL y XU siempre encierran la raíz.
Se evalúan la función, para determinar si la raíz se encuentra en intervalo
superior o inferior:

Si: f(XL)*f(XR) > 0 → La raíz se encuentra en el intervalo superior


Se cambia XL = XR
El nuevo intervalo será [XR,XU]

Si: f(XL)*f(XR) < 0 → La raíz se encuentra en el intervalo inferior


Se cambia Xu = XR
El nuevo intervalo será [XL,XR]

Procedimiento:

Paso 1: Elegir valores iniciales XL y XU, donde la función cambie de signo.


Probar   ∗   < 0
Se puede explorar con el método gráfico

Paso 2: La primera aproximación de la raíz se determina:

 & −  '


 =  −
  −  

Paso 3: Efectuar evaluaciones:


a) Si:   ∗   < 0 ; La raíz se encuentra dentro del sub-intervalo
inferior.
Entonces: XU = XR.; y retornar al paso 2
b) Si:   ∗   > 0 ; La raíz se encuentra en el sub-intervalo
superior.
Entonces: XL = XR.; y retornar al paso 2

Paso 4: Solución (se encontró la raíz):

Ing. Héctor G. Bolaños Sosa


Métodos Numéricos para solución de raices 20

Si:   ∗   = 0 ; la raíz es igual a XR; y termina el cálculo

Ejemplo Nº 01:
Sea la siguiente función:

 =   − 5 − 3
Encontrar las raíces, usando el método de la falsa posición.
Explorar la raíz que está cerca a 5. En el intervalo [5 6]
Solución

Paso 1: Elegir valores iniciales


35

30

25

20

15
f(x )

10
Raiz
5

-5

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

Mediante método grafico notamos que existen 2 raices; una de las raíces está
entre 5 y 6 (esta se hará la exploración)
Entonces el intervalo inicial será: [5 – 6]

>> f=inline('x^2-5*x-3') >> fxl=feval(f,xl)


f= fxl =
Inline function: -3
f(x) = x^2-5*x-3 >> fxu=feval(f,xu)
fxu =
>> xl=5; 3
>> xu=6; >> pru=fxl*fxu
pru =
Probar   ∗   < 0 -9

Paso 2: Primera aproximación


 & −  ' >> xl=5;
 =  − >> xu=6;
  −  

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

Paso 3: Evaluaciones y prueba (primera)

Ing. Héctor G. Bolaños Sosa


Métodos Numéricos para solución de raices 21

>> prueba=fxl*fxr
  ∗   < 0 Inferior XU=XR prueba =
  ∗   > 0 Superior XL=XR 0.7500
Es mayor a “0”; entonces se considera
>> fxl=feval(f,xl) el intervalo superior y
fxl = >> xl=xr
-3 xl =
>> fxu=feval(f,xu) 5.5000
fxu =
3 El nuevo intervalo es [5.5, 6.0]
>> fxr=feval(f,xr)
fxr =
-0.2500

Paso 2: Segunda aproximación


 & −  ' >> fxl=feval(f,xl)
 =  − fxl =
  −  
>> xl=5.5 -0.2500
xl = >> fxu=feval(f,xu)
5.5000 fxu =
>> xu=6 3
xu = >> xr=xu-((fxu)*(xl-xu))/(fxl-fxu)
6 xr =
5.5385

Paso 3: Evaluaciones y prueba (2da)


>> prueba=fxl*fxr
  ∗   < 0 Inferior XU=XR prueba =
  ∗   > 0 Superior XL=XR 0.0044

>> fxl=feval(f,5.5) Es mayor a “0”; entonces se considera


fxl = el intervalo superior y
-0.2500 >> xl=xr
>> fxr=feval(f,xr) xl =
fxr = 5.5385
-0.0178
El nuevo intervalo es [5.5385, 6.0000]

Paso 2: Tercera aproximación


 & −  ' >> fxl=feval(f,xl)
 =  − fxl =
  −  
>> xl=xr -0.0178
xl = >> fxu=feval(f,xu)
5.5385 fxu =
>> xu 3
xu =
6 >> xr=xu-((fxu)*(xl-xu))/(fxl-fxu)
xr =
5.5412

Ing. Héctor G. Bolaños Sosa


Métodos Numéricos para solución de raices 22

Paso 3: Evaluaciones y prueba (3ra)


>> prueba=fxl*fxr
  ∗   < 0 Inferior XU=XR prueba =
  ∗   > 0 Superior XL=XR 2.2113e-005
Es mayor a “0”; entonces se considera
>> fxl=feval(f,xl) el intervalo superior y
fxl = >> xl=xr
-0.0178>> fxr=feval(f,xr) xl =
fxr = 5.5412
-0.0012
El nuevo intervalo es [5.5412, 6.0000]

Iter xl xu xr f(xl)*f(xu) >0 Inte Intervalo %Ea


super
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 ecuación:
>> xr
xr =
5.5412
>> fxr=feval(f,xr)
fxr =
-0.0012

ALGORITMO DEL METODO DE LA FALSA POSICION

f ( xU )(x L − xU )
x R = xU −
f ( x L ) − f ( xU )
Verificar:
f (xL ) f (xR ) > 0
f (xL ) f (xR ) < 0

Ing. Héctor G. Bolaños Sosa


Métodos Numéricos para solución de raices 23

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)

NO
f(XL).f(XU)<0

SI

NO err>=0.03 &
Cambiar Límites I<50

SI
Raiz
R

Va = R
f (xL )
f ( xU )
f ( x U ) (x L − x U )
x R = xU −
f ( x L ) − f ( xU )
FIN

NO
f(XL)*f(XR)<=0 XL=R

SI
err=(VA-R)/R*100
XU=R

err=(VA-R)/R*100

I=I+1

Ing. Héctor G. Bolaños Sosa


Métodos Numéricos para solución de raices 24

CODIGO
%falsa_posi_1
%Ing. Hector Bolaños
%programa que calcula
%raiz de una función
%usando el método de la
%falsa posición
clc
clear all
nombre1=input('Ingrese nombre de la función 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 límites \n');
end

Ejemplo Nº 02:
Sea la siguiente función:  = 3  + 5 + 2
Encontrar las raíces, usando el método de la falsa posición

Solución
Mediante el método gráfico se explora y se ha identificado dos raíces:

Ing. Héctor G. Bolaños Sosa


Métodos Numéricos para solución de raices 25

2
f(x )

1
Raiz 1 Raiz 2

-1
-2 -1.8 -1.6 -1.4 -1.2 -1 -0.8 -0.6 -0.4 -0.2 0
f(x)

Explora las raíces en los intervalos que se indican


c) [-1.2,-0.8]
d) [-0.8,-0.6]

Ingrese nombre de la función 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 función:

 =   − 5 − 3
Encontrar las raíces, usando el método de la falsa posición.
Explorar la raíz que está cerca a 5. En el intervalo [5, 6]. Usar el método de de la
falsa posición.

Solución:
Ingrese nombre de la función 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

Ing. Héctor G. Bolaños Sosa


Métodos Numéricos para solución de raices 26

La raiz es : 5.541366906

Ejemplo Nº 04:
Sea la siguiente función:

 = - ./ − 
Encontrar las raíces, usando el método de la falsa posición.
Solución
Efectuando una exploración gráfica, se determina que la raíz 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

10

6
Raiz
f(x)

-2
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
X

Efectuando el código de la falsa posición, con el intervalo [0,1]:


Ingrese nombre de la función 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

Ing. Héctor G. Bolaños Sosa


Métodos Numéricos para solución de raices 27

3. METODOS ABIERTOS
En los métodos de intervalos, se requieren de dos valores entre los cuales se
encuentra la raíz.
Los métodos abiertos, se basan en fórmulas que requieren únicamente de un solo
valor de inicio.
Estos métodos pueden alejarse de la raíz (divergencia) o pueden acercarse a la
raíz (convergencia)

Divergencia Convergencia

3.1. ITERACION SIMPLE DE PUNTO FIJO


Este método llamada también de sustitución sucesiva, emplea una fórmula
que predice la raíz. Esta fórmula puede ser desarrollada al re-arreglar la
ecuación f(x) = 0, de tal forma que “x” quede en el lado izquierdo de la
ecuación.
x = g(x)

La figura nos muestra un patrón monótono, también los errores disminuyen

Procedimiento:
Paso 1: Reordenar la ecuación, de tal manera de “x” quede en el lado
izquierdo de la ecuación.
Paso 2: Dar un valor inicial 0 y calcular 01

Ing. Héctor G. Bolaños Sosa


Métodos Numéricos para solución de raices 28

Paso 3: El resultado de la operación anterior, pasa a ser el nuevo valor o


valor actual.
Paso 4: Este procedimiento se repite iterativamente

Ejemplo Nº 1
Encontrar la raíz de la siguiente expresión
 =   − 5 − 3
Solución
a) Mediante un método gráfico se exploran las raíces

35

30

25

20

15
f(x )

10
Raiz
5

-5

-10
-4 -3 -2 -1 0 1 2 3 4 5 6
X
Se pueden apreciar dos raíces en los intervalos:
[-2 , 0] y [4 , 6]

b) Usando el método de punto fijo exploraremos la raíz que está en el


intervalo [-2 , 0]:
Paso 1: Reordenando la ecuación

 =   − 5 − 3 = 0
/ 2 .3
=
4
→  = 6
Paso 2: Dar un valor inicial y calcular 0

Primera iteración: Error Aproximado:


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

Paso 3: Continuar con las iteraciones

Segunda Aproximación Error aproximado:


>> xi=xi1 >> ae=(xi1-xi)/xi1*100
xi = ae =

Ing. Héctor G. Bolaños Sosa


Métodos Numéricos para solución de raices 29

-0.6000 -13.6364
>> xi1=feval(gx,xi)
xi1 =
-0.5280

Tercera Aproximación Error aproximado:


>> xi=xi1 >> ae=(xi1-xi)/xi1*100
xi = ae =
-0.5280 2.9845
>> xi1=feval(gx,xi)
xi1 =
-0.5442

Cuarta Aproximación Error aproximado:


>> xi=xi1 >> ae=(xi1-xi)/xi1*100
xi = ae =
-0.5442 -0.6442
>> xi1=feval(gx,xi)
xi1 =
-0.5408

Quinta Aproximación Error aproximado:


>> xi=xi1 >> ae=(xi1-xi)/xi1*100
xi = ae =
-0.5408 0.1396
>> xi1=feval(gx,xi)
xi1 =
-0.5415

Sexta Aproximación Error aproximado:


>> xi=xi1 >> ae=(xi1-xi)/xi1*100
xi = ae =
-0.5415 -0.0302
>> xi1=feval(gx,xi)
xi1 =
-0.5414

Séptima Aproximación Error aproximado:


>> xi=xi1 >> ae=(xi1-xi)/xi1*100
xi = ae =
-0.5414 0.0065
>> xi1=feval(gx,xi)
xi1 =
-0.5414

Tabla Resumen

Iter. xi ea (%)
0 0
1 -0.6000 100.00
2 -0.5280 13.64
3 -0.5442 2.98

Ing. Héctor G. Bolaños Sosa


Métodos Numéricos para solución de raices 30

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 raíz que se encuentra en el intervalo [4 , 6]


Paso 1: Reordenando la ecuación

 =   − 5 − 3 = 0
 = √5 + 3 →  = 6
Paso 2: Dar un valor inicial y calcular 0
Primera iteración: Error Aproximado:
>> gx=inline('sqrt(5*x+3)') >> ae=(xi1-xi)/xi1*100
gx = ae =
Inline function: 16.5942
gx(x) = sqrt(5*x+3)
>> xi=4
xi =
4
>> xi1=feval(gx,xi)
xi1 =
4.7958

Paso 3: Se continúan con las iteraciones, las cuales se muestran en la tabla


siguiente:
Iter xi ea %
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

Ing. Héctor G. Bolaños Sosa


Métodos Numéricos para solución de raices 31

3.2. METODO DE NEWTON – RAPHSON


Este es uno de los métodos más usados. Si el valor de inicial de la raíz es xi,
entonces se puede extender una tangente desde el punto &0 0 '. El punto
donde esta tangente cruza al eje x, representa una aproximación de la raíz.

Se extrapola una pendiente (tangente) hasta el eje “x” para obtener la raíz en
01 .
Por definición de pendiente se tiene:

0  − 0
′0  =
0 − 01
Luego:

: 
:; = : − Fórmula de Newton-Raphson
<: 

Procedimiento:
Paso 1: Encontrar la derivada de la función f(x)
Paso 2: Dar un valor inicial xi
Paso 3: Evaluar f(x) y f’(x)
Paso 4: Aplicar la fórmula de Newton-Raphson

0 
01 = 0 −
′0 
Paso 5: ARepetir hasta encontrar la raíz aproximada

Ejemplo Nº 1
Encontrar la raíz de la siguiente expresión
 =   − 5 − 3
Solución
Mediante un método gráfico se exploran las raíces

a) Mediante un método gráfico se exploran las raíces

Ing. Héctor G. Bolaños Sosa


Métodos Numéricos para solución de raices 32

35

30

25

20

15

f(x ) 10
Raiz
5

-5

-10
-4 -3 -2 -1 0 1 2 3 4 5 6
X
Se pueden apreciar dos raíces en los intervalos:
[-2 , 0] y [4 , 6]

b) Usando el método de Newton-Raphson exploraremos la raíz que está en


el intervalo [-2 , 0]:
Paso 1: Encontrar la derivada de la función
>> 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') >> dfx=inline('2*x-5')
fx = dfx =
Inline function: Inline function:
fx(x) = x^2-5*x-3 dfx(x) = 2*x-5
>> evfx=feval(fx,xi) >> evdfx=feval(dfx,xi)
evfx = evdfx =
-3 -5

Paso 4: Aplicar la fórmula de Newton-Raphson


Primera Aproximación Error aproximado
>> xi1=xi-(evfx/evdfx) >> ae=(xi1-xi)/xi1*100
xi1 = ae =
-0.6000 100

Segunda Aproximación Error aproximado


>> xi=xi1 >> ae=(xi1-xi)/xi1*100
xi = ae =
-0.6000 -10.7143
>> evfx=feval(fx,xi)

Ing. Héctor G. Bolaños Sosa


Métodos Numéricos para solución de raices 33

evfx =
0.3600
>> evdfx=feval(dfx,xi)
evdfx =
-6.2000

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

Tercera Aproximación Error aproximado


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

Cuarta Aproximación Error aproximado


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

Tabla resumen
Iter. xi %ea
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

Ing. Héctor G. Bolaños Sosa


Métodos Numéricos para solución de raices 34

ALGORITMO MÉTODO DE NEWTON-RAPHSON


f ( xi )
x i +1 = xi −
f ' ( xi )

DIAGRAMA DE FLUJO DEL


METODO DE NEWTON-RAPHSON

INICIO

FUNCION;
X

k=1;err=1

NO err>3e-2
&
k<=10

SI

x0=x;
El valor de la Raiz f ( x)
es: x = xo −
f ' ( x)

k=k+1

FIN
e=abs((x-x0)/x)*100

Imprime
k;x; e

e<3e-2 NO
ó
k>=10

SI

break

Ing. Héctor G. Bolaños Sosa


Métodos Numéricos para solución de raices 35

Códigos:
%princi_newton
%PRINCIPAL_NEWTON
%calculo de Raiz
clc
clear all
disp('RAIZ METODO DE NEWTON-RAPHSON')
disp(' ')
f=input('Ingrese la función que contiene la ecuación ')
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
%Héctor Bolaños 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
%Héctor Bolaños 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 función que contiene la ecuación (use comillas)...: 'ecuacion'


ingrese el valor inicial 0
2 -0.60000 100.0000
3 -0.54194 10.7143
4 -0.54138 0.1024

Ing. Héctor G. Bolaños Sosa


Métodos Numéricos para solución de raices 36

5 -0.54138 0.0000
=================================
El valor de la raiz es -0.54138

RAIZ METODO DE NEWTON-RAPHSON

Ingrese la función que contiene la ecuación (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 método de Newton-Raphson, es la evaluación de la derivada.
Este método es similar al de Newton-Raphson, en el sentido de que una
estimación de la raíz se puede
predecir extrapolando una
tangente o pendiente. En el
método de la secante se usa una
diferencia más que una derivada
para estimar la pendiente.
Se requieren dos puntos
iniciales. No se requiere de la
función f(x) cambie de signo
entre estos dos valores.

La ecuación de la tangente o de Newton-Raphson es:


0 
01 = 0 −
′0 
La ecuación aproximada de la pendiente es:
0.1  − 0 
′0  ≅
0.1 − 0
Luego reemplazamos la ecuación aproximada de pendiente en la ecuación de
Newton – Raphson; quedando finalmente la ecuación de la secante como sigue:

: :.; − : 
:; = : −
:.;  − : 

Ing. Héctor G. Bolaños Sosa


Métodos Numéricos para solución de raices 37

Ejemplo Nº 1
Encontrar la raíz de la siguiente expresión
 =   − 5 − 3
Solución
Mediante un método gráfico se exploran las raíces, observándose dos raíces.
Explorar la raíz 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 Iteración Segunda Iteración


>> ex_1=feval(f,x_1) >> x_1=x0
ex_1 = x_1 =
-7 6
>> ex0=feval(f,x0) >> x0=x1
ex0 = x0 =
3 5.4000
>> x1=x0-(ex0)*(x_1-x0)/(ex_1- >> ex_1=feval(f,x_1)
ex0) ex_1 =
x1 = 3
5.4000 >> ex0=feval(f,x0)
ex0 =
-0.8400
>> x1=x0-(ex0)*(x_1-x0)/(ex_1-
ex0)
x1 =

Ing. Héctor G. Bolaños Sosa


Métodos Numéricos para solución de raices 38

5.5313

Tercera Iteración Cuarta Iteración


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

Quinta Iteración
>> 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

Tabla resumen
Iter. xi-1 xi Xi+1 %ea
1 4 6 5.4
2 6 5.4 5.5313
3 5.40 5.5313 5.5416
4 5.5313 5.5416 5.5414
5 5.5416 5.5414 5.5414

Ing. Héctor G. Bolaños Sosa


Métodos Numéricos para solución de raices 39

4. FUNCIONES MATLAB PARA ENCONTRAR RAICES


4.1. Función roots
Sintaxis: r=roots(c)

Retorna un vector columna con los elementos de la raiz del polinomio “c”,
los cuales están ordenados en forma descendente de acuerdo a las
potencias.

Ejemplo Nº 1:
Sea la siguiente función: f ( x) = x 2 − 5 x − 3
Encontrar las raíces:
a) Explorar mediante método gráfico
b) Encontrar las raices

Solución
35

30

25

20

15
f(x )

10
Raiz
5

-5

-10
-4 -3 -2 -1 0 1 2 3 4 5 6
X
>> f=inline('x^2-5*x-3');
>> p=[1 -5 -3]
p=
1 -5 -3
>> raices=roots(p)
raices =
5.5414
-0.5414

Ejemplo Nº 2
Encontrar las raices del siguiente polinomio (comparar con problema 1)
f ( x) = 3x 2 + 5 x + 2

Solución

Ing. Héctor G. Bolaños Sosa


Métodos Numéricos para solución de raices 40

2
f (x )

-1
-2 -1.8 -1.6 -1.4 -1.2 -1 -0.8 -0.6 -0.4 -0.2 0
x

>> p=[3 5 2]
p=
3 5 2
>> raiz=roots(p)
raiz =
-1.0000
-0.6667

4.2. Función fzero


Encuentra la raiz de una función cerca al valor X0
Sintaxis:
x = fzero(fun,x0)

Ejemplo Nº 3
Sea la siguiente función: f ( x) = x 2 − 5 x − 3
Encontrar las raíces usando la función fzero, para los intervalos [-1 , 0] y [4 , 6]

Solución
Para en intervalo [-1 , 0] Para en intervalo [4 , 6]
>> f=inline('x^2-5*x-3'); >> f=inline('x^2-5*x-3');
>> x=fzero(f,0) >> x=fzero(f,4)
x= x=
-0.5414 5.5414

function [ f ] =eje1(x) >> x=fzero(@eje1,[4,6])


f=x^2-5*x-3; x=
end 5.5414

Tambien se puede hacer:

>> f = @(x)x.^2-5*x-3
f=
@(x)x.^2-5*x-3
>> ra=fzero(f,[4,6])
ra =
5.5414

Ing. Héctor G. Bolaños Sosa


Métodos Numéricos para solución de raices 41

Ejemplo Nº 04
Sea la siguiente función: f ( x) = e − x − x
Encontrar la raiz
Solución
10

6
Raiz
f(x)

-2
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
X
>> f=inline('exp(-x)-x'); >> r=fzero(f,[0-1])
>> r=fzero(f,0.5) r=
r= 0.5671
0.5671

function [f ] = myfun( x ) >> x=fzero(@myfun, 0)


f=exp(-x)-x; x=
end 0.5671
>> x=fzero(@myfun, [0,1])
x=
0.5671

Problema Nº 05
Sea la siguiente función: f ( x) = sen(10 x) + cos(3x)
Deberá
Encontrar:
a) Explorar mediante método gráfico en el intervalos [0:5] y luego verificar las
raices que se encuentran entre 4.2 y 4.3
b) Explorar una de las raices

Problema Nº 06
Mediante una aproximación gráfica determinar el coeficiente de rozamiento “c”
necesario para que un paracaidista de masa m=68.1 Kg; tenga una velocidad de 40
m/s después de una caida libre de t= 10 s. Considerar g= 9.8 m/s2.

Solución
La ecuación arreglada sería:
 −  t 
c
gm  
f (c ) = 0 = 1− e n  − v
c  
 

Ing. Héctor G. Bolaños Sosa

You might also like