分享

教大家反求INV函数(渐开线函数)

 牛人的尾巴 2016-05-21

教大家反求INV函数(渐开线函数)

liuhong860211 11级 分类: 理工学科 被浏览93次 2013.09.09

请微博专家回答 检举

齿轮计算中需要使用到的。
采纳率:53% 11级 2013.09.10
鉴于百度知道尚没有教如何反解INV函数方法,我准备写一个方法,方便大家搜索。 ---------------------------------- 解法需要使用编程软件(我个人使用的是VB6.0) 思路是使用试凑法,用黄金分割法优化。 Dim IP1, OP2, R1, R2, Mate, PN, i As Double Private Sub Command1_Click() IP1 = Val(Text1.Text) ‘你手上需要查的数值 R1 = 0 ’左值域 R2 = 90 ‘右值域 Mate = (R2 - R1) * 0.6180339887498 + R1 ’试凑一个角度(55.62°) For i = 1 To 1000 ’循环(迭代1000次) OP2 = Tan(Mate * 3.1415926535898 / 180) - Mate * 3.1415926535898 / 180 ‘求出试求角度的INV值 PN = OP2 - IP1 ‘试求值与目标值比大小 If PN > 0 Then ’如果大于0,说明试求值大了。那么应该把把右值域R2减小到试求角度。 R2 = Mate Mate = (R2 - R1) * 0.3819660112502 + R1 ‘从右端取0.618的点 Else R1 = Mate ’如果小于0,说明试求值小了。那么应该把把左值域R1增大到试求角度。 Mate = (R2 - R1) * 0.6180339887498 + R1 ‘从左端取0.618点 End If 退出if Next 退出循环 Text2.Text = Mate 显示最终试凑角度(精度在0.0001以内) End Sub GUI界面,大家自己随便写。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约