VB迭代计算
本帖最后由 大长经 于 2009-11-17 15:06 编辑例:温升计算程序
T1R1K 这三个为已知量
R2 T2是 两个可变量
温升是一个目标值限制为85,公式为(R2-R1)*(D+T1)/R1+T2-T1
请高手给段代码! 本帖最后由 大长经 于 2009-11-24 08:32 编辑
我来结贴:
Private Sub Command1_Click()
Dim T1 As Integer, R1 As Integer, K As Integer
Dim T2 As Integer, R2 As Double
T1 = 20
R1 = 30
K = 225
For T2 = 0 To 10
For R2 = 0 To 10
F = (R2 - R1) * (K + T1) / R1 + T2 - T1
If F <= 85 Then
Text1.Text = Text1.Text & T2 & "," & R2 & vbCrLf
End If
Next R2
Next T2
End Sub 这是一个电机优化设计的缩影,万变不离其中。 我来结贴:
Private Sub Command1_Click()
Dim T1 As Integer, R1 As Integer, K As Integer
...
大长经 发表于 2009-11-24 08:30 http://bbs.simol.cn/images/common/back.gif
在这里vbcrlf,可以不使用。 哎,怎么说好啊
由K= (R2 - R1) * (K + T1) / R1 + T2 - T1<85得:
(R2 - R1) * (K + T1) / R1 - T1<85- T2
即:T2 >- (R2 - R1) * (K + T1) / R1 + T1+85
左边右边都只有一个未知数,直接算就是了,哪里用得着什么叠代!! 还两重叠代计算100次,中间一个
If F <= 85 Then 过滤
彻底晕倒 是循环计算,说错了,哈哈。
南牛先生早来就好了,我就不用在这丢人了。
总之,我对南牛先生是很佩服的! 在这里vbcrlf,可以不使用。
大长经 发表于 2009-11-24 09:51 http://bbs.simol.cn/images/common/back.gif
哎,又是一个错误!vbcrlf不用就不完整了吗! 本帖最后由 南牛 于 2009-11-25 11:52 编辑
小兄弟,慢慢来,现在年轻热有兴趣钻研技术的人不多了,你看论坛很少称得上“讨论技术”的帖就知道!最热门都是八卦话题,真正有技术含量的话题都是冷门的,在群众面前,有一定深度的技术帖和那么些毫无意义的垃圾帖享受一样的待遇。。。大胆的做,不要不好意思,讨论技术问题有什么丢人的。
软件要有实用性,除了能算出结果来之外,计算速度也很重要,尤其是优化设计,如果1分钟能计算1万套方案,那么软件可以用,如果要200分钟计算1万套方案,那么软件很难用。因为所谓1万套方案,也就是1万种不同的组合搭配而已,是最基本的计算量,如果要等200分钟,现在的工程师谁有这个耐心?这1万套里面还不一定有好用的,如果要重新更改一下设计条件,又要等200分钟,那么软件开发者自己已经先晕倒了。。
所以能用公式计算的,一定要直接计算,不要用循环计算,分段查图表之类的,这些方法和直接计算相比,速度一定相差200倍以上,核算一个方案可以,如果你要计算一系列然后选择最优的,那么这些方法不行的
过去电机设计主要靠手工计算,所以前辈利用公式计算好了数字,并且绘制了很多图表,手工计算时查图表,现在用计算机编程计算,一定要找到最初的公式直接计算,既准确又快速 路过,看到高人,受教了。也希望多看到高人的帖子。
谢谢! 高人,受教了,找知识了···谢谢 学习了,谢谢 路过,受教了。 资料很不错,非常感谢! 高人,所说所做,令人敬佩。 南牛 发表于 2009-11-25 11:23
小兄弟,慢慢来,现在年轻热有兴趣钻研技术的人不多了,你看论坛很少称得上“讨论技术”的帖就知道!最热门 ...
请教南牛前辈,轭部磁压降降得计算有什么好的方法啊 资料很不错,非常感谢!
页:
[1]