Professional Documents
Culture Documents
clc
T = [-36.7 -19.6 -11.5 -2.6 7.6 15.4 26.1 42.2 60.6 80.1];
P = [1 5 10 20 40 60 100 200 400 760];
global P T
%polinomial orde 4
m = 4;
konsi=RegPol(T,P,m)
a = konsi(1)
b = konsi(2)
c = konsi(3)
d = konsi(4)
e = konsi(5)
P = (a.*T.^4)+(b.*T.^3)+(c.*T.^2)+(d.*T.^1)+e
plot(P,T,'g-o')
grid on
hold on
xlabel('Pressure(mmHg)')
ylabel('Temperature(oC)')
%clapeyron
T1=T+273
logP=log10(P);
x=[0.1 0.3];
kons = nlinfit(T1,logP,'clapeyron',x)
A=kons(1)
B=kons(2)
antilog= A+(B./T1)
Pnew=10.^antilog
plot(Pnew,T,'b-o')
grid on
hold on
%antoine
y = [10 2000 273] ;
x = fminsearch('antoine',y)
z = 10.^(x(1)-(x(2)./(T+x(3))));
plot(z,T,'m-o')
grid on
hold on
function R=RegPol(x,y,m)
n=length(x);
p=length(y);
a=zeros(m+1);
b=zeros(m+1,1);
if p~=n,error('jumlah data x dan y harus sama'),
end;
%matriks A
a(1,1)=n;
for i=1:m+1
for j=1:m+1
a(j,i)=a(i,j);
end
b(i)=sum(y.*x.^(i-1)); %Matriks B
end
R=inv(a)*b;
R=R';
R=R((m+1):-1:1);
function fun=antoine(x)
global P T
f = log10(P)-x(1)+x(2)./(T+x(3));
fun=sum(f.*f);