大家好,欢迎来到IT知识分享网。
满意答案
inv为渐开线involute的缩写。
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.98 + R1 ’试凑一个角度(55.62°)
For i = 1 To 1000 ’循环(迭代1000次)
OP2 = Tan(Mate * 3.98 / 180) – Mate * 3.98 / 180 ‘求出试求角度的INV值
PN = OP2 – IP1 ‘试求值与目标值比大小
If PN > 0 Then ’如果大于0,说明试求值大了。那么应该把把右值域R2减小到试求角度。
R2 = Mate
Mate = (R2 – R1) * 0.02 + R1 ‘从右端取0.618的点
Else
R1 = Mate ’如果小于0,说明试求值小了。那么应该把把左值域R1增大到试求角度。
Mate = (R2 – R1) * 0.98 + R1 ‘从左端取0.618点
End If 退出if
Next 退出循环
Text2.Text = Mate 显示最终试凑角度(精度在0.0001以内)
End Sub
20分享举报
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/134493.html