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