已閱讀5頁,還剩6頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
直線擬合一、功能本題目重要是用于將實驗中得到的具有線性特征的一組數(shù)據(jù)通過最小二乘法擬合成直線,求出其直線方程和繪制出該直線的圖形。二、詳細(xì)設(shè)計本題目的程序設(shè)計由三個窗體組成。在Form1中,有1個框架控件、1個標(biāo)簽控件、2個命令按鈕和1個由6個單選按鈕組成的控件數(shù)組。單選按鈕控件數(shù)組用來選擇要輸入的數(shù)據(jù)組數(shù),當(dāng)選擇好后,單擊“確定”按鈕,就可以進(jìn)入下一個窗體。單擊“取消”按鈕則退出程序Form1的代碼見附件。在Form2中有2個命令按鈕、20個文本框(每10個組成一個控件數(shù)組)、12個標(biāo)簽控件和許多直線組成。在文本框中輸入實驗數(shù)據(jù)后,點擊“確定”按鈕,若數(shù)據(jù)沒有全部輸入,則出現(xiàn)消息框,提醒沒有完全輸入。若已經(jīng)完全輸入,則顯示Form3,隱藏Form2。與此同時,對實驗數(shù)據(jù)計算,得出擬合直線的截距和斜率,并在Form3的標(biāo)簽控件1中體現(xiàn);根據(jù)所得的斜率和截距得到擬合直線方程,并在Form3的標(biāo)簽2中體現(xiàn);還可以在Form3中繪出擬合直線和每個實驗點(用綠色),根據(jù)實驗數(shù)據(jù)調(diào)整坐標(biāo)系統(tǒng),畫出擬合直線。Form2的代碼見附件。三、調(diào)試一開始,我是在三樓上機,用的是VB6.0,遇到的第一個問題是全局變量的設(shè)置問題。我不知道是我一個暑假把學(xué)的都忘了,最后終于在課本的幫助下成功做出來了。第二個問題是顯示擬合直線。一開始,我在Form3中畫了一個圖片框,運行時總顯示不了直線,后來索性將它刪掉,再次運行時終于能出現(xiàn)直線,可是直線的位置與設(shè)想相差太大了。連續(xù)嘗試了1個多星期后,終于明白了,原來我直接利用得到的直線方程的點的坐標(biāo)在窗體上畫直線是不對的,因為我所畫的坐標(biāo)軸的單位長度和窗體的單位長度不相等,之間需要一定的轉(zhuǎn)換。于是再次修改代碼,可還是沒有出現(xiàn)預(yù)想的情況。重新檢查后,沒有發(fā)現(xiàn)程序錯誤。我又嘗試輸入一組特殊數(shù)據(jù):(1,3)、(2,5)、(3,7)、(4,9)、(5,11),它們的擬合直線應(yīng)該是Y=2X+1,斜率是2,截距是1,可運行后的結(jié)果讓我大吃一驚,斜率是-0.2,截距是-0.1。我再次檢查了數(shù)據(jù)計算部分的代碼,沒有發(fā)現(xiàn)錯誤,請教了好幾位同學(xué)也沒有解決問題,如此又郁悶了一個星期。不知什么時候,心中有種感覺書上有錯誤。找來大學(xué)物理實驗課本,果不其然,在第三十七頁找到類似的公式,經(jīng)計算,終于發(fā)現(xiàn)課程設(shè)計課本上第211頁 “令 ”中的“+”號應(yīng)改為“-”。修改后,在調(diào)試過程中再也沒出現(xiàn)什么大的問題。四、輸入輸出數(shù)據(jù)當(dāng)選擇5組數(shù)據(jù)時,:(54,76)、(65,83)、(87,89)、(82,61)、(34,22);:(34,56)、(24,89)、(29,59)、(78,61)、(94,57);:(58,26)、(44,77)、(55,89)、(67,65)、(76,98)。運行結(jié)果:截距A=7.9171725,斜率B=0.9041657,直線方程為Y=0.9041657X+7.9171725,坐標(biāo)比例:1:截距A=74.72493,斜率B=-0.199323,直線方程為Y=74.7293X0.199323,坐標(biāo)比例:1:截距A=41.1017,斜率B=-0.4983051,直線方程為Y=41.1017X+0.4983051,坐標(biāo)比例:1當(dāng)選擇6組數(shù)據(jù)時,:(54,76)、(65,83)、(87,89)、(82,61)、(34,22)、(44,88);:(34,56)、(24,89)、(29,59)、(78,61)、(94,57)、(44,88);:(58,26)、(44,77)、(55,89)、(67,65)、(76,98)、(44,88)。運行結(jié)果:截距A=33.64924,斜率B=0.5931818,直線方程為Y=0.5931818X+33.64924,坐標(biāo)比例:1:截距A=80.64387,斜率B=-0.2735675,直線方程為Y=-0.2735675X8+0.64387,坐標(biāo)比例:1:截距A=69.0728,斜率B=8.381743E-02,直線方程為Y=8.381743E-02X+69.0728,坐標(biāo)比例:1五、課程設(shè)計總結(jié)經(jīng)過此次程序設(shè)計,使我對許多事情的看法有了改變。記得上學(xué)期學(xué)VB的時候,感覺VB很簡單,老師布置的作業(yè)也很快完成,多余的時間就在偷偷玩游戲。剛知道自己要做直線擬合這道題時,翻了一下書,感覺很簡單,相比選擇難題的同學(xué),我心中不免有些得意,心想:快速做完后,再做一個,說不定能得個優(yōu)。剛開始事情就有點不順,但也沒什么大問題,一直到寫完所有程序,開始運行的時候,才發(fā)覺最糟糕的事情出現(xiàn)了運行中沒有出現(xiàn)擬合直線,其他的問題都好辦,可最終顯示不出擬合直線就是失敗,眼看著交作業(yè)的日子越來越近,心中卻一點思緒都沒有,而此時我又在金工實習(xí),再加上二級考試的臨近,我急得像熱鍋上的螞蟻,不知怎么辦才好。此時,我才真正體會到編寫一個真正有用的程序是多么的困難,那是要花上許多的心血才得來的。事情終于有了轉(zhuǎn)機,在我棄用圖片框后終于發(fā)現(xiàn)要顯示滿足要求的直線首先要進(jìn)行坐標(biāo)轉(zhuǎn)換,窗體是以緹為單位,而平面直角坐標(biāo)系以“1”為單位,二者需要轉(zhuǎn)換。明白這一點之后,我終于能在窗體上顯示出直線了,然而,并非我所期望的直線。我于是假設(shè)直線斜率為2,截距為1,得到一組數(shù)據(jù),將它們輸入Form2的文本框中,結(jié)果發(fā)現(xiàn)得到的直線斜率和截距不是2和1,而是0.02和0.01左右小的數(shù)字,我暈倒。檢查一便代碼后發(fā)覺與書上提供的公式相吻合,我沒有錯,可程序的運行結(jié)果卻如此荒謬,難道注定我此次設(shè)計不合格,明年再來一次嗎?后來,我終于對書本產(chǎn)生懷疑,正是這一懷疑給一切帶來了生機,我找出大學(xué)物理實驗課本,找到相關(guān)內(nèi)容,終于發(fā)現(xiàn)程序設(shè)計課本錯了,一個減號被打印成加號。找到問題所在后,一切便盡在掌握之中。六、窗體圖示七附件Form1:Private Sub Command1_Click() 顯示第二個窗體Form1.HideForm2.ShowForm3.Hidezxnh = MsgBox(你必須完全輸入所選的項目! & Chr(10) & Chr(13) & _ 否則程序?qū)鲥e!, 48, 直線擬合)End SubPrivate Sub Command2_Click() 結(jié)束程序EndEnd Sub使第二個窗體的文本框按照第一個窗體給出的數(shù)據(jù)組數(shù)顯示Private Sub Option1_Click()Form2.Label6.Enabled = FalseForm2.Label7.Enabled = FalseForm2.Label8.Enabled = FalseForm2.Label9.Enabled = FalseForm2.Label10.Enabled = FalseFor n = 6 To 10 Form2.Text1(n).Enabled = False Form2.Text1(n).BackColor = &H8000000F Form2.Text2(n).Enabled = False Form2.Text2(n).BackColor = &H8000000FNextEnd SubPrivate Sub Option2_Click()Form2.Label6.Enabled = TrueForm2.Label7.Enabled = FalseForm2.Label8.Enabled = FalseForm2.Label9.Enabled = FalseForm2.Label10.Enabled = FalseForm2.Text1(6).Enabled = TrueForm2.Text1(6).BackColor = &HFFFFFFForm2.Text2(6).Enabled = TrueForm2.Text2(6).BackColor = &HFFFFFFFor n = 7 To 10 Form2.Text1(n).Enabled = False Form2.Text1(n).BackColor = &H8000000F Form2.Text2(n).Enabled = False Form2.Text2(n).BackColor = &H8000000FNextEnd SubPrivate Sub Option3_Click()Form2.Label6.Enabled = TrueForm2.Label7.Enabled = TrueForm2.Label8.Enabled = FalseForm2.Label9.Enabled = FalseForm2.Label10.Enabled = FalseFor n = 6 To 7 Form2.Text1(n).Enabled = True Form2.Text1(n).BackColor = &HFFFFFF Form2.Text2(n).Enabled = True Form2.Text2(n).BackColor = &HFFFFFFNext For n = 8 To 10 Form2.Text1(n).Enabled = False Form2.Text1(n).BackColor = &H8000000F Form2.Text2(n).Enabled = False Form2.Text2(n).BackColor = &H8000000FNextEnd SubPrivate Sub Option4_Click()Form2.Label6.Enabled = TrueForm2.Label7.Enabled = TrueForm2.Label8.Enabled = TrueForm2.Label9.Enabled = FalseForm2.Label10.Enabled = FalseFor n = 6 To 8 Form2.Text1(n).Enabled = True Form2.Text1(n).BackColor = &HFFFFFF Form2.Text2(n).Enabled = True Form2.Text2(n).BackColor = &HFFFFFFNextFor n = 9 To 10 Form2.Text1(n).Enabled = False Form2.Text1(n).BackColor = &H8000000F Form2.Text2(n).Enabled = False Form2.Text2(n).BackColor = &H8000000FNextEnd SubPrivate Sub Option5_Click()Form2.Label6.Enabled = TrueForm2.Label7.Enabled = TrueForm2.Label8.Enabled = TrueForm2.Label9.Enabled = TrueForm2.Label10.Enabled = FalseForm2.Text1(10).Enabled = FalseForm2.Text1(10).BackColor = &H8000000FForm2.Text2(10).Enabled = FalseForm2.Text2(10).BackColor = &H8000000FFor n = 6 To 9 Form2.Text1(n).Enabled = True Form2.Text1(n).BackColor = &HFFFFFF Form2.Text2(n).Enabled = True Form2.Text2(n).BackColor = &HFFFFFFNextEnd SubPrivate Sub Option6_Click()Form2.Label6.Enabled = TrueForm2.Label7.Enabled = TrueForm2.Label8.Enabled = TrueForm2.Label9.Enabled = TrueForm2.Label10.Enabled = TrueFor n = 6 To 10 Form2.Text1(n).Enabled = True Form2.Text1(n).BackColor = &HFFFFFF Form2.Text2(n).Enabled = True Form2.Text2(n).BackColor = &HFFFFFFNextEnd SubForm2:Option Base 1Dim m As IntegerDim X(10) As SingleDim Y(10) As SinglePrivate Sub Command1_Click() 進(jìn)入第三個繪圖窗體Form1.HideForm2.HideForm3.ShowDim A As Single 截距Dim B As Single 斜率Dim c As SingleDim d As SingleDim e As SingleDim f As SingleDim W As SingleDim R As SingleDim T As Single討論點的個數(shù)If Form2.Text1(5).Enabled = True Then m = 5If Form2.Text1(6).Enabled = True Then m = 6If Form2.Text1(7).Enabled = True Then m = 7If Form2.Text1(8).Enabled = True Then m = 8If Form2.Text1(9).Enabled = True Then m = 9If Form2.Text1(10).Enabled = True Then m = 10對點的x.y坐標(biāo)進(jìn)行賦值If m = 5 Then For n = 1 To 5 X(n) = Text1(n).Text Y(n) = Text2(n).Text NextEnd IfIf m = 6 Then For n = 1 To 6 X(n) = Text1(n).Text Y(n) = Text2(n).Text NextEnd IfIf m = 7 Then For n = 1 To 7 X(n) = Text1(n).Text Y(n) = Text2(n).Text NextEnd IfIf m = 8 Then For n = 1 To 8 X(n) = Text1(n).Text Y(n) = Text2(n).Text NextEnd IfIf m = 9 Then For n = 1 To 9 X(n) = Text1(n).Text Y(n) = Text2(n).Text NextEnd IfIf m = 10 Then For n = 1 To 10 X(n) = Text1(n).Text Y(n) = Text2(n).Text NextEnd If For n = 1 To m c = X(n) + c d = X(n) * X(n) + d e = X(n) * Y(n) + e f = Y(n) + fNextA = (e * c - f * d) / (c * c - m * d) 計算直線的截距B = (c * f - m * e) / (c * c - m * d) 計算直線的斜率打印數(shù)據(jù)方程的位置Form3.CurrentX = 200Form3.CurrentY = 350Form3.Print 直線斜率(B)= & BForm3.CurrentX = 200Form3.CurrentY = 580Form3.Print 直線截距(A)= & AForm3.CurrentX = 200Form3.CurrentY = 810Form3.Print 直線方程為:; Spc(3); Y= & B & X+ & A在坐標(biāo)圖上打印出點來For n = 1
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 未來五年連續(xù)觀測網(wǎng)絡(luò)企業(yè)ESG實踐與創(chuàng)新戰(zhàn)略分析研究報告
- 未來五年地溫觀測儀器企業(yè)制定與實施新質(zhì)生產(chǎn)力戰(zhàn)略分析研究報告
- 《稻漁綜合種養(yǎng)生態(tài)系統(tǒng)穩(wěn)定性與水資源利用效率提升策略》教學(xué)研究課題報告
- 寧夏2025秋九年級英語全冊Unit7Teenagersshouldbeallowedtochoosetheirownclothes課時1SectionA(1a-2d)課件新版人教新目標(biāo)版
- 小學(xué)三年級科學(xué)課程教案范例
- 培訓(xùn)機構(gòu)教師聘用合同范本合集
- 信息技術(shù)部門年終工作總結(jié)范本
- 2025西歐精密儀器產(chǎn)業(yè)趨勢分析及投資策略研究報告
- 2025西太平洋海洋生物醫(yī)藥行業(yè)市場發(fā)展分析及發(fā)展趨勢與投資前景研究報告
- 2025西南服裝設(shè)計行業(yè)市場需求態(tài)勢分析投資開拓材料
- JG/T 255-2020內(nèi)置遮陽中空玻璃制品
- JG/T 254-2015建筑用遮陽軟卷簾
- TCNFPIA1003-2022采暖用人造板及其制品中甲醛釋放限量
- 大健康產(chǎn)業(yè)可行性研究報告
- 腸易激綜合征中西醫(yī)結(jié)合診療專家共識(2025)解讀課件
- 庫存周轉(zhuǎn)率提升計劃
- 護(hù)理部競聘副主任
- 《統(tǒng)計學(xué)-基于Excel》(第 4 版)課件 賈俊平 第5-9章 概率分布- 時間序列分析和預(yù)測
- 中國計量大學(xué)《文科數(shù)學(xué)》2021-2022學(xué)年第一學(xué)期期末試卷
- 中國普通食物營養(yǎng)成分表(修正版)
- 20道長鑫存儲設(shè)備工程師崗位常見面試問題含HR常問問題考察點及參考回答
評論
0/150
提交評論