王文革 趙龍
漸開線函數(shù)表的程序化處理
王文革 趙龍
(山東科技職業(yè)學院 濰坊 261053)
采用牛頓迭代法對齒輪漸開線函數(shù)表進行程序化處理,把反漸開線函數(shù)的求值過程編制成子程序,可避免查閱漸開線函數(shù)表,這樣在用計算機編制程序?qū)X輪進行優(yōu)化設計和齒形加工進行有關數(shù)值計算時可以直接調(diào)用,本程序用VisualBasic語言編制。
漸開線函數(shù)表;程序化;牛頓迭代法;VisualBasic語言
在齒輪設計、加工過程中經(jīng)常用到齒形漸開線函數(shù)θ=tgα-α,其中θ為齒形曲線上某點對應的漸開線展角,α為該點的壓力角,漸開線函數(shù)θ=tgα-α為超越函數(shù),不能通過普通計算求值,特別是已知展角θ求壓力角α的情況,因此,一般的機械設計資料都提供漸開線函數(shù)表,方便使用者查閱,對表中沒有的數(shù)據(jù)要進行插值計算,精度與效率都比較低。在用計算機編程對齒輪傳動優(yōu)化設計或齒形加工進行有關計算時,查表法更是限制了程序的編制,因此有必要對漸開線函數(shù)表進行程序化處理,方便編制程序?qū)X輪優(yōu)化設計和進行齒形數(shù)值計算。
1.1 函數(shù)構造及有解判斷
對于已知展角θ(θ=θ0θ0為大于零的已知數(shù))求壓力角α,根據(jù)漸開線函數(shù)得到θ0=tgα-α,為此構造函數(shù)f(α)=tgα-α-θ0,則在f(α)=0時的自變量值即為所求的壓力角α值,根據(jù)壓力角的定義和正切函數(shù)的定義域和值域可知f(α)的定義域為[0,π/2),值域為[-θ0,+∞),所以f(α)=tgα-α-θ0的圖像與 x軸有交點,即方程 tgα-α-θ0=0 有解。
1.2 f(α)的單調(diào)性研究
對f(α)求一次導數(shù)得到f′(α)=1/cos2α-1,在α∈[0,π/2]范圍內(nèi),可知f′(α)≥0,所以f(α)為單調(diào)遞增函數(shù),結合前述1可知α有唯一解。
1.3 f(α)的凸凹性研究
對f′(α)=1/cos2α-1繼續(xù)求導數(shù)得到f″(α)=2sinα/cos3α,在α∈[0,π/2)范圍內(nèi),可知f″(α)≥0,所以f(α)為凹函數(shù)。
1.4 f(α)圖像形態(tài)研究
綜合前面1、2、3的結論可知在α∈[0,π/2)范圍內(nèi),f(α)的圖像為一條與x軸有交點的單調(diào)遞增凹曲線,如圖1所示。
圖1
2.1 迭代規(guī)則
對于如圖1所示的函數(shù)圖像可用牛頓迭代法求f(α)=0時的自變量α0值,如圖2在曲線上取一點,作為迭代起始點,過該點作f(α)的切線與橫軸交于(αi+1,0)點,過(αi+1,0)點作垂直線與f(α)交于(αi+1,f(αi+1,0)),過該點再做切線,得到新的交點(αi+1,0),如此重復,則αi+1值就無限接近于所求的α0,根據(jù)幾何關系(如圖2所示)迭代公式為:αi+1=αi-f(αi)/f'(αi),設定f(αi+1)<j時迭代終止,j為預先給定的小正數(shù)。
2.2 迭代起始點的確定
圖2
從圖 2 可以看出,迭代起始點(α1,0)必須在(α0,0)的右側,即必須有α1>α0,迭代才能順利進行,可以通過驗算是否有f(α1)>0判斷α1>α0是否成立,起始點的具體確定可采用二分法,首先取區(qū)間[0,π/2)的中點π/4,驗算f(π/4)>0是否成立,如果成立,以(π/4,f(π/4))點為迭代初始點,如果不成立取區(qū)間[π/4,π/2)的中點繼續(xù)驗算,直到找到f(α>0)的點作為迭代起始點。
(1)展角θ以10進制數(shù)輸入。
(2)迭代終止精度以一個接近于零的小正數(shù)表示,根據(jù)程序使用實踐,當?shù)萰=10-4時計算結果精度已超過查表精度;當終止精度j=10-8時,因f′(α)=1/cos2α-1趨近于零,αi+1=αi-f(αi)/f′(αi)會發(fā)生溢出從而出現(xiàn)卡機現(xiàn)象,所以,程序運行使用時可輸入10-4-10-7間的小正數(shù)作為迭代終止條件,為防止誤輸入造成卡機,在輸入精度后加入了一條判斷語句:“If j<=0.0000001 Then j=0.0000001”即 j值過小或錯誤輸入時,程序自動設定迭代精度為j=10-7。
(3)壓力角α以10進制度數(shù)、度分秒和弧度三種方式輸出,重新計算時,精度值可重新輸入,也可使用原精度值。運行界面及結果如圖3所示。
圖3
[1]林卓然.VisualBasic程序設計教程[M].北京:電子工業(yè)出版社,2004.
[2]鄭文緯,等.機械原理[M].北京:高等教育出版社,1997.
[3]黃家驤.優(yōu)化方法與機械優(yōu)化設計[M].廣州:華南工學院出版社,1986.
TN112
A
1004-7344(2016)33-0282-01
2016-11-13