Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Tarea NewtonRaphson
Tarea NewtonRaphson
Raíces de ecuaciones.
Carlos Eduardo Morquecho de la O
1.- Escribe una función para resolver ecuaciones con una variable por el método de NewtoN-
Rapson. Debes implementar el algoritmo, no puedes usar una función como fzero que resuelve de
manera automática.
2.-Escribe un programa que haga uso de la función anterior para resolver los siguientes ejercicios,
debes agregar una función por cada problema y, al final, llamar a cada función para visualizar el
resultado de cada uno(usar un error máximo de 0.01).
f1 = @(x) x-cosd(x);
r1 = newtonRapshon(f1,360,0.01)
1.00000
0.99985
0.99985
r1 = 0.9998
f2 = @(x) x * (exp(x))-1;
r2 = newtonRapshon(f2,1,0.01)
0.68394
0.57745
0.56723
0.56714
0.56714
r2 = 0.5671
f3 = @(x) x*log10(x)-1.2;
r3 = newtonRapshon(f3,10,0.01)
3.86458
2.81807
2.74117
2.74065
2.74065
r3 = 2.7406
f4 = @(x) exp(0.3*x)-(x^2)+4;
1
r4 = newtonRapshon(f4,10,0.01)
4.56758
2.94249
2.50822
2.46965
2.46933
2.46933
r4 = 2.4693
f5 = @(x) 2*cosd(x)-(sqrt(x)/2)-1;
r5 = newtonRapshon(f5,10,0.01)
2.81562
3.86799
3.96132
3.96186
3.96186
r5 = 3.9619
CÓDIGO DE LA FUNCIÓN
function raiz = newtonRapshon(f,i,e)
syms x;
derivada = diff(f,x);
df = str2func(strcat('@(x)',vectorize(derivada)));
xi = i - (f(i)/df(i));
fprintf("%.5f\n",xi)
error = abs((xi-i)/xi)*100;
n= 1;
while error > e
i = xi;
xi = i - (f(i)/df(i));
fprintf("%.5f\n",xi)
error = abs((xi-i)/xi)*100;
n = n +1;
end
raiz = xi;
end