Semana04 Secante

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 2

MÉTODOS NUMÉRICOS CON SOFTWARE MATLAB

ECUACIONES NO LINEALES: MÉTODO DE LA SECANTE


Método de la Secante.-
El método de la SECANTE es una variante de la iteración de Newton. Dados dos aproximaciones xi −1 y
xi interceptando la recta que pasa por los puntos [ xi −1 ; f ( xi −1 ) ] y [ xi ; f ( xi ) ] con el eje de abscisas,
como el método de la Régula falsi, determinamos el nuevo valor aproximado de xi obteniendo:
f ( xi ).xi −1 − f ( xi −1 ).xi
xi +1 = ……………………………(I)
f ( xi ) − f ( xi −1 )
A diferencia del método anterior no se efectúa el test de decisión para la localización de la raíz, para
aplicar (I) se hace x0 = a ; x1 = b
f ( xi ).( xi − xi −1 )
La relación (I) se puede escribir como: xi +1 = xi −
f ( xi ) − f ( xi −1 )
Otras equivalencias tenemos:
( x i +1 − x i )  f ( x i +1 )
(A) x i + 2 = x i +1 − , i = 0;1;2;3;4 
f ( x i +1 ) − f ( x i )

( x i +1 − x i )  f ( x i )
(B) xi + 2 = xi − , i = 0;1;2;3;4 
f ( x i +1 ) − f ( x i )

f ( xi )
(C) xi + 2 = xi − , i = 0;1;2;3;4 
f ( x i +1 ) − f ( x i )
x i +1 − x i
x  f ( x i +1 ) − x i +1  f ( x i )
(D) xi + 2 = i , i = 0;1;2;3;4  LA MAS RECOMENDADA A USAR
f ( x i +1 ) − f ( x i )
ALGORITMO DEL MÉTODO DE LA SECANTE
Secante
repeat
calcular x
x1 = x2 ;
x2 = x
until x1 − x2  Error
retorno raíz es x
end secante
PLOTEO DE LA CURVA f ( x) = 0.1x3 − 5x 2 − x + 4 + e− x en x  [−5;5]

x=-5:0.05:5;
f=0.1*x.^3-5*x.^2-x+4+exp(-x);
plot(x,f)
grid on
xlabel('ABSCISAS')
ylabel('ORDENADAS')
title('METODO DE LA SECANTE')
gtext('f=0.1*x.^3-5*x.^2-x+4+exp(-x)')
gtext('1RAIZ')
gtext('2RAIZ')
DR. SORIA QUIJAITE JUAN JESÚS MÉTODOS NUMÉRICOS
%PROGRAMA SECANTE
------------------------------------------------------------------------------------------------------------------
function secante
fprintf ('\n');
nombre_f=input(' Ingrese la función asociada f(x)=','s');
x0=input(' ingrese el 1er punto inicio x0= ');
x1=input(' ingrese el 2do punto inicio x1= ');
fprintf ('\n');
fprintf (' it x0 x1 aprox error \n')
i=1; e=1; r=0;
while e>=3E-6 && i<=18
va=r;
x=x0 ; fx0=eval(nombre_f);
x=x1 ; fx1=eval(nombre_f);
%r=x1-(x1-x0)*fx1/(fx1-fx0);
r=(x0.*fx1-x1.*fx0)./(fx1-fx0);
x=r; fr=eval(nombre_f);
fprintf ('%3.0f %10.6f %10.6f %10.6f',i,x0,x1,r);
if fx0*fr<=0
x1=r; e=abs((r-va)/r);
fprintf('%10.6f\n',e);
else
x0=r; e=abs((r-va)/r);
fprintf('%10.6f\n',e);
end
i=i+1;
end
fprintf('La raíz es :%10.9f\n',r);
------------------------------------------------------------------------------------------------------------------
COMPILACIÓN DEL PROGRAMA
>> secante
Ingrese la función asociada f(x)=0.1*x.^3-5*x.^2-x+4+exp(-x)
ingrese el 1er punto inicio x0= 0
ingrese el 2do punto inicio x1= 1
it x0 x1 aprox error
1 0.000000 1.000000 0.765448 1.000000
2 0.765448 1.000000 0.846891 0.096166
3 0.846891 1.000000 0.852334 0.006386
4 0.852334 1.000000 0.852684 0.000410
5 0.852684 1.000000 0.852706 0.000026
6 0.852706 1.000000 0.852708 0.000002
La raíz es :0.852707668

I.-PRÁCTICA DIRIGIDA DE LABORATORIO CON “MATLAB”


Encuentre los ceros de las funciones utilizando el método de la Secante para las siguientes funciones:
1.- f ( x) = Sen( x3 − x2 + x + 2) + Cos( x) 2.- g ( x) = e − Sen ( x + 5) − Cos ( Sen( x)) − e − x − x 2
3.- f ( x) = e− x + x − 2 4.- g ( x) = cos(x).cosh(x) − 1 5.-  ( x) = x3 − 5x 2 + 8x − 4 − e− x
6.-  ( x) = x. tan(x) − 2 7.- h( x) = e − x − cos( x) 8.- h( x) = e− sen ( x + 3) − 2x − sen(2 x) + x2
2

TAREA
I. Utilice el método de la Secante para hallar los ceros de las siguientes funciones:
1.- f ( x) = x. tan(x) − 1 2.- g ( x) = senh( x) − sen( x) 3.-  ( x) = x 3 − 5 x 2 + 8 x − 4 − e − x
2

4.-  ( x) = x2 − 3x + e x − 2 5.-  ( x) = −Tan(Senx) − Sen(Tanx) − 2 x 2 + 4


DR. SORIA QUIJAITE JUAN JESÚS MÉTODOS NUMÉRICOS

También podría gustarte