24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1526  |  回复: 6
当前主题已经存档。

cooler8395

金虫 (初入文坛)

[交流] 【求助】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:43 ]
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

woshilsh

荣誉版主 (职业作家)

优秀版主


cooler8395(金币+1,VIP+0): 8-25 21:23
你把程序贴出来吧,要不大家怎么知道哪里有问题哦
[center][url=http://www.91cool.net/][img]http://id.91cool.net/sign/?name=小木虫印&say=各位版主辛苦了![/img][/url][/center]
2楼2009-08-03 18:20:56
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

cooler8395

金虫 (初入文坛)

程序

这是我编的程序 ,各位高手看看中间哪里出了问题了,多谢了!
3楼2009-08-03 18:42:21
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

kky258

木虫 (正式写手)

公鸡爱吃虫


0112358(金币+0):朋友,请文明用语,楼主可能是对论坛操作不太熟悉而已。欢迎来到程序版答疑应助,但是禁止骂人。毕竟和气生财嘛。
cooler8395(金币+1,VIP+0): 8-25 21:23
把程序直接贴在窗口上啊。

[ Last edited by 0112358 on 2009-8-3 at 23:33 ]
4楼2009-08-03 20:24:01
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

change0618

铁杆木虫 (著名写手)

方丈大师

需要金币,不看、、、、、、、、、、
5楼2009-08-03 20:28:16
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

spc08

荣誉版主 (文学泰斗)

★ ★ ★ ★ ★
cooler8395(金币+5,VIP+0): 8-25 21:23
楼主弄成附件,想帮忙的人还得花金币下载,这次还得我来替楼主贴出来,下次不管了啊,

楼主的程序:
% 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)%最大偏差
6楼2009-08-03 20:28:49
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

cooler8395

金虫 (初入文坛)

多谢版主啊!新手没经验。。。
7楼2009-08-03 20:40:45
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 cooler8395 的主题更新
普通表情 高级回复(可上传附件)
信息提示
请填处理意见