Beruflich Dokumente
Kultur Dokumente
Objetivos:
Al terminar este capítulo el alumno será capaz de:
a) Calcular el valor de las raíces de una ecuación, por medio de la aplicación de métodos
cerrados y abiertos.
b) Determinar la posibilidad de convergencia al usar métodos abiertos.
Raíces de
ecuaciones
Métodos Métodos
cerrados abiertos
Regula Newton
Bisección Punto fijo Horner Secante
Falsi Raphson
Métodos cerrados:
Aprovechan de que una función cambia de signo en la vecindad de una raíz. Esto es dentro
de un intervalo cerrado, por lo que se necesita dos valores iniciales.
𝑥 ∈ [𝑎, 𝑏]
Una forma de visualizar la posible raíz de una ecuación es utilizando el método gráfico,
esto es para la ecuación f(x)=0.
Ejemplo:
Sea la función f(x)=sen(10x)+cos(3x), donde x está en el rango [0,5].
fplot(‘sin(10*x)+cos(3*x)’,[0,5]),grid
podemos apreciar que tiene 13 raíces en este intervalo, a excepción del intervalo [4,4.5],
que puede ser una o dos raíces adicionales.
fplot(‘sin(10*x)+cos(3*x)’,[4.2,4.3]),grid
existen 2 raíces entre 4.2 y 4.3
Ejemplo:
Localizar las raíces gráficamente de f(x)=x2+2x-4, x [-4,4]
fplot(‘[x.^2+2*x-4]’,[-4,4]),grid
Ejemplo:
Para la función anterior lo separamos en dos subfunciones f(x)=0 f1(x)=x2 y f2(x)=4-2x
fplot(‘[x.^2,4-2*x]’,[-4,4]),grid
Ejemplo:
Visualizar la posible raíz para la función f(x)=ex-x; x[-2,2]
Métodos de la bisección:
Este método consiste en tomar un intervalo de valores dando al evaluar la función (f(x)) en
los extremos se presenta un cambio de signo, con lo cual se asegura que por lo menos
exista una raíz dentro del intervalo.
𝑓(𝑥) = 0; 𝑥 ∈ [𝑎, 𝑏]
A continuación se calcula el punto medio del intervalo, por lo que, de esta manera el
intervalo inicial se divide en dos nuevos intervalos más pequeños. Se repite el análisis del
cambio del signo para desechar el subintervalo que no contiene la raíz.
𝑎+𝑏
𝑥𝑚 = =𝑐
2
Este método puede requerir de muchas iteraciones, para poder localizar en que el
intervalo se encuentra cada posible raíz por lo que esto se hace lento.
En general: Si f(x) es real y continua en el intervalo existe [a,b] y f(a) y f(b) tienen signos
opuestos ∃ al menos una raíz real entre a y b.
La posición de la raíz se determina situándola en el punto medio del subintervalo en el
cual ocurre un cambio de signo.
Se ha visto en el método grafico que la función cambia de signo en la vecindad de una raíz.
De forma general,si f(x) es real y continua en el intervalo que va desde xl hasta xu y f(xl) y f(xu)
tienen signos opuestos.
f(xl)*f(xu)<0
entonces hay al menos una raíz real entre xl y xu,el método de la bisección también se le conoce
como corte binario,de partición de intervalos o de Bolzano.
F(x)=0 y que esta definido en [xl,xu] que sea continua f(xl) y f(xu) deben tener signos opuestos
Paso1.Elegir el valor inicial inferior xl y superior xu,que encierre una raíz.Evaluar la función f(xl) y
f(xu) de tal forma que cambie de signo en el intervalo.
f(xl)*f(xu)<0
Paso3.Realizar las siguientes evaluaciones para determinar en que subintervalo esta la raíz
a)si f(xl)*f(xu)<0 la raíz se encuentra dentro del subintervalo inferior o izquierdo,por lo
tanto hacer xu=xr y regrese al paso 2
𝑥𝑟 𝑛𝑢𝑒𝑣𝑜 − 𝑥𝑟 𝑎𝑛𝑡𝑒𝑟𝑖𝑜𝑟
∈𝑎 = | | ∗ 100
𝑥𝑟 𝑛𝑢𝑒𝑣𝑜
Ejemplo:
Usar el método de la biseccion para calcular la raíz de f(x)=ℯ −𝑥 − 𝑥 ,en el intervalo [0,1],con una
aproximación de 4 cifras.
Solución:
clear all
clc
format short
function
disp('raiz de la ecuacion no lineal')
y=funcion(x)
disp('metodo cerrado de la biseccion')
y=exp(-x)-x;
n=input('ingrese cifras significativas=');
end
xl=input('ingrese valor inferior del intervalo=');
xu=input('ingrese valor superior del intervalo=');
es=0.5*10^(2-n);
ea=100;
xr=0;
i=0;
while ea>es
xa=xr;
xr=(xl+xu)/2
if (funcion(xl)*funcion(xr)<0)
xu=xr;
ea=abs((xr-xa)/xr)*100;
elseif (funcion(xl)*funcion(xr)>0)
xl=xr;
ea=abs((xr-xa)/xr)*100;
end
i=i+1;
end
fprintf('raiz de la ecuacion: %12.5f \n',xr)
fprintf('error aproximado: %12.5f \n',ea)
fprintf('numero de iteraciones: %12.0f\n',i)
Método de la regla falsa
Este método consiste en unir f(xl) y f(xu) con una línea recta, la intersección de esta línea recta con
la abscisa nos da una raíz aproximada a la solución exacta,también se le conoce como el método
de interpolación lineal.
𝑓(𝑥𝑙) 𝑓(𝑥𝑢)
=
𝑥𝑟 − 𝑥𝑙 𝑥𝑟 − 𝑥𝑢
𝑓(𝑥𝑢)(𝑥𝑙−𝑥𝑢)
Xr=xu - 𝑓(𝑥𝑙)−𝑓(𝑥𝑢)
F(xl) y f(xr)
()Xl=xr ;xu=xr()
Ejemplo:resolver la ecuación f(x)=ℯ −𝑥 − 𝑥 con el método de la regla falsa ,con el intervalo
[0,1],n=4 cifras significativas
clear all
clc
disp('solucioon ecuacion no lineal')
disp('metodo cerrado regla falsa')
n=input('ingrese numero de cifras significativas=');
xl=input('ingrese el valor del intervalo inferior=');
xu=input('ingrese valor dle intervalo superior');
es=0.5*10^(2-n);
ea=100;
xr=0;
i=0;
while ea>es
xa=xr;
xr=xu-(funcion(xu)*(xl-xu))/(funcion(xl)-funcion(xu));
if (funcion(xl)*funcion(xr)<0)
xu=xr;
ea=abs((xr-xa)/xr)*100;
elseif (funcion(xl)*funcion(xr)>0)
xl=xr;
ea=abs((xr-xa)/xr)*100;
end
i=i+1;
end
fprintf('raiz obtenida: %12.8f\n',xr)
fprintf('error aproximado: %12.8f\n',ea)
fprintf('numero de iteraciones: %12.8f\n',i)
f=inline(h);
syms x;
c=0;
n=0;
error=100;
fprintf('\t n \t\t a \t\t c \t\t b \t\t error\n')
while (error>es)
c=(a*f(b)-b*f(a))/(f(b)-f(a));
disp([n,a,c,b,error])
if (f(a)*f(c)<0)
b=c;
else a=c;
end
error=abs(f(c));
n=n+1;
end
fprintf('raiz encontrada con una tolerancia de %f:\n',es)
y=c;