| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2290 人关注过本帖
标题:求教大神:编写的一段程序,需要点击好几次才能出现正确结果,求教问题原因 ...
只看楼主 加入收藏
chenhuliang
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2016-9-18
结帖率:0
收藏
已结贴  问题点数:20 回复次数:13 
求教大神:编写的一段程序,需要点击好几次才能出现正确结果,求教问题原因。
Sub Command1_Click()
    Form2.Show
End Sub
Private Sub Command3_Click()
Mar = Val(Text1.Text)
Cdc = Val(Text7.Text)
trc = Val(Text2.Text)
M = Val(Text3.Text)
Fin = Val(Text5.Text)
t1 = Val(Label38.Caption)
Cag1 = Val(Text9.Text)
Cs = Val(Text11.Text)
ts = Val(Text8.Text)
Fmff = Val(Text10.Text)
e = Val(Text12.Text)
Ch2o = Val(Text6.Text)
t2 = Val(Text4.Text)
Ca2 = Val(Text13.Text)
Crc = Val(Label37.Caption)
Cdc1 = Val(Text17.Text)
Mpc = Val(Text14.Text)
Qrc = Val(Label40.Caption)
Qev = Val(Label46.Caption)
Fout = Val(Label50.Caption)
Qag1 = Val(Label41.Caption)
Qag2 = Val(Label47.Caption)
Msj = Val(Text16.Text)
Qs = Val(Label42.Caption)
Qf = Val(Label48.Caption)
r = Val(Text15.Text)
Qmac = Val(Label43.Caption)
Qxtsr = Val(Label49.Caption)
V0ut = Val(Label51.Caption)
Qin = Val(Label44.Caption)
Qout = Val(Label39.Caption)
Fr = Val(Label45.Caption)
Qev = (Mar - Mpc) / (100 - Mpc) * M * (2500 + Ch2o * t2 - 4.187 * trc)
Label46.Caption = Qev
Crc = ((100 - Mar) * Cdc + 4.187 * Mar) / 100
Label37.Caption = Crc
Fout = Fin / 1.285 + (Mar - Mpc) / (100 - Mpc) * M / 0.804 + Fmff / 1.285
Label50.Caption = Fout
Qag2 = (Fin + Fmff) * t2 * Ca2
Label47.Caption = Qag2
Qs = ts * Fmff * Cs
Label42.Caption = Qs
Qf = (1 - 0.01 * Mar) * (t2 - trc) * (Cdc1 + 4.187 * Mpc / (100 - Mpc)) * M
Label48.Caption = Qf
Qmac = 2.16 * M * e
Label43.Caption = Qmac
Qrc = Crc * trc * M
Label40.Caption = Qrc
t1 = (Qout - Qmac - Qs - Qrc) / (Fin * Cag1)
Label38.Caption = t1
Qag1 = t1 * Cag1 * Fin
Label41.Caption = Qag1
Qin = Qrc + Qag1 + Qs + Qmac
Label44.Caption = Qin
Qxtsr = 0.02 * Qin
Label49.Caption = Qxtsr
Qout = Qev + Qag2 + Qf + Qxtsr
Label39.Caption = Qout
Fr = Fout * (101.3 / 86.7) * (273 + t2) / 273
Label45.Caption = Fr
Vout = Fr / 3600 / (3.14 * r * r * 4)
Label51.Caption = Vout
End Sub
2016-09-18 14:58
chenhuliang
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2016-9-18
收藏
得分:0 
2016-09-18 14:58
chenhuliang
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2016-9-18
收藏
得分:0 
急求高手解答,万分感谢
2016-09-18 15:03
xiangyue0510
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:86
帖 子:938
专家分:5244
注 册:2015-8-10
收藏
得分:5 
你这个太多计算了吧。可否简单的说一下是做什么的,也就是你的数学模型。还有提供一下测试使用的输入数据和输入结果。
光从你的代码而言:
前面Label45,Label51……赋值给变量
后面计算出来的结果有传递给Label45,Label51……
既然是你说了需要点击好几下才能出正确的结果,我估计你原来的数学模型应该是需要多次迭代的。
2016-09-18 15:57
chenhuliang
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2016-9-18
收藏
得分:0 
回复 4楼 xiangyue0510
是的,这个程序是一个热力平衡计算,其中有好几个变量是需要迭代计算的。现在的问题是:我按照顺序排列好以后,一次计算不能得出最终结果,我要点8-9次才能出正确结果。不知道问题处在哪里了。
2016-09-18 16:52
chenhuliang
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2016-9-18
收藏
得分:0 
回复 4楼 xiangyue0510
你有邮箱么?我发程序给你,帮我看看吧,谢谢大神!
2016-09-18 16:54
pengzhanggui
Rank: 5Rank: 5
等 级:职业侠客
威 望:8
帖 子:161
专家分:344
注 册:2015-7-20
收藏
得分:5 
写程序养成一个好习惯,或多或少备注一下嘛

来找我试试看
2016-09-18 17:22
pengzhanggui
Rank: 5Rank: 5
等 级:职业侠客
威 望:8
帖 子:161
专家分:344
注 册:2015-7-20
收藏
得分:0 
【点好几次才出现结果】:

考虑用循环是否可以解决此问题呢?

来找我试试看
2016-09-18 17:26
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4947
专家分:30084
注 册:2008-10-15
收藏
得分:5 
简单处理一下加个循环吧。
程序里判断最后计算结果,如果不符合要求,继续计算就是了。


授人于鱼,不如授人于渔
早已停用QQ了
2016-09-18 17:34
xiangyue0510
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:86
帖 子:938
专家分:5244
注 册:2015-8-10
收藏
得分:0 
回复 5楼 chenhuliang
你这个就对了,这个过程本来就是迭代,最后达到收敛的过程。
只需要简单的修改一下代码就可以实现
程序代码:
Do 
'计算过程的代码放进来,可以修改一下不必将中间结果也现在在控件上
if T1=T1p then  '这里放判定收敛的准则
 '将最终结果显示
 exit do
end if 
Loop
2016-09-18 19:03
快速回复:求教大神:编写的一段程序,需要点击好几次才能出现正确结果,求教问题 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.025718 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved