matlab回归参数,【求助】MATLAB回归wilson方程参数 - 仿真模拟 - 小木虫 - 学术 科研 互动社区...

麻烦高手,求助一下回归wilson方程参数的matlab程序。自己编的不知道哪里的原因,误差很大。

% wilson  回归参数  调用格式-----[x,fval]=fminsearch(@wilson,[100 100])单纯形法求最小值

function f = wilson(x)

A12=x(1);

A21=x(2);

YY=0;

YYY=0;

FFF=0;

X1=[0.0593 0.1306 0.2660 0.3842 0.4708 0.6256 0.7178 0.8214 0.9037 0.9397];

Y1=[0.3285 0.4902 0.6234 0.6831 0.7125 0.7524 0.7832 0.8349 0.8864 0.9215];

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)%最大偏差

[Last edited by cooler8395 on 2009-8-3 at 20:45]

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值