齿轮论坛 www.gearbbs.com

 找回密码
 注册
搜索
查看: 2683|回复: 6
收起左侧

求渐开线函数inv(a)的vb代码!

[复制链接]
发表于 2011-1-11 19:20 | 显示全部楼层 |阅读模式

本帖子中包含更多资源。

您需要 登录 才可以下载或查看,没有账号?注册

x
关于求解渐开线函数 INVα=tanα-α的vb代码,看到留言的老师可以跟我共享一下吗?自己摸索了好久,总是感觉有问题。谢谢~~我的邮箱:313655045@qq.com
 楼主| 发表于 2011-1-11 19:35 | 显示全部楼层
自己顶起来!!
发表于 2013-7-20 18:15 | 显示全部楼层
dim an,rad,pi,inv as double
pi=3.1415926835898
rad=pi/180
an=val(text1.text)*rad
inv=tan(an)-an
发表于 2013-7-21 04:27 | 显示全部楼层
请联系QQ996692093
发表于 2013-7-21 08:23 | 显示全部楼层

给个完整的

本帖最后由 hyfjy 于 2013-7-21 08:25 编辑

给一段在VBl中自动进行渐开线反函数计算的程序

Dim X(100), T, Q, R, S As Double
Const P = 3.14159265358979 / 180     '这二条是主程序的最先进行变量设定
.
.
.
.
.
.
T = X(37)               '说明:计算好的渐开线函数值由计算值转为T值
Q = 0.7                  '对相应角度的弧度值的初值定为0.7,相当于角度的45度左右 .
R = 0                     '这是一个计算误差的变量
10 S = Tan(Q) - Q - T          '计算已知的角的值相应的计算误差值
Q = Q - S / Tan(Q) ^ 2        '新的需要求的角的新值
If R = S Then GoTo 40        '如果二次计算的误差值相等,说明函数已经收敛,程序计算结束,跳出循环
If Abs(S) > 0.00000000001 Then Let R = S: GoTo 10    '如果误差值大于一个预先设定值(0.00000000001),则再次进入循环
40
X(38) = 0.5 * (Z2 + Z1) / Cos(B * P) * (Cos(At) / Cos(Q) - 1)  '继续进行程序,也可以把上面这段编为公共程序.Q是计算结果
.
.


发表于 2013-7-21 19:15 | 显示全部楼层
以下代码求渐开线反函数的值:
第一行  为渐开线函数值:
1:        val1=1
2:        middle=45
3:        pg=13
4:        min=0
5:        max=90
6:        val2=inv(middle)= 0.214602
7:        i=0
8:        wcycle()
9:                max=        among[val2>val1,middle,max]= 64.874162
10:                min=among[val2<val1,        middle,min]= 64.874162
11:                middle=(min+max)/2= 64.874162
12:                val2=inv(middle)= 1
13:                i=i+1= 34
14:                if(i>100)
15:                        exit wcycle
16:                end if
17:        end wcycle(abs(val2-val1)<=(1/10^pg))
18:        angle=middle= 64.874162


发表于 2013-7-21 19:17 | 显示全部楼层

上述代码可以在“计算不求人”软件中直接运行。
你也可以稍加改动即可用于VB编程。

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|小黑屋|手机版|Archiver|齿轮论坛 www.gearbbs.com

GMT+8, 2025-7-6 10:52 , Processed in 0.170685 second(s), 11 queries , MemCache On.

Powered by Discuz! X3.4 Licensed

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表