Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Sea F(u) continua en un intervalo [a, b]. Suponiendo que F(a) sea de signo
contrario a F(b) existe una línea recta que para por la raíz (r) que pertenece
al conjunto de números que están en [a, b] tal que F(r)=0.
El método consiste en lo siguiente:
Debe existir seguridad sobre la continuidad de la función f(x) en el intervalo
[a,b].
A continuación, se verifica que cumpla con el teorema de Bolzano.
Se evalúan los intervalos [a,b] en la función.
Se calcula el punto medio [m] del intervalo [a,b] los resultados se evalúan
en la ecuación para hallar [m] y se evalúa f(m) si ese valor es igual a cero,
ya hemos encontrado la raíz buscada.
En caso de que no lo sea, verificamos si f(m) tiene signo opuesto con f(a) o
con f(b).
Se redefine el intervalo [a, b] como [a, r] ó [r, b] según se haya determinado
en cuál de estos intervalos ocurre un cambio de signo.
Con este nuevo intervalo se continúa sucesivamente encerrando la solución
en un intervalo cada vez más pequeño, hasta alcanzar la precisión deseada.
Pero recordamos que la recta en cuestión corta el eje x, así que hacemos
y=0:
f(xa) y f(xr) tienen el mismo signo. Así que xb y xr han de tener signos
distintos, pues:
Ahora bien, la recta tangente a la función, que pasa por el punto [x0 ,
f(x0)], se encuentra definida por la siguiente expresión:
Existencia de la Raíz.
Dado un cierto intervalo de trabajo [a,b], dentro del mismo debe
cumplirse que f(a)*f(b)<0.
Unicidad de la Raíz.
Dentro del intervalo de trabajo [a,b], la derivada de f(x) debe ser
diferente de cero.
Concavidad.
if cc>0
fprintf('\n\nLos intervalos que ha ingresado para hacer el calculo de la raiz\n\n');
fprintf('\nde la ecuacion no son los adecuados por no existir una raiz entre \n\n');
fprintf('\nestos, presione enter para executar de nuevo el programa, por favor.\n\n');
pause
regfal
end
while ea>e
x=xl;
yl=eval(y);
x=xu;
yu=eval(y);
xr=xu-yu*(xl-xu)/(yl-yu)
x=xr;
yr=eval(y);
ea=abs((xr-xi)/xr)*100
z=yl*yr;
if z<0
xu=xr;
end
if z>0
xl=xr;
end
if z==0
fprintf('\n\n\n\nLa raiz exacta es: %d',xr)
fprintf('\n\nNumero de iteraciones: %d',c);
break
end
xi=xr;
c=c+1;
end
if ea<e
fprintf('\n\n\n\nLa raiz exacta es: %d',xr)
fprintf('\n\nNumero de iteraciones: %d',c);
end
CODIGO EN MATLAB “METODO DELA SECANTE ”
clc
clear all
for i=1:10
J(x)
F(x)
dx=-J(x)\F(x)
if sqrt(norm(dx)/norm(x))<0.1
disp('Soluci�n')
disp(x+dx)
break;
end
disp('iteracion')
x=x+dx
end
if i==5
end