Está en la página 1de 4

Archivos de Excel y Matlab – Newton Raphson

Sara Preciado; Sara Sánchez; Laura Roxana


Ejercicio 1

Comandos:

Newton
clc
clear
close all;
T=285;
P=30;
Tc=190.6;
Pc=46;
omega=0.008;
Tr=T/Tc;
Pr=P/Pc;
Alfa=(1+(0.48+1.574*omega-0.176*omega^2)*(1-Tr^0.5))^2;
A=0.42748*Alfa*Pr/Tr^2;
B=0.08664*Pr/Tr;
syms Z;
dSoave(Z)=diff(Soave(Z,A,B),Z,1);
Z1(1)=double(1-Soave(1,A,B)/dSoave(1))
Error(1)=abs(1-Z1(1))
i=1;
while(Error(i)>1e-6)
i=i+1
Z1(i)=double(Z1(i-1)-Soave(Z1(i-1),A,B)/dSoave(Z1(i-1)))
Error(i)=abs(Z1(i)-Z1(i-1));
end
figure()
iteracion=(1:i);
plot(iteracion,Z1);
figure()
plot(iteracion,Error);

Soave
function [Fz] = Soave(Z,A,B)
Fz=Z^3-Z^2+Z*(A-B-B^2)-A*B;
end
Comparados con el Excel arroja los mismos valores.

Ejercicio 2

Comandos:

Newton 2
clc
clear
close all
Q1=16;
Q2=7;
P2=50;
X=[Q1; Q2; P2];
i=1
X(:,2)=X(:,1)-inv(dCaudales(Q1,Q2,P2))*Caudales(Q1,Q2,P2)';
Error(1)=norm(X(:,1)-X(:,2))
k=1
while(Error(k)>1e-5)
X(:,k+1)=X(:,k)-inv(dCaudales(Q1,Q2,P2))*Caudales(Q1,Q2,P2)';
Q1=X(1,k+1);
Q2=X(2,k+1);
P2=X(3,k+1);
Error(k+1)=norm(X(:,k)-X(:,k+1))
k=k+1;
end
iteraciones=(1:k)
figure()
plot(iteraciones,X)
figure()
plot(iteraciones,Error)

Caudales
function [F] = Caudales(Q1,Q2,P2)
F(1)=2.35*exp(-3)*(Q1+Q2)^1.75-75+P2;
F(2)=4.67*exp(-3)*Q1^1.75+20-P2;
F(3)=3.72*exp(-2)*Q2^1.75+15-P2;
end
Comparados con el Excel arroja los mismos valores.

También podría gustarte