班濤++鄧?yán)A
摘 要:文章利用牛頓插值法,提出了一種簡單實(shí)用的凸輪工作輪廓線的修正方法。首先對要進(jìn)行修正的的曲線附近的一些離散點(diǎn)的數(shù)據(jù)進(jìn)行分析處理,確定插值多項(xiàng)式的階次以滿足高精度和低運(yùn)算量的要求。然后利用Matlab編程計算出插值點(diǎn)的值,并進(jìn)行誤差分析,實(shí)現(xiàn)對凸輪的局部工作廓線進(jìn)行修正。
關(guān)鍵詞:凸輪輪廓線;牛頓插值法;修正
中圖分類號:TH132.47 文獻(xiàn)標(biāo)志碼:A 文章編號:2095-2945(2017)20-0094-02
1 問題的提出及分析
高速包裝機(jī)械中凸輪工作廓線的設(shè)計多采用解析法,這樣既保證了凸輪的運(yùn)動特性,又便于對凸輪機(jī)構(gòu)進(jìn)行運(yùn)動學(xué)和動力學(xué)分析,因此在不同工況下,凸輪設(shè)計的解析方程式往往是不同的。這樣雖然能保證凸輪的精度,但同時也提高了凸輪在實(shí)際使用中的修正難度,因?yàn)橹挥薪⑿碌慕馕龇匠淌讲拍軐ν馆嗊M(jìn)行修正,尤其是只需對凸輪局部曲線進(jìn)行修正時,也要建立相應(yīng)的解析方程,這樣就增大了曲線修正的工作量,降低了工作效率[1]。本文基于提高工作效率和減小修正量的考慮,結(jié)合牛頓插值法,提出了一種簡單實(shí)用的凸輪工作廓線的修正設(shè)計方法,這種方法不必對原有的解析方程進(jìn)行修改計算,只需通過對擬進(jìn)行修正的曲線附近的一些離散點(diǎn)的數(shù)據(jù)進(jìn)行處理,就能對現(xiàn)有凸輪工作廓線進(jìn)行修正,特別適合凸輪曲線在實(shí)際使用中的局部修正設(shè)計[2]。已知兩個變量X,Y之間的一個離散的函數(shù)關(guān)系式y(tǒng)(i)=f(xi),i=0,1,…n,即給出一部分?jǐn)?shù)據(jù)如表1,找到一個與原函數(shù)近似的簡單的多項(xiàng)式函數(shù),使其在一部分離散點(diǎn)xi,x0,x1,…,xn的值分別與f(xi),f(x0),f(x1)……f(xn)相等。根據(jù)以上要求,可以使用插值多項(xiàng)式來逼近原解析函數(shù)。
Lagrange插值公式結(jié)構(gòu)緊湊,便于理論分析,利用插值基函數(shù)也容易得到插值多項(xiàng)式。缺點(diǎn)是當(dāng)插值節(jié)點(diǎn)增加,或其位置變化時,全部插值基函數(shù)均要隨之變化,從而整個插值公式的結(jié)構(gòu)也發(fā)生變化,這在實(shí)際計算中是非常不利的。Newton插值多項(xiàng)式則可以克服上述缺點(diǎn),可以靈活地增加插值節(jié)點(diǎn)進(jìn)行遞推計算。該公式形式對稱,結(jié)構(gòu)緊湊,比Lagrange插值法計算量省,且便于程序設(shè)計。
2 模型的建立
高速包裝機(jī)上有一凸輪,其工作廓線共有分A、B、C三段,在實(shí)際的使用中發(fā)現(xiàn)A段和C段的行程符合設(shè)計要求,而B段的行程須進(jìn)行修正設(shè)計。已知凸輪A段曲線數(shù)據(jù),如表2所示。已知凸輪C段曲線數(shù)據(jù),如表3所示。一般來說,使用的已測數(shù)據(jù)點(diǎn)越多,可獲得的信息量越大,對未知點(diǎn)的估計越精確。在牛頓插值算法中,使用已測數(shù)據(jù)點(diǎn)越多,會導(dǎo)致插值多項(xiàng)式的次數(shù)過高,出現(xiàn)龍格現(xiàn)象,曲線也會有較多折點(diǎn)。而凸輪的工作多為翻轉(zhuǎn),需要其工作廓線有很好的圓滑性。由于距離插值點(diǎn)越近的數(shù)據(jù)對插值點(diǎn)數(shù)值的精度影響越大,本文使用xi=242,243,249,250這4個點(diǎn)的數(shù)據(jù),根據(jù)牛頓插值的定義做差商表,如圖表4所示。
由差商表可知,二階差商的值已接近常數(shù),故牛頓插值多項(xiàng)式近似為二階即可滿足精度要求。為保證其圓滑性,本文采用三次牛頓插值多項(xiàng)式來求B段xi=244,245...248的修正值。
3 算法實(shí)現(xiàn)及結(jié)果分析
3.1 Matlab程序代碼
function f=Newton(x,y,P)
syms t;
n=length(x); m=length(y);
if m~=n
error('樣本數(shù)據(jù)中x與y的對應(yīng)個數(shù)不匹配');
return
end
A=zeros(n); A(:,1)=y;
for j=2:n
for i=1:(n-j+1)
A(i,j)=(A(i+1,j-1)-A(i,j-1))/(x(i+j-1)-x(i));
end
end
A
f=A(1,1);
for j=2:n
T=1;
for i=1:j-1
T=T*(t-x(i));
end
f=f+A(1,j)*T;
end
f=vpa(f,6);
f=simplify(f)
f=subs(f,'t',P)
plot(x,y,'*',P,f);
保存為Newton.m文件。
3.2 計算結(jié)果
3.3 結(jié)果分析
觀察上述插值圖像,直觀上可以滿足凸輪工作廓線的圓滑度。具體的數(shù)值精度,可以通過量化計算得到。在上述程序中,對x0=241,244,245,246,247,248,251的值均作了插值處理。其中x0=244,245,246,247,248 對應(yīng)于所要求的進(jìn)行修正處理的B段曲線的數(shù)值點(diǎn);而計算x0=241,251的值是為了與已知的數(shù)據(jù)點(diǎn)對比,從而檢驗(yàn)牛頓插值計算的精度??梢钥闯觯鄬φ`差都控制在5%以內(nèi),屬于較好的插值結(jié)果。又由于用來檢驗(yàn)精度的兩個點(diǎn)均為插值數(shù)據(jù)的外點(diǎn),誤差比內(nèi)點(diǎn)大得多,故在B段曲線上的點(diǎn)的數(shù)據(jù)精度應(yīng)該更高,插值效果更好。
由上述分析可知,B段曲線上插值點(diǎn)的數(shù)據(jù)比較精確,結(jié)果見表6。
4 結(jié)束語
用牛頓插值法對凸輪輪廓進(jìn)行修正設(shè)計是一種簡單、實(shí)用的方法。其優(yōu)點(diǎn)為:這種方法借助凸輪上一些離散的點(diǎn)的數(shù)值就能對凸輪曲線進(jìn)行修正設(shè)計,無需確切知道輪廓線的具體函數(shù)表達(dá)式及其修正曲線函數(shù),大大節(jié)省了計算量;此外掌握的數(shù)據(jù)越多,進(jìn)行插值運(yùn)算時可獲得的信息量越大,所得結(jié)果的誤差也就越小。
參考文獻(xiàn):
[1]賀煒,曹巨江,楊芙蓮,等.我國凸輪機(jī)構(gòu)研究的回顧與展望[J].機(jī)械工程學(xué)報,2005,4(6):1-6.
[2]邵世權(quán),尚久浩,曹西京.樣條函數(shù)在凸輪曲線設(shè)計中的應(yīng)用[J].機(jī)械科學(xué)與技術(shù),2003:135-136.
[3]李慶揚(yáng),王能超,易大義.數(shù)值分析[M].華中科技大學(xué)出版社,2011.