班濤++鄧利華



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