Вы находитесь на странице: 1из 8

HALLAR LAS RAICES

PROGRAMACION:

DESARROLLO:

GRAFICA:
METODO DE NEWTON RAPHSON
% Metodo de Newton Raphson.
% Hecho por Stefano Rodrigo Choquetinco Suarez
clc,clear
syms x
func=input('Ingrese funcion: ');
f=inline(func); dfunc=diff(func,x); df=inline(dfunc);
x=input('Ingrese un valor inicial: ');
tol=input('Ingrese tolerancia: ');
error=100; n=1; er=x-(f(x)/df(x));
disp(' n xk xk+1 error')
while(error>tol)
fprintf('\t %i\t %f\t %f %3.5f\n',n,x,er,error);
n=n+1;
xi=x-(f(x)/df(x));
x=xi;
er=x-(f(x)/df(x));
error=abs(((er-x)/er)*100);
end
ezplot(func,-10:10)
hold on
grid on

EJEMPLO :
METODO DE NEWTON RAPHSON MODIFICADO
% Metodo de Newton Raphson modificado.
% Hecho por Stefano Rodrigo Choquetinco Suarez
clc,clear
syms x
func=input('Ingrese funcion: ');
f=inline(func);
derivada=diff(func,x); df=inline(derivada);
derivadas=diff(derivada,x); ddf=inline(derivadas);
x=input('Ingrese un valor inicial: ');
tol=input('Ingrese tolerancia: ');
error=100; n=1; er=x-((f(x)*df(x))/((df(x))^2-(f(x)*ddf(x))));
disp(' n xk xk+1 error')
while(error>tol)
fprintf('\t %i\t %f\t %f %3.5f\n',n,x,er,error);
n=n+1;
xi=x-((f(x)*df(x))/((df(x))^2-(f(x)*ddf(x))));
x=xi;
er=x-(f(x)/df(x));
error=abs(((er-x)/er)*100);
end
ezplot(func,-10:10)
hold on
grid on
format long

EJEMPLO:
METODO DE BISECCIÓN

% Metodo de Biseccion.
% Hecho por Stefano Rodrigo Choquetinco Suarez
clc,clear
xai=input('Ingrese el intervalo inferior: ');
xbi=input('Ingrese el intervalo superior: ');
tol=input('Ingrese el porcentaje de error: ');
syms x;
f=input('Ingrese la funciòn: ');
i=1;
f1=subs(f,x,xai);
f2=subs(f,x,xbi);
ea(i)=100;
if f1*f2 < 0
xa(i)=xai; f1=subs(f,x,xa(i));
xb(i)=xbi; f2=subs(f,x,xb(i));
xr(i)=(xa(i)+xb(i))/2; f3=subs(f,x,xr(i));
fprintf('It. Xa Xr Xb Error aprox \n');
fprintf('%2d \t %11.7f \t %11.7f \t %11.7f \n',i,xa(i),xr(i),xb(i));
while abs(ea(i)) >= tol,
if f1*f3<0
xa(i+1)=xa(i);f1=subs(f,x,xa(i+1));
xb(i+1)=xr(i);f2=subs(f,x,xb(i+1));
end
if f1*f3> 0
xa(i+1)=xr(i);f1=subs(f,x,xa(i+1));
xb(i+1)=xb(i);f2=subs(f,x,xb(i+1));
end
xr(i+1)=(xa(i+1)+xb(i+1))/2; f3=subs(f,x,xr(i+1));
ea(i+1)=abs((xr(i+1)-xr(i))/(xr(i+1))*100);
fprintf('%2d \t %11.7f \t %11.7f \t %11.7f \t %7.3f \n',...
i+1,xa(i+1),xr(i+1),xb(i+1),ea(i+1));
i=i+1;
end
else
fprintf('No existe una raíz en ese intervalo');
end
EJEMPLO:

METODO DEL TRAPECIO GENERALIZADO

% Metodo de Trapecio Generalizado.


% Hecho por Stefano Rodrigo Choquetinco Suarez
g=input('Ingrese la función: ');
b=input('Ingrese el limite superior: ');
a=input('Ingrese el limite inferior: ');
n=input('Ingrese la cantidad de divisones: ');
h=(b-a)/n; f=inline(g);
s=0
hold on
%para calcular
for i=1:n
s=h/2*(f(a+(i-1)*h)+f(a+(i)*h))+s;

fprintf('el area aproximada es: %10.15f\n\n',s);

end
%grafica
x=linspace(a,b,n);
y=subs(g,x);
bar(x,y)
xlabel('Eje X')
ylabel('Eje y')
title('metodo del trapecio','color','b')
plot(x,y,'red','LineWidth',3)

EJEMPLO:
GRAFICA:
METODO DE SIMPSON SIMPLE
% Metodo del Simpson Simple
% Hecho por Stefano Rodrigo Choquetinco Suarez
f=input('Introduce la funcion:','s');
a=input('limite inferior:');
b=input('limite superior:');
c=input('Cantidad de divisores:');
h=(b-a)/c;
Aproximacion=0;
x=a;
for i=1:c;
if(-1)^i==1
k=eval(f);
Aproximacion=Aproximacion+k
end
x=h*i;
end
AproximacionAproximacion=0;
x=a;
for i=2:c;
if(-1)^1==-1
k=eval(f);
AproximacionAproximacion=AproximacionAproximacion+k;
end
x=h*i;
end
x=a;
if x==a
d=eval(f);
end
x=b;
if x==b
e=eval(f);
end
Aproximacion=Aproximacion*4;
v=AproximacionAproximacion*2;
Aproximacion=Aproximacion+v+d+e;
Aproximacion=Aproximacion/(2.1*c);
GRAFICA: