24小时热门版块排行榜    

北京石油化工学院2026年研究生招生接收调剂公告
查看: 853  |  回复: 5

yuyi2009

铜虫 (小有名气)

[求助] VB入门解惑 已有1人参与

刚开始学习VB,还不太熟悉,帮我看个题,谢啦~就是在主函数里面调用UNIFAC模型,不知道在哪里调试!
Option Explicit
Private Sub Command1_Click()
Dim NG As Integer, NC As Integer, T As Single, XC() As Variant, RK() As Variant, QK() As Variant, A() As Single, V() As Single
NG = 4
NC = 2
T = 298
XC = Array(0.1, 0.9)
RK = Array(0.9011, 0.6744, 0.1, 2.8266)
QK = Array(0.848, 0.54, 1.2, 2.472)
A(1, 1) = 0
A(1, 2) = 0
A(1, 3) = 986.5
A(1, 4) = 526.5
A(2, 1) = 0
A(2, 2) = 0
A(2, 3) = 986.5
A(2, 4) = 526.5
A(3, 1) = 156.4
A(3, 2) = 156.4
A(3, 3) = 0
A(3, 4) = -202.1
A(4, 1) = 50.49
A(4, 2) = 50.49
A(4, 3) = -25.87
A(4, 4) = 0
V(1, 1) = 1
V(1, 2) = 1
V(1, 3) = 1
V(1, 4) = 0
V(2, 1) = 0
V(2, 2) = 0
V(2, 3) = 0
V(2, 4) = 1
Call UNIFAC
End Sub
Sub UNIFAC(NG As Integer, NC As Integer, T As Single, XC() As Single, RK() As Single, QK() As Single, A() As Single, V() As Single, GAMMA() As Single)
'This program calculates liquid phase activity coefficients using UNIFAC method
'NC--number of components in the mixture
'NG-number of functional group in the mixture
'QK(k)-the area parameter of functional group
'RK(k)-the volume parameter of functional group
'A(k,m)-the interactional parameter of functional group
'V(i,k)-the number of "'k" functional group in the "i" components
'T-system temperature,K
'XC(i)-mol fraction of "i" components
'GAMMA(i)--activity coefficients of "i" components

Dim i As Integer, K As Integer, M As Integer, n As Integer
Dim SUM1 As Single, SUM2 As Single, SUM3 As Single, SUM4 As Single
Dim Q(10) As Single, R(10) As Single, THETA1(10) As Single, THETA2(10, 10) As Single, PHI(10, 10) As Single

SUM1 = 0
SUM2 = 0
SUM3 = 0
For i = 1 To NC
   Q(i) = 0
   R(i) = 0
   For K = 1 To NG
      Q(i) = Q(i) + V(i, K) * QK(K)
      R(i) = R(i) + V(i, K) * RK(K)
   Next K
   SUM1 = SUM1 + XC(i) * (5 * (R(i) - Q(i)) - R(i) + 1) '计算SUM(x(i)*l(i))
   SUM2 = SUM2 + XC(i) * Q(i)
   SUM3 = SUM3 + XC(i) * R(i)
Next i

For i = 1 To NC
    GAMMA(i) = Log(R(i) / SUM3) + 5 * Q(i) * Log(Q(i) * SUM3 / R(i) / SUM2)
    GAMMA(i) = Exp(GAMMA(i) + 5 * (R(i) - Q(i)) - R(i) + 1 - R(i) * SUM1 / SUM3)
Next i

SUM1 = 0
For i = 1 To NC
    SUM2 = 0
    SUM3 = 0
    For K = 1 To NG
        SUM2 = SUM2 + V(i, K) * XC(i)
        SUM3 = SUM3 + V(i, K)
    Next K
    SUM1 = SUM1 + SUM2
    SUM4 = 0
    For K = 1 To NG
        THETA2(i, K) = V(i, K) / SUM3
        SUM4 = SUM4 + QK(K) * THETA2(i, K)
    Next K
    For K = 1 To NG
        THETA2(i, K) = QK(K) * THETA2(i, K) / SUM4
    Next K
Next i
      
SUM2 = 0
For K = 1 To NG
    SUM3 = 0
    For i = 1 To NC
      SUM3 = SUM3 + V(i, K) * XC(i)
    Next i
    THETA1(K) = SUM3 / SUM1
    SUM2 = SUM2 + QK(K) * THETA1(K)
Next K

For K = 1 To NG
    THETA1(K) = QK(K) * THETA1(K) / SUM2
    For M = 1 To NG
        PHI(K, M) = Exp(-A(K, M) / T)
    Next M
Next K

For K = 1 To NG
    SUM1 = 0
    SUM2 = 0
    For M = 1 To NG
        SUM1 = SUM1 + THETA1(M) * PHI(M, K)
        SUM3 = 0
        For n = 1 To NG
            SUM3 = SUM3 + THETA1(n) * PHI(n, M)
        Next n
        SUM2 = SUM2 + THETA1(M) * PHI(K, M) / SUM3
    Next M
    Q(K) = QK(K) * (1 - Log(SUM1) - SUM2)
Next K

For i = 1 To NC
    SUM4 = 0
    For K = 1 To NG
        SUM1 = 0
        SUM2 = 0
        For M = 1 To NG
            SUM1 = SUM1 + THETA2(i, M) * PHI(M, K)
            SUM3 = 0
            For n = 1 To NG
                SUM3 = SUM3 + THETA2(i, n) * PHI(n, M)
            Next n
            SUM2 = SUM2 + THETA2(i, M) * PHI(K, M) / SUM3
        Next M
        SUM4 = SUM4 + V(i, K) * (Q(K) - QK(K) * (1 - Log(SUM1) - SUM2))
    Next K
    GAMMA(i) = GAMMA(i) * Exp(SUM4)
  
Next i

End Sub

End Sub
回复此楼

» 猜你喜欢

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

biowhb

银虫 (正式写手)

不知道楼主想要表达什么?你要调试什么啊?你这个算法一大堆,说白了,这个算法是通用的算法,本身应该没什么问题,一步调用也不会有什么问题。
生物技术-基因工程制药
2楼2014-06-03 10:11:03
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yuyi2009

铜虫 (小有名气)

引用回帖:
2楼: Originally posted by biowhb at 2014-06-03 10:11:03
不知道楼主想要表达什么?你要调试什么啊?你这个算法一大堆,说白了,这个算法是通用的算法,本身应该没什么问题,一步调用也不会有什么问题。

好吧!可能我没有说清楚,下面的算法应该没问题。就是我不知道怎么调用是对的,因为运行出错了,谢谢!
3楼2014-06-03 10:18:04
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

biowhb

银虫 (正式写手)

引用回帖:
3楼: Originally posted by yuyi2009 at 2014-06-03 10:18:04
好吧!可能我没有说清楚,下面的算法应该没问题。就是我不知道怎么调用是对的,因为运行出错了,谢谢!...

出错,就把错误代码写出来,并且标记一下,出错在哪一行
生物技术-基因工程制药
4楼2014-06-03 14:25:57
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yuyi2009

铜虫 (小有名气)

引用回帖:
4楼: Originally posted by biowhb at 2014-06-03 14:25:57
出错,就把错误代码写出来,并且标记一下,出错在哪一行...

第一行就错了,参数不对~麻烦调试一下!
5楼2014-06-03 21:05:51
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

deephill

铁杆木虫 (职业作家)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
yuyi2009: 金币+20, 有帮助 2014-07-09 11:04:34
Option Explicit  语句表示,后面出现的变量都必须先定义才能使用。
对待要求不是太严格的程序或新手,这一句话不要就好了。
6楼2014-06-09 09:29:12
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 yuyi2009 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 283求调剂 +5 A child 2026-03-28 5/250 2026-03-28 10:13 by JourneyLucky
[考研] 083000学硕274求调剂 +7 Li李鱼 2026-03-26 7/350 2026-03-28 08:01 by baoball
[考研] 311求调剂 +3 希望上岸阿小杨 2026-03-23 3/150 2026-03-28 07:57 by 热情沙漠
[考研] 食品工程专硕一志愿中海洋309求调剂 +3 小张zxy张 2026-03-26 5/250 2026-03-27 18:42 by 小张zxy张
[考研] 316求调剂 +5 Pigcasso 2026-03-24 5/250 2026-03-27 12:10 by zhshch
[考研] 一志愿211,335分,0856,求调剂院校和导师 +4 倾____萧 2026-03-27 5/250 2026-03-27 11:52 by zhshch
[考研] 333求调剂 +3 question挽风 2026-03-23 3/150 2026-03-27 11:29 by 不吃魚的貓
[考研] 一志愿郑大085600,310分求调剂 +5 李潇可 2026-03-26 5/250 2026-03-27 11:14 by 不吃魚的貓
[考研] 一志愿吉大071010,316分求调剂 +3 xgbiknn 2026-03-27 3/150 2026-03-27 10:36 by guoweigw
[考研] 求调剂 +8 Auroracx 2026-03-22 8/400 2026-03-26 19:55 by 不吃魚的貓
[考研] 总分322求生物学/生化与分子/生物信息学相关调剂 +5 星沉uu 2026-03-26 6/300 2026-03-26 19:02 by macy2011
[考研] 打过很多竞赛,085406控制工程300分,求调剂 +3 askeladz 2026-03-26 3/150 2026-03-26 09:08 by 给你你注意休息
[考研] 303求调剂 +6 蓝山月 2026-03-25 6/300 2026-03-25 22:47 by 418490947
[考研] 332求调剂 +6 032500 2026-03-25 6/300 2026-03-25 22:45 by 418490947
[考研] 0854AI CV方向招收调剂 +4 章小鱼567 2026-03-23 4/200 2026-03-25 17:04 by CoderLoser
[考研] 289材料与化工(085600)B区求调剂 +4 这么名字咋样 2026-03-22 5/250 2026-03-25 08:20 by mx.yue
[考研] 生物学学硕求调剂 +7 小羊睡着了? 2026-03-23 10/500 2026-03-25 02:24 by 清风拂扬。 m
[有机交流] 有机合成求助 20+3 FENGSHUJEI 2026-03-23 5/250 2026-03-24 19:31 by 88817753
[考研] 一志愿山东大学药学学硕求调剂 +3 开开心心没烦恼 2026-03-23 4/200 2026-03-24 00:06 by 开开心心没烦恼
[考研] 求调剂 +5 Zhangbod 2026-03-21 7/350 2026-03-22 13:13 by Zhangbod
信息提示
请填处理意见