Está en la página 1de 3

% Newton Raphson Codigo

clc, clear;

f = @ (x) 9*exp(-0.7*x)*cos(4*x)-3.5; %Defino la función


f1 = @ (x) -36*exp(-0.7*x)*sin(4*x)-6.3*cos(4*x)*exp(-0.7*x); %Defino la
derivada de la función
x0 = 0.3; %Valor inicial
n = 5; %Número de pasos o iteraciones a realizar
x = x0 ; %hago x igual a x0 (valor inicial)
fprintf('%4.2s %16.2s %16.2s \n', 'i','xi', 'ea')
for i = 1: n
x (i+1) = x(i) - f ( x(i) )/ f1 ( x(i) ); % Newton formula
ea(i+1) = abs((x(i+1)-x(i))/x(i+1))*100;
fprintf('%4.2d %16.8f %16.5f \n', i, x(i+1),ea(i+1));
end

% Secante Codigo

clc, clear;

f = @ (x) 9*exp(-0.7*x)*cos(4*x)-3.5; %Defino la función


x0 = 0; %Valor inicial
x1 = 0.3;
n = 4; %Número de pasos o iteraciones a realizar
y0=f(x0);
y1=f(x1);
fprintf('%4.2s %16.2s %16.2s \n', 'i','xi', 'ea');
for i = 1 : n
x = x1- (x1-x0)*y1/(y1-y0); %Fórmula de secante
y=f(x); % Valor de y para el nuevo valor de x
%Para el próximo paso se asignan los nuevos valores
ea = abs(((x-x1))/x)*100;
fprintf('%4.2d %18.8f %16.5f\n', i, x,ea);
i = i+1;
x0=x1;
y0=y1;
x1=x;
y1=y;
end
% Secante Modificado Codigo

clc, clear;
f = @ (x) 9*exp(-0.7*x)*cos(4*x)-3.5; %Defino la función
x0 = 0.1; %Valor inicial
d = 0.01;
n = 10; %Número de pasos o iteraciones a realizar
vv = 0.56714329;
y0=f(x0);
y1=f(x0+d*x0);
fprintf('%4.2s %16.2s %16.2s \n', 'i','xi', 'ea');
for i = 1 : n
x = x0- d*x0*y0/(y1-y0); %Fórmula de secante modficado
y=f(x); % Valor de y para el nuevo valor de x
%Para el próximo paso se asignan los nuevos valores
ea = abs(((x-x0))/x)*100;
fprintf('%4.2d %18.8f %16.5f\n', i, x,ea);
i = i+1;
x0=x;
y0=y;
y1=f(x0+d*x0);
end

múltiple
3/8

1/3

También podría gustarte