Está en la página 1de 2

% Calcula la raiz de una funcion por el metodo newton-raphson

clear
disp('Ingresa una funci_on derivable dependiente de "x",')
f = input('la cual dese_e analizar. f(x)= ','s');
r = input('ahora ingresa la suposici_on inicial de la ra__z: ');
df = diff(f,sym('x'));
alto = 0;
8while alto == 0

disp('Selecciona 1 para seleccionar el criterio de error relativo')


disp('entre aproximaciones ó 2 para seleccionar por numero')
s = input('de iteraciones: ');
switch s
case 1
epsilon = input('Ingresa m_aximo error relativo: ');
alto = 1;
case 2
maxit = input('Ingresa m_aximo n_umero de iteraciones: ');
alto = 1;
otherwise
disp('Opci_on no v_alida, por favor selecciona 1 _o 2')
end
end
it = 1;
alto = 0;
while alto == 0
evf = subs(f,r);
evdf = subs(df,r);
if evdf == 0
disp('Derivada evaluada igual a cero en alguna iteraci_on')
return
end
r1 = r - (evf/evdf);
err = abs((r1-r)/(r1));
if s == 1
if epsilon >= err
alto = 1;
end
end
if s == 2
if maxit <= it
alto = 1;
end
end
disp(['---Iteraci_on n_umero ' num2str(it) '---'])
disp(['La aproximaci_on es: ' num2str(r1)])
disp(['El error relativo es: ' num2str(err)])
r = r1;
it = it + 1;
end

También podría gustarte