【正文】
ne 76 f:/_ d = mpower(Rq,)。i_gaoshilvbo_i6()。 line 69 f:/ //Rsk line 71 f:/_ mysum = 。 line 65 f:/_ mysum = mysum+mpower(x(),)。 int i_gaoshilvbo_i5。 line 59 f:/ } line 60 f:/_ g = mysum/。 for (i_gaoshilvbo_i4=0。 line 53 f:/ } line 54 f:/_ Ra = mysum/。 for (i_gaoshilvbo_i3=0。 line 46 f:/ //Rz line 47 f:/_ Rt = RRp+RRz。 line 42 f:/ //Rp line 43 f:/_ p = min(xx)。 line 39 f:/_ p = max(xx)。 line 31 f:/_ Rv = cp。 line 26 f:/_ Rp = pc。 line 21 f:/ //1個取樣長度 line 22 f:/_ ll = y(colon(,))。j_gaoshilvbo_i2++) { forelem(j_,j_gaoshilvbo_v2,j_gaoshilvbo_i2)。 line 12 f:/ } line 13 f:/_ j_gaoshilvbo_v2 = colon(,)。 for (j_gaoshilvbo_i1=0。i_gaoshilvbo_i0()。 line 8 f:/_ y() = 。 line 4 f:/_ z = x(colon(,))。 line 1 f:/ call_stack_begin。 dMm(Rsk)。 dMm(g)。 dMm(mysum)。 dMm(yy)。 dMm(Rp)。 dMm(ll)。 dMm(j_)。 dMm(r)。 dMm(ff)。 call_stack_end。 line 15 f:/ } line 16 f:/_ ff = y。 for (j_test1_i2=0。j_test1_i1++) { forelem(j_,j_test1_v1,j_test1_i1)。 line 10 f:/_ j_test1_v1 = colon(,m)。 int i_test1_i0。 line 6 f:/_ m = 。 line 2 f:/_ x = load(TM(F:\\Matlab\\work\\),Mc())。 dMm(j_test1_v1)。 dMm(y)。 dMm(z)。所以在此也要向這位樂于助人的學(xué)長表示感謝。在這里要感謝張浩老師對我的無私幫助。作為聯(lián)合編譯的運(yùn)用者,本人認(rèn)為這種方式具有實際的可行性,也將會有一些專業(yè)的書籍更具體的介紹各種接口方式的運(yùn)用。這一設(shè)計的創(chuàng)新之處就在于運(yùn)用Mat與 Visual C++聯(lián)合編譯,比較使用VC的單獨(dú)編程這種方法在過程上較為簡化,Mat作為Matlab的編譯工具,這個工具可以將用Matlab寫的m文件翻譯成C++文件,或者是可執(zhí)行文件(exe)或庫文件(dll)。在第三章中主要介紹了Matlab的優(yōu)勢,相對于其他計算工具,它的程序語言更為簡單,在使用它實現(xiàn)算法的基礎(chǔ)上可以驗證編程思想,也可以使用Mat來對其進(jìn)行編譯,將其轉(zhuǎn)換為可以在VC中運(yùn)行的C++語言。 while((str)) { pListAddString(str)。 (d:\,CFile::modeRead,0)。 fclose(fid)。)。% %\n39。fprintf(fid, 39。)。% %\n39。 fprintf(fid, 39。)。% %\n39。 fprintf(fid, 39。)。% %\n39。%fprintf(fid, 39。39。(7)采用數(shù)據(jù)處理方法統(tǒng)計測試數(shù)據(jù)統(tǒng)計測試數(shù)據(jù)是實現(xiàn)數(shù)據(jù)處理方法,雖不同測試的數(shù)據(jù)處理方法不同,但只需少量的工作就可以完成所對應(yīng)的數(shù)據(jù)處理,而且在處理過程中能夠根據(jù)數(shù)據(jù)結(jié)果來即時的修改數(shù)據(jù)處理方法。其功能主要包括:存儲測試數(shù)據(jù)到Matlab環(huán)境中、合并我們所需一起處理的多次測試數(shù)據(jù)、采用數(shù)據(jù)處理方法統(tǒng)計測試數(shù)據(jù)得到的結(jié)果。引入ADO庫定義文件,用import語句來引用支持ADO的組件類型庫(*.tlb),其中類型庫可以作為可執(zhí)行程序(DLL、EXE等)的一部分被定位在其自身程序中的附屬資源里,如:,只需要直接用import引用它即可。ADO數(shù)據(jù)庫[28]開發(fā)的基本流程如下:(1)初始化COM庫,引入ADO庫定義文件。此系統(tǒng)在某次數(shù)據(jù)處理系統(tǒng)中得到廣泛的應(yīng)用。 Rku=c/d%Rku6 Mat與Visual C++聯(lián)合編譯技術(shù)Visual C++[27]是目前綜合性最高、最強(qiáng)大的軟件開發(fā)工具之一。%Rsk mysum=0。 for i=1601:3200 mysum=mysum+x(1601)^3。 for i=1601:3200 mysum=mysum+x(1601)^2。%Rt %幅度參數(shù)(縱坐標(biāo)平均值) mysum=0。b=find(xx==p)。b=find(xx==p)。%RvRz=Rp+Rv。%Rpp=min(l)。p=max(l)。注:在取樣長度始端或末端的評定輪廓的向外部分和向內(nèi)部分看做是一個輪廓峰或一個輪廓谷,當(dāng)在若干個連續(xù)的取樣長度上確定若干個輪廓單元時,在每一個取樣長度的始端或末端評定的峰和谷僅在每個取樣長度的始端計入一次峰谷值[26]。評定長度:用于判別被評定輪廓的X軸方向上的長度。注:粗糙度輪廓是評定粗糙度輪廓參數(shù)大基礎(chǔ)。表面輪廓:平面與實際表面相交所得的輪廓。從粗糙度輪廓上計算所得的參數(shù)R。將C:\Mat45\ CExamleDlg::OnButton1()下,(如圖45)。啟動MIDEVA,F(xiàn)ileNew,:x=1::10; y=sin(x); plot(x,y);將文件保存(如圖44)。 圖42 MIDEVA啟動界面Mat命令輸入方法與Matlab相同。其他選項采用默認(rèn)設(shè)置。詳細(xì)介紹如何利用Mat進(jìn)行VC與Matlab的聯(lián)合編程。其運(yùn)行結(jié)果符合理論要求,證實了程序設(shè)計思路正確。,j,y,39。 end ff=y。 r(8,11200)=0。% ff(1:11200)=x(1:11200)。以下所需運(yùn)用差分方程中 (222) (223) x(m)為輸入變量即表面測量所得的數(shù)據(jù),r(m)為中間變量,y(m)為輸出變量即所求濾波中線的數(shù)據(jù)Matlab程序的流程圖:代入222式 代入223式濾波中線8次循環(huán)表面輪廓數(shù)據(jù) 圖31 Matlab高斯濾波流程圖所編寫的程序如下:clear。另外,Matlab網(wǎng)頁服務(wù)程序還容許在Web應(yīng)用中使用自己的Matlab數(shù)學(xué)和圖形程序。(5)應(yīng)用廣泛的模塊集合工具箱Matlab對許多專門的領(lǐng)域都開發(fā)了功能強(qiáng)大的模塊集和工具箱。(4)出色的圖形處理功能Matlab自產(chǎn)生之日起就具有方便的數(shù)據(jù)可視化功能,可以將向量和矩陣用圖形表現(xiàn)出來,并且可以對圖形進(jìn)行標(biāo)注和打印。其擁有600多個工程中要用到的數(shù)學(xué)運(yùn)算函數(shù),可以方便的實現(xiàn)用戶所需的各種計算功能。新版本的Matlab語言是基于最為流行的C++語言基礎(chǔ)上的,因此語法特征與C++語言極為相似,而且更加簡單,更加符合科技人員對數(shù)學(xué)表達(dá)式的書寫格式。而且新版本的Matlab提供了完整的聯(lián)機(jī)查詢、幫助系統(tǒng),極大的方便了用戶的使用。Matlab產(chǎn)品族可以用來進(jìn)行以下各種工作:● 數(shù)值分析● 數(shù)值和符號計算● 工程與科學(xué)繪圖● 控制系統(tǒng)的設(shè)計與仿真● 數(shù)字圖像處理技術(shù)● 數(shù)字信號處理技術(shù)● 通訊系統(tǒng)設(shè)計與仿真● 財務(wù)與金融工程(1)友好的工作平臺和編程環(huán)境Matlab由一系列工具組成。M文件運(yùn)行方式在Matlab窗口中單擊File菜單,然后依次選擇New→MFile,打開M文件輸入運(yùn)行界面。3高斯算法的Matlab實現(xiàn)Matlab提供了兩種運(yùn)行方式,即命令行方式和M文件方式。這遠(yuǎn)小于國際標(biāo)準(zhǔn)推薦的簡化方法的傳輸偏差。對一實際工件表面進(jìn)行測量,選取的截止波長=,截止波長內(nèi)的采樣點(diǎn)數(shù)為1600,在7長度上,總共測得11200個數(shù)據(jù),采用上述算法取中線[23]。實驗表明用8級零相移濾波器進(jìn)行濾波,其最大傳輸偏差大約為2%,這遠(yuǎn)高于ISO11562[21]標(biāo)準(zhǔn)推薦的簡化方法的5%。如此的正反兩向濾波的零相移濾波器,其對應(yīng)的差分方程為: (222) (223)式中Nt表示評定長度上對表面輪廓的總的采樣點(diǎn)數(shù),m=1,2,…,Nt。幅頻特性如下式所示: (217)這樣的零相移濾波器經(jīng)過8級級聯(lián),能以很高的精度逼近高斯濾波器的幅度特性[20]。它由8個基本環(huán)節(jié)級聯(lián)而成。總之,頻域自卷積或時域自相乘的最終結(jié)果都趨于高斯函數(shù)的形式。I SO 11562標(biāo)準(zhǔn)規(guī)定高斯濾波器的權(quán)函數(shù)為: (21)其中t為空間域變量,是截止波長。第6章淺析MATLAB與Visual C++聯(lián)合編譯。第2章對表面粗糙度測量中的高斯濾波快速算法理論作了具體介紹,主要是對高斯算法的理解以用于計算粗糙度的濾波中線。還有允許用戶在調(diào)試期間重新編譯被修改的代碼,而不必重新啟動正在調(diào)試的程序。Microsoft Visual C++是Microsoft公司推出的開發(fā)Win32環(huán)境程序,面向?qū)ο蟮目梢暬删幊滔到y(tǒng)。在本設(shè)計中運(yùn)用MATCOM對MATLAB所編的計算程序進(jìn)行編譯。MATCOM是基于Matrix的一個編譯器,Visual MATCOM可以看成是一個集成到VC環(huán)境中的MATCOM。MATLAB可以進(jìn)行矩陣運(yùn)算、繪制函數(shù)和數(shù)據(jù)、實現(xiàn)算法、創(chuàng)建用戶界面、連接其他編程語言的程序等,主要應(yīng)用于工程計算、控制設(shè)計、信號處理與通訊、圖像處理、信號檢測、金融建模設(shè)計與分析等領(lǐng)域。 MATLABMATLAB是由美國mathworks公司發(fā)布的主要面對科學(xué)計算、可視化以及交互式程序設(shè)計的高科技計算環(huán)境。遞歸計算方法計算量小,因而速度快,適當(dāng)增加濾波器節(jié)數(shù),在不增加很多計算量的情況下,可以達(dá)到很高的精度。由高通濾波器得到三維粗糙度數(shù)據(jù),由低通濾波器得到的是波度數(shù)據(jù),并可通過改變?yōu)V波器截止頻率將形貌數(shù)據(jù)中感興趣的部分取出,低通濾波器中的低頻信號代表形貌測量中的宏觀形狀可以用機(jī)械方法測得[9]。由于表面三維形貌的測量與評定需要較昂貴的設(shè)備且效率較低,因此在生產(chǎn)上仍以二維測量與評定為主[7]。目前在生產(chǎn)領(lǐng)域大多采用二維測量方法,即測取一段輪廓曲線用于評定表面粗糙度[5]。在實際測量中,截止波長常需根據(jù)不同的表面進(jìn)行調(diào)整,應(yīng)用數(shù)字濾波,只要簡單地改變其程序入口參數(shù)即可。(2)成本低。高斯濾、樣條濾波器作為主要使用的數(shù)字濾波器。濾波器主要分為RC濾波器,樣條濾波器,高斯濾波器。加工后的表面輪廓通常是包含有表面粗糙度、表面波度和幾何形狀誤差的復(fù)合輪廓[2],所以在研究表征表面粗糙度的表面輪廓參數(shù)時,把這些附加的成分分離開很必要。表面形貌不僅與加工過程中的加工方法及工藝參數(shù)相關(guān),而且其紋理特征在很大程度上決定了零部件的使用性能。關(guān)鍵詞:濾波器;粗糙度;高斯快速算法;濾波中線AbstractThe Surface measurement technology, surface evaluation theory and method is one of the indispensable of science and technology of the branch. And the simulation of wave degrees pared, digital filters filter has more outstanding qualities.This design using a recursive filtering algorithm, this algorithm include two difference equation, operation simple, more easy to realize the gaussian filtering. Use Matlab recursive filtering algorithm, Matlab relative to other c