Está en la página 1de 2

ECUACION DE PENG ROBINSON

FUNCION PENG ROBINSON

% metodo de biseccion
function f= peng_robin(p,t,xi,b,o,r)
f=((r*t)/(p+(o/(xi^2+2*b*xi-b^2)))*(xi-b))+b;
end

FUNCION DE LA VARIABLE

% metodo de biseccion
function f= fun_tion(p,t,xi,b,o,r)
f=((p+(o/(xi^2+2*b*xi-b^2)))*(xi-b))/(r*t);

end

------------------------------------------------------------------------------

pc=49.7;
tc=154.3;
w=0.021;
r=0.082;

p=input('presion total p=');


t=input('temperatura total=');
xi=input('volumen =');

tr=t/tc;
a=0.45724*(((r^2)*(tc^2))/pc);
b=0.0780*((r*tc)/pc);
o=a*(1+(0.037464+1.5422*w-(0.2699*w^2))*(1-tr^0.5))^2;

clc
maxite=20;
tol=0.0001;

clc

fprintf('-----------------------------------------------------------\n');
fprintf(' METODO DE PUNTO FIJO\n');
fprintf(' itera xi gxi fxi\n');
fprintf('-----------------------------------------------------------\n');
for conta=1 : maxite
gxi=feval('peng_robin',p,t,xi,b,o,r);
fxi=feval('fun_tion',p,t,xi,b,o,r);
fprintf('%3.0f%10.4f%10.4f%10.4f\n',conta,xi,gxi,fxi)

if(abs(fxi)>tol)
if gxi==xi

break
else
xi=gxi;
end
else
break
end
end

fprintf('------------------------------------------------------\n');
if(conta>=maxite)
fprintf( 'EL METODO NO CONVERGE\n');
else
fprintf( 'LA RESPUESTA ES:%12.4f\n',xi);
end

También podría gustarte