Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Métodos de Bisección, Secante y Newton (Matlab)
Métodos de Bisección, Secante y Newton (Matlab)
xmin = -5;
xmax = 5;
xs = linspace(xmin, xmax,200);
ys = f(xs);
plot(xs, ys);
title('Grafica de f')
xlabel('x')
ylabel('y')
hold on;
plot(xs,ys)
xleft = -4;
xright = 4;
xtol = 1e-2;
plot([xleft], [0], 'x')
plot([xright], [0], 'x')
j = 1;
sleft = sign(f(xleft));
sright = sign(f(xright));
while xright - xleft > xtol
xmed = (xleft + xright)/2;
smed = sign(f(xmed));
if smed==sleft
xleft = xmed;
else
xright = xmed;
end
plot([xmed], [0], 'o');
j = j + 1;
end
legends = cell(1, j+2);
legends{1} = 'f';
legends{2} = 'left end';
legends{3} = 'right end';
for k=1:j-1
legends{k+3} = sprintf('step %d', k);
end
legend(legends)
hold off;
Ejercicio
Empaqueta el método de bisección como una función con entradas:
Una función f continua
Los extremos de un intervalo a y b.
Una tolerancia para el error xtol
y salidas
Método Netwon
f = @ (x)(x^2-2);
fp = @ (x)(2*x);
% 2 iteraciones son insuficientes para conseguir la precisión deseada
[x,e] = newton(f,fp, 1, 1e-8, 2)
% 10 iteraciones sí son suficientes para conseguir la precisión deseada
% La estimación del error es mejor que la precisión mínima que le pedimos
[x,e] = newton(f,fp, 1, 1e-8, 10)
[x,e] = newton(f,fp, 1, 1e-8, 100)
Ejercicio
Realice las modificaciones al método de Netwon para crear la función del
método de la Secante.