齿轮论坛 www.gearbbs.net

 找回密码
 注册

手机号码,快捷登录

手机号码,快捷登录

搜索
123
返回列表 发新帖
楼主: fumeicheng
收起左侧

对于渐开线齿已知展角求压力角的计算问题

[复制链接]
 楼主| 发表于 2022-3-15 17:08 | 显示全部楼层

现在已经明白编程过程计算原理了,用的牛顿求解法
 楼主| 发表于 2022-3-15 17:15 | 显示全部楼层
计算公式中B的计算式已经明白了,用的牛顿求解法。
还有点不明白的地方是公式起始值设定里面为什么有会用a=0.763407+0.471*Atn(x), 感觉这个0.763407和0.471值一定是和X在(0,0.5)之间有关!
发表于 2022-3-16 15:57 | 显示全部楼层
发一个求渐开线函数和反求渐开线函数的计算器

渐开线函数计算器(淡灰色).rar (5.87 KB, 下载次数: 8)


精度比较高,秒杀

有兴趣的朋友可以试试,几次上手后就会操作了,最后有所有的计算数据。
 楼主| 发表于 2022-3-16 16:54 | 显示全部楼层
hyfjy 发表于 2022-3-16 15:57
发一个求渐开线函数和反求渐开线函数的计算器

佩服,大神光临了啊。你这是用VB编程的计算吧,能不能把编程过程展示一下呀?大神!
我发出来的那个程序中,我不明白牛顿求解循环的起始角度值是如何得来的!
发表于 2022-3-17 08:15 | 显示全部楼层
看到楼主问这个问题,其实是开始学习齿轮的人都会遇到的第一个数学题。
这个数学题虽然不难,但是需要学过《数值计算》或者《数学物理方程》之类的,介绍各种迭代算的数学教科书才好。当然,也有人从编程的角度来解决这个问题。
个人建议:如果要研究深入点,可以看一下数值计算这类的数学教科书。
如果是想求解,那么用数学软件可以轻松处理。比如MathCAD、matlab、Maple或者 mathematica。精度最低的是MathCAD,精度高的,可以用后面三个,其中mathematica可以求解任意精度。都是一个简单的函数就可以求解了。
————————————————————————————————
我给出mathcad 的求解界面,迭代法和mathcad自带的Root函数法。基本上15位小数的精度足够一般工程使用了。
01.jpg
发表于 2022-3-17 10:26 | 显示全部楼层
fumeicheng 发表于 2022-3-16 16:54
佩服,大神光临了啊。你这是用VB编程的计算吧,能不能把编程过程展示一下呀?大神!
我发出来的那个程序 ...

用普通的中学数学知识可以理解的是,函数计算,一个求解的前题是知道函数的收敛区间,对于函数Y=TAN(X)-X,要知道其中的X通常是以弧度来计算的,用普通的计算器计算时,可以用角度来表示一个角的正切,但后面一个数就不能用角度来表示,一定要用弧度来表示,这个函数的主值区间是0到90度,(主值的定义是通常正常使用的区域范围),其值的定义域为0~无穷大,叠代的前提是初值必须略大于最终值时,计算是无法得到正确的结果的,因为这个函数是增函数且上凹的单调函数,用普通函数计算一个设定的渐开线函数值时,只要取一个略小于90度的弧度值就一定会收敛,牛顿叠代最大的特点就是收敛非常快,但我们常用的齿轮计算中,大多数齿轮的压力角取20度或者30度时,所用的渐开线函数值都会小于60度,在这样的情况下,输一个60度或者70度的弧度值(小数),就足够了。这是本人的一点体会而已,因为计算的过程实际上是电脑的运行速度,目前几乎没有时间延迟的感觉了。
 楼主| 发表于 2022-3-21 11:04 | 显示全部楼层
hyfjy 发表于 2022-3-17 10:26
用普通的中学数学知识可以理解的是,函数计算,一个求解的前题是知道函数的收敛区间,对于函数Y=TAN(X)-X ...

感谢HYFJY,你的分析给了我很大的提示,非常认同你的分析。我已经从Dudley的书里找到了答案。

 楼主| 发表于 2022-3-21 11:19 | 显示全部楼层
mrmrw 发表于 2022-3-17 08:15
看到楼主问这个问题,其实是开始学习齿轮的人都会遇到的第一个数学题。
这个数学题虽然不难,但是需要学过 ...

感谢大神MRMRW。
是的,你的指导能让大家少走弯路。我也是听了前面几位的大神留言,才是了解到这些的,而你在这儿做了一个精辟的总结。
在了解牛顿求解之后,我一直纠结的是求解起始角度值的设定问题,从你的mathcad方程里看,start angle 是π^0.25, 我不是太理解这个值的来处?我已经从Dudly的书中找到了我照片中公式的来源,但是和你的起始值公式设置是不同的。


发表于 2022-3-23 08:14 | 显示全部楼层
fumeicheng 发表于 2022-3-21 11:19
感谢大神MRMRW。
是的,你的指导能让大家少走弯路。我也是听了前面几位的大神留言,才是了解到这些的, ...

关于初始值的赋值,是需要一点技巧的。在迭代求解方法中,经常用函数曲线的方式来观察初始值。
使用MathCAD之类的数学软件,可以先绘制渐开线的函数曲线,然后再求解反渐开线函数的时候,就可以根据渐开线函数的曲线来赋初值了。
对于渐开线函数而言,在(0,π/2)之间是简单的单调函数。在MathCAD的时候都不用赋初值就可以了。
编程的时候,你可以尝试一下范围即可。
 楼主| 发表于 2022-4-1 08:40 | 显示全部楼层
mrmrw 发表于 2022-3-23 08:14
关于初始值的赋值,是需要一点技巧的。在迭代求解方法中,经常用函数曲线的方式来观察初始值。
使用Math ...

明白,非常感谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|小黑屋|手机版|Archiver|齿轮论坛

GMT+8, 2024-4-29 20:06 , Processed in 0.169815 second(s), 12 queries , MemCache On.

Powered by Discuz! X3.4 Licensed

© 2001-2023 Discuz! Team.

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