24小时热门版块排行榜    

查看: 1852  |  回复: 10
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

琚裕波

金虫 (小有名气)

[求助] 求助!这个程序错在哪里?1stopt运行不了

Title "Kinetics";
Parameters k1_a,k1_b,k2_a,k2_b,KCO_a,KCO_b,KCO2_a,KCO2_b,KH2_a,KH2_b;  //需要拟合的参数
Variable TT,PP,Nin,yH2in,yCOin,yCO2in,yN2in,yN2out;                    //输入数据
Variable y1[Output],y2[Output];                                        //对比数据
StartProgram [VB];
Dim iter As Integer
dim TBA As Double
dim RCO As Double
dim RCO2 As Double
Dim KT1 As Double
dim KF1 As Double
dim KT2 As Double
dim KF2 As Double
dim KH2 As Double
dim KCO As Double
dim KCO2 As Double
Dim T As Double
dim P_Ca As Double
Dim fH2 As Double
dim fCO2 As Double
dim fCO As Double
dim fM As Double
dim fH2O As Double
Dim Beta1 As Double
dim Beta2 As Double
dim Nt as double
dim yCO as double
dim yCO2 as double
for iter=0 to Datalength-1
    TBA=503.2               //实验平均温度
    T=TT(iter)+273.15
    P_Ca=PP(iter)/0.101325
    //反应平衡常数计算
    KF1=Exp(13.1652+9203.26/T-5.92839*Ln(T)-0.00352404*T+0.0000102264*T*T-0.00000000769446*T^3+2.38583E-12*T^4)*(0.101325^(-2))
    KF2=Exp(1.6654+4553.34/T-2.72613*Ln(T)-0.01422914*T+0.000017206*T*T-0.00000001106294*T^3+3.19698E-12*T^4)*(0.101325^(-2))
    //逸度系数计算
    fH2=PP(iter)*yH2in(iter)*Exp((0.110785+35.3324/T-5005.47/(T*T*T)-19.6109*yH2in(iter)/T-20.9799*yH2in(iter)*yH2in(iter)/T)*P_Ca/T)
    fCO2=PP(iter)*yCO2in(iter)*Exp((-0.343605+428.452/T-69217700/(T*T*T)-327.402*yCO2in(iter)/T-374.954*yCO2in(iter)*yCO2in(iter)/T)*P_Ca/T)
    fCO=PP(iter)*yCOin(iter)*Exp((-0.093261+189.156/T-399940/(T*T*T)-181.527*yCOin(iter)/T+140.001*yCOin(iter)*yCOin(iter)/T)*P_Ca/T)
    Beta1=fM/(KF1*fCO*fH2^2)
    Beta2=fM*fH2O/(KF2*fCO2*fH2^3)
    //吸附平衡常数计算
    KCO=Exp(KCO_a+KCO_b*(1/T-1/TBA))
    KCO2=Exp(KCO2_a+KCO2_b*(1/T-1/TBA))
    KH2=Exp(KH2_a+KH2_b*(1/T-1/TBA))
    //反应速率常数计算
    KT1=k1_a*Exp(k1_b/8.314/T)
    KT2=k2_a*Exp(k2_b/8.314/T)
    //反应速率计算
    RCO=KT1*fCO*(fH2^2)*(1-Beta1)/((1+KCO*fCO+KCO2*fCO2+KH2*fH2)^3)
    RCO2=KT2*fCO2*(fH2^3)*(1-Beta2)/((1+KCO*fCO+KCO2*fCO2+KH2*fH2)^4)
    //通过反应速率计算出口CO和CO2组成,其中1.9108为催化剂质量
    Nt=Nin(iter)*yN2in(iter)/yN2out(iter)
    yCO=(Nin(iter)*yCOin(iter)-RCO*1.9108)/Nt
    yCO2=(Nin(iter)*yCO2in(iter)-RCO2*1.9108)/Nt
    //计算值与输入值进行对比
    y1(iter)=yCO
    y2(iter)=yCO2
Next
EndProgram;
Data;

[ Last edited by nono2009 on 2013-9-10 at 20:21 ]
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

一切都会向着最好的方向发展!
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dingd

铁杆木虫 (职业作家)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
jjdg: 金币+1, 辛苦了 2013-09-13 00:34:04
琚裕波: 回帖置顶 2013-09-13 14:28:13
琚裕波: 金币+20, ★★★很有帮助, 继续回答啊 2013-09-13 19:17:15
1.5破解版不行,5.0正版运行没问题,不用任何修改。

不知道你的参数有无范围限制,有无过拟合现象。

均方差(RMSE):0.00320856901844522
残差平方和(SSE):0.00041179660584506
相关系数(R): 0.999147398619087
相关系数之平方(R^2): 0.998295524167289
确定系数(DC): 0.998293391304997
F统计(F-Statistic): 16.4900938090552

参数                  最佳估算
--------------------        -------------
k1_a        16199.5274910722
k1_b        -54640.7646512102
k2_a        194674.147413486
k2_b        -70718.1386986521
kco_a        -1.81845739744211
kco_b        -23518.1117376316
kco2_a        -1.95039686557898
kco2_b        15779.9670841516
kh2_a        -0.851175550051731
kh2_b        -780.551417096644
求助!这个程序错在哪里?1stopt运行不了
c1.jpg


求助!这个程序错在哪里?1stopt运行不了-1
c2.jpg

7楼2013-09-11 11:52:01
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 11 个回答

dingd

铁杆木虫 (职业作家)

【答案】应助回帖


感谢参与,应助指数 +1
jjdg: 金币+1, 感谢参与 2013-09-11 00:50:34
1:没见你的数据;
2:用的哪个版本啊?网上1.5的处理这种编程模式估计有问题。
2楼2013-09-10 20:55:30
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

jjdg

版主 (知名作家)

优秀版主

【答案】应助回帖


感谢参与,应助指数 +1
ben_ladeng: 金币+1, 谢谢指教 2013-09-21 22:14:41
不完整的代码
你做kinetic可以去下个kinetica5.1来试试
努力学习!以正当途径!获得需要的知识!
3楼2013-09-11 00:51:51
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

琚裕波

金虫 (小有名气)

引用回帖:
3楼: Originally posted by jjdg at 2013-09-11 00:51:51
不完整的代码
你做kinetic可以去下个kinetica5.1来试试

用未注册的1.0版可以运行,但用注册版1.0和1.5都不行
一切都会向着最好的方向发展!
4楼2013-09-11 10:31:04
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见