| 查看: 343 | 回复: 2 | ||
[求助]
Microsoft 编译的这段程序哪里有问题?
|
|
本人门外汉,急求这段程序哪里有问题?怎么改?感激不尽 Sub cl2() Public Function Concentration(Q, U, PS, TA, TB, X, Y, Z) Din T Din i Din SigmaY, SigmaZ Din CAsDouble Q = Q / (TA / TB) For i = 0 To TA Step TB Din Xb, Xc Xb = Abs((X - U * i)) Xc = Abs((U * i)) SigmaY = GetA(PS) * (X ^ GetB(PS)) * (2 ^ 0.3) SigmaZ = GetC(PS) * (X ^ GetD(PS)) Din E E = Exp(-0.5 * (((Xb) ^ 2) / (SigmaY ^ 2) + (Y ^ 2) / (SigmaY ^ 2) + (Z ^ 2) / (SigmaZ ^ 2))) c = c + (2 * Q) / (6.28 ^ 1.5) / SigmaY / SigmaY / SigmZ * E Next Concentration = c End Function Function GetA(PS) If PS = A Then GetA(PS) = 0.527 If PS = B Then GetA(PS) = 0.371 If PS = c Then GetA(PS) = 0.209 If PS = D Then GetA(PS) = 0.123 If PS = E Then GetA(PS) = 0.098 If PS = F Then GetA(PS) = 0.065 End Function Function GetB(PS) If PS = A Then GetB(PS) = 0.865 If PS = B Then GetB(PS) = 0.866 If PS = c Then GetB(PS) = 0.897 If PS = D Then GetB(PS) = 0.905 If PS = E Then GetB(PS) = 0.902 If PS = F Then GetB(PS) = 0.902 End Function Function GetC(PS) If PS = A Then GetC(PS) = 0.28 If PS = B Then GetC(PS) = 0.23 If PS = c Then GetC(PS) = 0.22 If PS = D Then GetC(PS) = 0.2 If PS = E Then GetC(PS) = 0.15 If PS = F Then GetC(PS) = 0.12 End Function Function GetD(PS) If PS = A Then GetD(PS) = 0.9 If PS = B Then GetD(PS) = 0.85 If PS = c Then GetD(PS) = 0.8 If PS = D Then GetD(PS) = 0.76 If PS = E Then GetD(PS) = 0.73 If PS = F Then GetD(PS) = 0.67 End Function End Function End Sub |
» 猜你喜欢
拟解决的关键科学问题还要不要写
已经有10人回复
救命帖
已经有5人回复
限项规定
已经有5人回复
为什么nbs上溴 没有产物点出现呢
已经有9人回复
招博士
已经有3人回复
存款400万可以在学校里躺平吗
已经有35人回复
最失望的一年
已经有18人回复
求推荐博导
已经有4人回复
求推荐英文EI期刊
已经有5人回复
疑惑?
已经有5人回复
» 本主题相关价值贴推荐,对您同样有帮助:
请C语言的人们看看我这个最简单的小程序哪里有问题呢
已经有6人回复
这个c++小程序编译的错误很奇怪~~
已经有5人回复
这样的c++文件怎么编译?
已经有6人回复
android NDk环境编译-----原创总结
已经有9人回复
Fortran 编译问题
已经有9人回复
这个程序我编译一直不通..
已经有15人回复
请教一个fortran小程序编译出错的问题,谢谢
已经有9人回复
求助:UDF模型的编译问题
已经有15人回复
三维数组换行输入到文件(intel fortran 编译器)
已经有6人回复
文件.f如何编译成可执行文件
已经有3人回复
【求助】mac的编译环境xcode的使用问题
已经有5人回复
【求助】多个文件如何编译?
已经有3人回复
【求助】f90子程序怎么编译错误?请大家帮忙,谢谢
已经有3人回复
【求助】FEDORA12下用FORTRAN编写程序需要下一个FORTRAN编译器么
已经有18人回复
【求助】程序编译没有问题,可是连接过程却出现很多问题
已经有4人回复
【求助】为什么我这个程序编译都没有问题,就是运行不出来?【已完结】
已经有9人回复
libralibra
至尊木虫 (著名写手)
骠骑将军
- 程序强帖: 40
- 应助: 817 (博后)
- 金币: 12914.1
- 红花: 64
- 帖子: 2238
- 在线: 287.3小时
- 虫号: 696514
- 注册: 2009-02-05
- 专业: 计算机软件

2楼2013-09-17 16:19:16
|
改成了这样,可是Get函数有问题,能帮助下怎么改吗? Sub cl3() a = Concentration(Q, U, PS, TA, TB, X, Y, Z) End Sub Public Function Concentration(Q, U, PS, TA, TB, X, Y, Z) Dim T Dim i Dim SigmaY, SigmaZ Dim C As Double Dim Q1 For i = 0 To TA Step TB Xb = Abs((X - U * i)) Xc = Abs((U * i)) SigmaY = GetA(PS) * (X ^ GetB(PS)) * (2 ^ 0.3) SigmaZ = GetC(PS) * (X ^ GetD(PS)) Q1 = Q / (TA / TB) Dim E E = Exp(-0.5 * (((Xb) ^ 2) / (SigmaY ^ 2) + (Y ^ 2) / (SigmaY ^ 2) + (Z ^ 2) / (SigmaZ ^ 2))) C = C + (2 * Q1) / (6.28 ^ 1.5) / SigmaY / SigmaY / SigmZ * E Next Concentration = C End Function Function GetA(PS) Dim ax If PS = 1 Then ax = 0.527 Else If PS = 2 Then ax = 0.371 Else If PS = 3 Then ax = 0.209 Else If PS = 4 Then ax = 0.123 Else If PS = 5 Then ax = 0.098 Else If PS = 6 Then ax = 0.065 End If End If End If End If End If End If GetA(PS) = ax End Function Function GetB(PS) If PS = a Then GetB(PS) = 0.865 Else If PS = B Then GetB(PS) = 0.866 Else If PS = C Then GetB(PS) = 0.897 Else If PS = D Then GetB(PS) = 0.905 Else If PS = E Then GetB(PS) = 0.902 Else If PS = F Then GetB(PS) = 0.902 End If End If End If End If End If End If End Function Function GetC(PS) If PS = a Then GetC(PS) = 0.28 Else If PS = B Then GetC(PS) = 0.23 Else If PS = C Then GetC(PS) = 0.22 Else If PS = D Then GetC(PS) = 0.2 Else If PS = E Then GetC(PS) = 0.15 Else If PS = F Then GetC(PS) = 0.12 End If End If End If End If End If End If End Function Function GetD(PS) If PS = a Then GetD(PS) = 0.9 Else If PS = B Then GetD(PS) = 0.85 Else If PS = C Then GetD(PS) = 0.8 Else If PS = D Then GetD(PS) = 0.76 Else If PS = E Then GetD(PS) = 0.73 Else If PS = F Then GetD(PS) = 0.67 End If End If End If End If End If End If End Function Sub cl2() a = Concentration(Q, U, PS, TA, TB, X, Y, Z) End Sub |
3楼2013-09-20 08:23:18













回复此楼