Está en la página 1de 2

%Programa de punto fijo

%alumno : llagas coronado saul jonatan josue codigo:1623225135


%universidad nacional del callao
%facultad de ingenieria electrica y electronica
function [k,p,errorabsoluto,P] =
programapuntofijo(g,p0,tolerancia,iteracionesmaximas)

P(1)= p0;
for k=2:iteracionesmaximas
P(k)=feval(g,P(k-1));
errorabsoluto=abs(P(k)-P(k-1));
errorrelativo=errorabsoluto/(abs(P(k))+eps);
p=P(k);
if (errorabsoluto<tolerancia)||(errorrelativo<tolerancia),break;end
end
if k==iteracionesmaximas
disp('superado el numero maximo iteraciones')
end
P=P';
%grafico1 para la ecuacion de punto fijo
fplot('[x^2-x-sin(x+0.15),0]',[-2,2])
https://www.acer.com/ac/es/AR/content/support-product/3681?b=1

xf(1)=input('Ingrese el valor inicial: ');


tol=input('Ingrese el porcentaje de error: ');
syms x;
f=input('Ingrese la funci�n f(x), despejada g(f(x)): ');

i=1;
ea(1)=100;
while abs(ea(i))>=tol,
xf(i+1) = subs(f,x,xf(i));
ea(i+1) = abs((xf(i+1)-xf(i))/xf(i+1))*100;
i=i+1;
end
fprintf('i xf(i) Error aprox (i) \n');
for j=1:i;
fprintf('%2d \t %11.7f \t %7.3f \n',j-1,xf(j),ea(j));
end

function puntofijo
syms x;
fprintf(�punto fijo \n�);
gx=input(�ingrese la funcion igualada a x: �);
g=inline(gx);
x=input(�ingrese el valor inicial: �);
niter=input(�ingrese numero de iteraciones: �);
error=input(� error tolerado: �);
i=1;
fprintf(�i \t x \t \t error \n�)
fprintf(�0 \t %f \n�,x)
while(i<=niter)
a=x;
x=g(a);
e=abs(x-a);
fprintf('%d \t %1.7f\t %f\n',i,x,e)

if (e<error)
i=niter+1;
end
i=i+1;
end
fprintf('i la aproximacion es : %1.7f con un error de: %f \n',x,e);
end
% si el codigo no les corre prueben esta