Está en la página 1de 5

function newton(x0,f,f1,tol,n)

% donde:
%
x0 = punto inocial
%
f
= la funcion
%
f1 = la derivada de la funcion
%
tol = tolerancia
%
n
= numero de veces que realiza el punto
fijo
%
Probar: newton(1,'f','f1',0.001,10)
%
Donde: f=x^3+2*x^2+10*x-20;
%
f1=3*x^2+4*x+10;
disp('==============================================
===')
disp('iter
x
ERROR
f(x)
')
disp('==============================================
===')
w=feval(f,x0);
fprintf(' %d \t %2.10f \t %2.10f \t %2.10f
\n',0,x0,0,w)
for k=1:n
x=x0-feval(f,x0)/feval(f1,x0);
e=abs(x-x0);
w=feval(f,x);
fprintf(' %d \t %2.10f \t %2.10f \t %2.10f
\n',k,x,e,w)
if e<tol && abs(w)<tol
break
end
x0=x;
end
disp('==============================================
===')
fprintf('La raiz aproximada es: %2.15f \n',x)
fprintf('El valor de f(p)
es: %2.15f \n',w)

function punto_fijo(x0,g,f,tol,n)
% Este programa desarrolla el Mtodo de Punto
Fijo
% donde:
%
x0 = punto inocial
%
g
= la funcion del punto fijo
%
tol = tolerancia
%
n
= numero de veces que realiza el
punto fijo
% salida:
%
p
= solucion del punto fijo
% Probar: punto_fijo(1,'g','f',0.001,6)
disp('SIMULACION DEL EJERCICIO NUMERO 2 CASO
C')
disp('METODO DEL PUNTO FIJO-UPAO 2012-2')
disp('======================================')
disp('iter
x
f(x)')
disp('======================================')
w=0;
for k=1:n
p=feval(g,x0);
w=feval(f,x0);
fprintf(' %d \t %2.10f \t %2.10f
\n',k,p,w)
if abs(p-x0)<tol
break
end
x0=p;
end
disp('======================================')
fprintf('La raiz aproximada es: %2.10f \n',p)
fprintf('El valor de f(p)
es: %2.10f
\n',abs(w))

function secante(x0,x1,f,tol,n)
% donde:
%
x0 = punto inocial
%
x1 = segundo puento
%
f
= la funcion
%
f1 = la derivada de la funcion
%
tol = tolerancia
%
n
= numero de veces que realiza el punto
fijo
% Probar: secante(0,1,'f',0.001,10)
disp('==============================================
===')
disp('iter
x
ERROR
f(x)
')
disp('==============================================
===')
a=feval(f,x0);
b=feval(f,x1);
fprintf(' %d \t %2.10f \t %2.10f \t %2.10f
\n',0,x0,0,a)
fprintf(' %d \t %2.10f \t %2.10f \t %2.10f
\n',1,x1,abs(x1-x0),b)
for k=1:n
a=feval(f,x0);
b=feval(f,x1);
x=x1-(x1-x0)*b/(b-a);
e=abs(x-x1);
w=feval(f,x);
fprintf(' %d \t %2.10f \t %2.10f \t %2.10f
\n',k,x,e,w)
if e<tol & abs(w)<tol
break
end
x0=x1;
x1=x;
end
disp('==============================================
===')
fprintf('La raiz aproximada es: %2.15f \n',x)
fprintf('El Valor de f(P)
es: %2.15f \n',w)

function falsa_posicion(a,b,f,tol,n)
% donde:
%
a,b = intervalo
%
x0 = punto inocial
%
f
= la funcion
%
f1 = la derivada de la funcion
%
tol = tolerancia
%
n
= numero de veces que realiza el punto fijo
%
prueba:falsa_posicion(1,2,'f',0.001,10)
%
funcion f=x^3+2*x^2+10*x-20 en el intevalo [1,2]
u=feval(f,a);
v=feval(f,b);
if u*v > 0
disp('Su funcion es posible que no tenga ningun cero o
sino reduzca su intervalo')
return
end
disp(
'==========================================================')
disp(
'iter
x
f(x) ')
disp(
'==========================================================')
for k=1:n
c=b-v*((a-b)/(u-v));
w=feval(f,c);
if u*w < 0
b=c;
v=w;
else
a=c;
u=w;
end
fprintf(' %d
\t %2.10f
\t %2.10f\n',k,c,w)
if abs(w)<tol
break
end
end
disp('=================================================')
fprintf('la raiz aproximada es: %2.15f \n',c)
fprintf('El Valor de f(P)
es: %2.10f \n',w)

function Biseccion(a,b,f,tol,n)
% donde:
%
a,b =extremos intervalo
%
x0 = punto inocial
%
f = la funcion
%
f1 = la derivada de la funcion
%
tol = tolerancia
%
n = numero de veces que realiza el punto
fijo
u=feval(f,a);
v=feval(f,b);
if u*v > 0
disp('Su funcion es posible que no tenga ningun
cero o sino reduzca su intervalo')
return
end
disp('==============================================
===')
disp('iter
x
f(x) ')
disp('==============================================
===')
for k=1:n
c=(a+b)/2;
w=feval(f,c);
if u*w < 0
b=c;
v=w;
else
a=c;
u=w;
end
fprintf(' %d \t %2.10f \t %2.10f\n',k,c,w)
if abs(w)<tol
break
end
end
disp('==============================================
===')
fprintf('la raiz aproximada es: %2.15f \n',c)

También podría gustarte