回归wilson方程参数matlab程序
% wilson回归参数调用格式-----=fminsearch(@wilson,)单纯形法求最小值function f = wilson(x)
A12=x(1);
A21=x(2);
YY=0;
YYY=0;
FFF=0;
X1=;
Y1=;
for i=1:length(X1)
i
x1=X1(i);%提取本次试验点的实验值
x2=1-x1;% x1,x2 试验值
y1=Y1(i);
y2=1-y1;% y1,y2 试验值
A12;
A21;
Lnr1=-log(x1+A12*x2)+x2*(A12/(x1+A12*x2)-A21/(x2+A21*x1));
Lnr2=-log(x2+A21*x1)+x1*(A21/(x2+A21*x1)-A12/(x1+A12*x2));
r1=exp(Lnr1);
r2=exp(Lnr2);
A1=4.1973;A2=3.4337;
B1=1575.0;B2=1413.0;
C1=-34.29;C2=-44.25;
t=70;
T=t+273.15;
P10=exp(A1-B1/(C1+t));
P20=exp(A2-B2/(C2+t));
P=x1*r1*P10+x2*r2*P20
% P-总压;P10-物质1的饱和蒸汽压;P20-物质2的饱和蒸汽压. 单位:Kpa
y1cal=x1*r1*P10/P
y2cal=x2*r2*P20/P
%------------------------------
Y=abs(y1-y1cal); %Y-本次计算点的绝对误差
YY=YY+Y; %YY-已计算点的绝对误差之和
%-------------------------------
MM=abs((y1-y1cal)./y1);
YYY=YYY+MM;
%------------------
m=abs(y1cal-y1);
M(1,i)=m;
%-----------------------
FF=(y1cal-y1).^2+(y2cal-y2).^2;
FFF=FFF+FF;%目标函数
%a=log(r1/r2);
%b=log(r1)/x2^2;
% c=-log(r2)/x1^2;
end
f=FFF;
fata=YY/i%平均偏差
sigma=YYY/i%平均相对偏差
sigmaM=max(M)%最大偏差
页:
[1]