freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

數(shù)控機(jī)床機(jī)電匹配性能測(cè)試平臺(tái)軟件設(shè)計(jì)畢業(yè)設(shè)計(jì)說明書-資料下載頁

2025-03-25 03:04本頁面
  

【正文】 的寬度要不超過1才能夠保證虛線線型有效;第三個(gè)參數(shù)指定筆的顏色,這個(gè)參數(shù)是COLORREF類型,利用RGB這個(gè)宏可以建立這個(gè)類型的值。RGB宏的聲明如下:COLORREF RGB( BYTE bRed, BYTE bGreen, BYTE bBlue color)。可以看出,RGB宏有三個(gè)參數(shù),分別代表紅、綠、藍(lán)三種顏色的值。這三個(gè)參數(shù)都是BYTE類型,取值范圍為:0~255, RGB(255,255,255)代表白色,RGB(0,0,0)代表黑色,當(dāng)三個(gè)參數(shù)分別設(shè)置為0~255之間的任意值時(shí),可以得到各種不同的顏色。對(duì)于前面的坐標(biāo)系的例子,若將第一行指令修改為如下代碼:CPen pen(PS_SOLID,1,RGB(0,0,255))。 //創(chuàng)建新畫筆 CClientDC dc(this)。 //定義一個(gè)CClientDC對(duì)象CPen *pOldPen=(amp。pen)。//添加新畫筆備用然后,在最后一行代碼后面添加如下代碼:(pOldPen)。 //恢復(fù)默認(rèn)畫筆從修改后的例子可以看出,首先創(chuàng)建了一個(gè)實(shí)線畫筆,其寬度為1,顏色為藍(lán)色。接著利用SelectObject函數(shù)將新畫筆對(duì)象選入設(shè)備描述表,再利用畫線函數(shù)可以發(fā)現(xiàn)繪制出的線發(fā)生了變化。最后,再次調(diào)用SelectObject函數(shù)恢復(fù)設(shè)備描述表中的畫筆。最后介紹一下,CClientDC對(duì)象中的一個(gè)SetPixel函數(shù),該函數(shù)聲明如下:Status SetPixel(INT x, INT y, COLORREF crColor)。其中,x為橫坐標(biāo),y為縱坐標(biāo),crColor為顏色設(shè)置。打開文件開始讀取文件數(shù)據(jù)最小二乘法擬合讀取完畢關(guān)閉文件是  否 計(jì)算擬合直線計(jì)算擬合直線關(guān)閉文件顯示擬合直線繪制擬合直線結(jié)束在數(shù)據(jù)坐標(biāo)點(diǎn)繪制時(shí),該函數(shù)可以完成實(shí)現(xiàn),具體代碼如下:FILE *fp1。//定義文件指針 fp1=fopen(C:\\, rb )。 //二進(jìn)制方式讀文件while(!feof(fp1)) // 判斷是否讀完數(shù)據(jù)結(jié)束 { fread(amp。x,sizeof(long),1,fp1)。 //讀橫坐標(biāo) fread(amp。y,sizeof(long),1,fp1)。 //讀縱坐標(biāo)(20+x,700y,RGB(255,0,0))。//以紅色畫筆繪制坐標(biāo)點(diǎn) }fclose(fp1)。 //關(guān)閉文件在上面代碼中,每行代碼的作用見標(biāo)注。 最小二乘法擬合直線。 最小二乘法擬合直線的程序流程圖首先,介紹一下最小二乘法的擬合基本原則以及擬合直線方程的推導(dǎo)過程,具體分析如下:實(shí)際上,利用最小二乘法原理求取回歸參數(shù)k、b時(shí),應(yīng)使各數(shù)據(jù)點(diǎn)與擬合直線的偏離平方和為最小,假設(shè)有n對(duì)數(shù)據(jù)點(diǎn),在點(diǎn)上的y的估計(jì)量為: ()誤差方程組為: ()應(yīng)該使得最小,于是求取的參數(shù)k、b應(yīng)該滿足: \ ()式()稱為正規(guī)方程組,利用代數(shù)方法求解,可得: () ()式中, , () ()綜上所述,可以得到擬合后的直線方程為: ()另外,相關(guān)系數(shù)ρ是描述兩個(gè)變量線性關(guān)系密切程度的數(shù)量指標(biāo),自然其絕對(duì)值越大,即接近于1時(shí),x、y的線性關(guān)系就越密切;當(dāng)ρ接近0時(shí),兩者的線性變化規(guī)律就不明顯。因此,本設(shè)計(jì)引入了相關(guān)系數(shù)ρ來判斷直線擬合是否成功,也可以觀察到數(shù)據(jù)點(diǎn)的線性關(guān)系。相關(guān)系數(shù)的公式如下: ()式()中,因分母的根式值恒為正值,故相關(guān)系數(shù)的符號(hào)取決于離差積之和的符號(hào),即與參數(shù)k的符號(hào)一致的。一般而言,只要相關(guān)系數(shù)ρ,那么x、y線性關(guān)系就非常密切了,線性關(guān)系很明顯。知道n2為自由度,又由于殘差平方和是反映了x對(duì)y線性影響之外的其他隨機(jī)影響的總和,故定義下列估計(jì)量s為: ()s也可以認(rèn)為是剩余標(biāo)準(zhǔn)差,它的意義與標(biāo)準(zhǔn)差相識(shí),用它可以衡量所有隨機(jī)因素對(duì)y的大小,s愈大,擬合精度越高。通過對(duì)最小二乘法的推導(dǎo)和分析,利用VC編寫實(shí)現(xiàn)擬合的核心代碼如下://最小二乘法擬合程序 averx=sumx/len_data。 //求x平均avery=sumy/len_data。 //求y平均fp1=fopen(C:\\,rb)。while(!feof(fp1)) { fread(amp。x,sizeof(long),1,fp1)。 fread(amp。y,sizeof(long),1,fp1)。Lxx+=(xaverx)*(xaverx)。 Lxy+=(xaverx)*(yavery)。Lyy+=(yavery)*(yavery)。}fclose(fp1)。k=Lxy/Lxx。 //求斜率kb=averyk*averx。 //求截距b在上面代碼中sumx和sumy分別為所有X、Y坐標(biāo)值的累加和,通過上述代碼,可以獲得直線方程:Y=k*X+b,于是筆者可以利用繪圖CClientDC類指令進(jìn)行繪圖,這一操作類似于理論直線的繪制。 繪制理論直線 繪制理論直線的程序流程圖設(shè)置理論直線開始坐標(biāo)點(diǎn)計(jì)算繪制理論直線結(jié)束理論直線的繪制相對(duì)簡單,只要知道直線方程Y=k*X+b,然后就是對(duì)當(dāng)X=0時(shí)取一個(gè)點(diǎn),即A點(diǎn)(0,b),當(dāng)y=700時(shí)取一個(gè)點(diǎn),即B點(diǎn)(b/k,700)。正如前面所述,不管是VC中窗口還是對(duì)話框,設(shè)備原點(diǎn)(0,0)都是在左上角,這與我們實(shí)際應(yīng)用不一樣,因此需要對(duì)設(shè)備原點(diǎn)(0,0)進(jìn)行改變,因此,原點(diǎn)改為(20,700)后才能使得繪出的圖像具有很強(qiáng)的工程意義。因此,改變后點(diǎn)A、B的坐標(biāo)分別為:(20,700b)、(20+(700b)/k,0)。然后,利用前面介紹的CClientDC類繪圖中LineTo函數(shù)即可完成理論直線的繪制,具體核心代碼如下所示: (20,700m_b)。 //移動(dòng)到A點(diǎn)((700m_b)/m_k+20,0)。//連接A、B兩點(diǎn)(750,30,ETO_OPAQUE,CRect(750,30,750,40),_T(理論直線:),NULL)。 //繪制圖例(820,40)。(950,40)。從以上代碼可以看出,代碼中的m_k、m_b是設(shè)置的直線方程的斜率和截距。繪制圖指令在前面已經(jīng)介紹過,每行代碼的作用見右邊標(biāo)注。擬合直線的繪制代碼與理論直線的繪制完全相識(shí),函數(shù)ExtTextOut可以是用來輸出 “理論直線:”和“擬合直線:”的文本信息,然后利用隨后的兩行代碼繪制出一條小線段,這樣可以讓讀者清晰地認(rèn)識(shí)那條線代表什么含義,當(dāng)然擬合直線和理論直線是采用不同的畫筆。: 理論直線和擬合直線的圖例。 數(shù)據(jù)瀏覽及誤差顯示數(shù)據(jù)瀏覽及誤差顯示編程過程中,由于需要計(jì)算方差、標(biāo)準(zhǔn)差等相關(guān)誤差,但是他們是每個(gè)點(diǎn)都要進(jìn)行計(jì)算,最后會(huì)有很多值,只有和數(shù)據(jù)放在一起才知道他們的所屬關(guān)系,因此,筆者就將這兩項(xiàng)功能設(shè)計(jì)在相同的對(duì)話框中。由于篇幅有限,筆者只介紹一下數(shù)據(jù)加入列表框部分程序的實(shí)現(xiàn),其核心代碼如下:char ch[400]。//定義緩存數(shù)組sprintf(ch,第%6d點(diǎn):X:%6d,Y:%6d, //定義輸出格式△D=%6d,Dy=%,dy=%,lendata,x,y,Delta_D,Dy,dy)。 (ch)。 //加載進(jìn)入列表框從上面代碼可以看出,第一行代碼是用來定義一個(gè)儲(chǔ)存每次加載內(nèi)容的數(shù)組;第二行時(shí)設(shè)置數(shù)組內(nèi)容的格式,其中,%6d表示6位十進(jìn)制輸出,%、4為小數(shù)的浮點(diǎn)型輸出;最后一行代碼中,利用AddString函數(shù)將數(shù)組內(nèi)容加載進(jìn)入列表框中,這樣將該核心代碼放在數(shù)據(jù)讀的循環(huán)里面就能夠?qū)⒚看巫x出來的數(shù)據(jù)以及誤差數(shù)據(jù)顯示在列表框中。 在數(shù)據(jù)加載完成后,關(guān)閉文件的后面添加如下代碼:sprintf(ch,%6s %6s %6s %6s %10s %10s,點(diǎn)序號(hào),X坐標(biāo),Y坐標(biāo),△D,方差,標(biāo)準(zhǔn)差)。//定義一個(gè)輸出(0,ch)。//插入ch內(nèi)容到列表框中第0行通過以上代碼可以給列表框輸出一個(gè)表頭,下面對(duì)應(yīng)的就是表頭所代表的數(shù)據(jù)。運(yùn)行后,:讀取數(shù)據(jù)點(diǎn)打開文件計(jì)算誤差、分析誤差關(guān)閉文件開始結(jié)束列表框顯示繪制誤差圖形讀取完畢文件 數(shù)據(jù)瀏覽及誤差分析流程圖 數(shù)據(jù)及誤差顯示。打開文件開始讀取文件數(shù)據(jù)數(shù)據(jù)分析處理讀取完畢關(guān)閉文件是  否 計(jì)算擬合直線獲得分析結(jié)果關(guān)閉文件顯示分析結(jié)果結(jié)束結(jié)果分析部分編程過程中,筆者結(jié)合數(shù)控理論知識(shí)和VC++,采用了一種較為合理的方式進(jìn)行分析。首先,結(jié)果分析中包含有結(jié)論和建議兩大部分。針對(duì)進(jìn)給增益不同的3種匹配情況,需要給出。也就是說,針對(duì)X軸增益相對(duì)Y軸增益匹配、偏大和偏小時(shí),需要給出相應(yīng)的結(jié)論和建議。 結(jié)果分析程序流程圖 結(jié)果分析流程圖結(jié)合VC++,為了使得界面友好實(shí)用,筆者采用靜態(tài)文本作為給出結(jié)論和建議的介質(zhì)。之所以這么設(shè)計(jì),是因?yàn)閂C++中的靜態(tài)文本可以根據(jù)不同條件改變其文本內(nèi)容,這和設(shè)計(jì)要求不謀而合。VC++中的GetDlgItem(IDC_STATIC)SetWindowText(Text)。指令可以將ID號(hào)為IDC_STATIC的顯示內(nèi)容修改為:Text。于是,我們可以得到實(shí)現(xiàn)結(jié)果分析顯示的核心程序代碼為: // 當(dāng)X軸增益相對(duì)Y軸增益匹配時(shí)GetDlgItem(IDC_STATIC_JG)SetWindowText(結(jié)論內(nèi)容)。GetDlgItem(IDC_STATIC_JY)SetWindowText(建議內(nèi)容)。只要將以上代碼放在當(dāng)X軸增益相對(duì)Y軸增益匹配時(shí)的條件滿足之后,就可以將結(jié)論和建議的內(nèi)容顯示出來?!韭暶鳌坑捎诮Y(jié)論和建議內(nèi)容較多,為了使得程序代碼清晰,增加可讀性,此處未給出具體結(jié)論及建議內(nèi)容。IDC_STATIC_JG和IDC_STATIC_JY分別是結(jié)論和建議所對(duì)應(yīng)的兩個(gè)靜態(tài)文本的ID號(hào)。 軟件使用幫助軟件使用幫助部分設(shè)計(jì)相對(duì)比較簡單,為了使得界面友好實(shí)用,最后采用一個(gè)對(duì)話框,利用靜態(tài)文本顯示出來比較好。這樣只要把軟件使用以文本方式輸入到靜態(tài)文本中,調(diào)用該對(duì)話框就可以看見軟件使用說明了。下面只介紹一下如何創(chuàng)建該對(duì)話框。 軟件使用幫助程序流程圖 結(jié)果分析流程圖點(diǎn)擊幫助按鈕開始打開幫助對(duì)話框結(jié)束創(chuàng)建對(duì)話框有兩種方式,一種是模態(tài)對(duì)話框,另外一種就是非模態(tài)對(duì)話框。首先,介紹一下模態(tài)對(duì)話框的調(diào)用。創(chuàng)建模態(tài)對(duì)話框需要調(diào)用CDialog類的成員函數(shù):DoModal,該函數(shù)的功能是創(chuàng)建并顯示一個(gè)模態(tài)對(duì)話框,其返回值將作為CDialog類的另外一個(gè)成員函數(shù):EndDialog的參數(shù),后者的功能就是關(guān)閉模態(tài)對(duì)話框。由于在該部分中定義了一個(gè)CResDlg類,于是,實(shí)現(xiàn)創(chuàng)建模態(tài)對(duì)話框的代碼如下:CResDlg Resdlg。 //定義一個(gè)CResDlg類對(duì)象()。 //創(chuàng)建模態(tài)對(duì)話框如果要?jiǎng)?chuàng)建非模態(tài)對(duì)話框,則需要利用CDialog類的Create成員函數(shù),然后調(diào)用ShowWindow函數(shù)將這個(gè)對(duì)話框顯示出來。于是可得,實(shí)現(xiàn)創(chuàng)建非模態(tài)對(duì)話框的代碼如下:CResDlg *pDlg=new CResDlg。 //定義一個(gè)CResDlg類指針pDlgCreate(IDD_RESULT,this)。 //創(chuàng)建非模態(tài)對(duì)話框pDlgShowWindow(SW_SHOW)。 //顯示非模態(tài)對(duì)話框比較兩次運(yùn)行的結(jié)果發(fā)現(xiàn),只要在模態(tài)對(duì)話框關(guān)閉后,才能返回進(jìn)行其他操作,然而,在非模態(tài)對(duì)話框中,無論非模態(tài)對(duì)話框關(guān)閉與否,都不影響其它操作。以上針對(duì)對(duì)話框的創(chuàng)建,在其他功能模塊的設(shè)計(jì)中也有所涉及,筆者只在這里做了介紹。通過以上設(shè)計(jì),基本完成了軟件的各個(gè)模塊功能,根據(jù)軟件設(shè)計(jì)原理,需要對(duì)軟件進(jìn)行測(cè)試,測(cè)試通過才證明軟件開發(fā)成功,下面進(jìn)行軟件測(cè)試。 4 軟件測(cè)試 軟件功能分析數(shù)控機(jī)床參數(shù)匹配測(cè)試平臺(tái)主要功能如下:(1) 采集8253芯片數(shù)據(jù)并寫入文件;(2) 讀取文件內(nèi)容并繪制數(shù)據(jù)坐標(biāo)點(diǎn);(3) 最小二乘法擬合直線;(4) 設(shè)定并繪制理論直線;(5) 數(shù)據(jù)瀏覽、誤差顯示;(6) 結(jié)果分析;(7) 軟件使用幫助。本平臺(tái)可以通過計(jì)算機(jī)ISA接口將8253計(jì)數(shù)芯片上的數(shù)據(jù)采集進(jìn)入平臺(tái)之中,然后經(jīng)過一定的數(shù)學(xué)處理將其轉(zhuǎn)換為坐標(biāo)點(diǎn)數(shù)據(jù),并寫入PC機(jī)硬盤中備用;不僅可以將PC機(jī)中的數(shù)據(jù)文件讀出,并將其繪制到坐標(biāo)系中,而且可以采用最小二乘法對(duì)其進(jìn)行擬合,將擬合的直線與坐標(biāo)點(diǎn)繪制到相同坐標(biāo)系中,并顯示擬合直線方程,同時(shí)還可以對(duì)最小二乘法數(shù)據(jù)擬合以及系統(tǒng)位置誤差進(jìn)行分析;平臺(tái)還提供了設(shè)置理論直線方程,并將其與擬合直線和坐標(biāo)點(diǎn)繪制到同一坐標(biāo)系的功能;通過對(duì)所繪制的圖形的進(jìn)行分析,平臺(tái)會(huì)向用戶給出相關(guān)結(jié)論以及解決存在問題的建議。 測(cè)試讀取數(shù)據(jù)信息并繪圖讀取經(jīng)過8253芯片采集而來并儲(chǔ)存在硬盤上的文件數(shù)據(jù)內(nèi)容,通過選用MFC提供的CClient
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1