小球彈跳仿真_第1頁
小球彈跳仿真_第2頁
小球彈跳仿真_第3頁
小球彈跳仿真_第4頁
小球彈跳仿真_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、Matlab仿真技術(shù)作品報告題目:基于MATLAB的小球彈跳仿真系 (院): 專 業(yè): 班 級: 學(xué) 號: 姓 名: 指導(dǎo)教師: 學(xué)年學(xué)期: 學(xué)年 第 學(xué)期年 月 日設(shè)計任務(wù)書課題名稱基于MATLAB的小球彈跳仿真 設(shè)計目的1. 利用物理學(xué)原理,綜合運用matlab工具實現(xiàn)小球彈跳仿真;2. 綜合運用專業(yè)及基礎(chǔ)知識,解決實際工程技術(shù)問題的能力;3. 學(xué)習(xí)資料的收集與整理,學(xué)會撰寫報告。實驗環(huán)境1. 微型電子計算機(jī)(PC);2. 安裝Windows 2000以上操作系統(tǒng),MATLAB等開發(fā)工具。任務(wù)要求1. 小球在彈跳過程中,有能量損失,即存在損耗系數(shù),最后必然速度變?yōu)?停下來,本次課程設(shè)計就是

2、要模擬仿真小球彈跳的整個過程,首先通過使用simulink搭建系統(tǒng)模型,實現(xiàn)小球彈跳仿真,但這是建立在初始速度、初始高度和衰減系數(shù)都已知的情況下,且描繪的只是整個過程的靜態(tài)圖像,所以通過設(shè)計GUI界面,讓用戶可以輸入任意小球的初速度、初始高度以及衰減系數(shù)數(shù)值,從而模擬出小球彈跳的整個過程,要有小球速度的動態(tài)變化圖,小球的動態(tài)軌跡圖,以及小球的動態(tài)位移圖,從而使整個過程清晰明了。2. 利用課余時間去圖書館或上網(wǎng)查閱課題相關(guān)資料,深入理解課題含義及設(shè)計要求,注意材料收集與整理;3. 結(jié)束后,及時提交作品報告(含紙質(zhì)稿、電子稿),要求格式規(guī)范、內(nèi)容完整、結(jié)論正確,正文字?jǐn)?shù)不少于1500字(不含代碼)

3、。摘要 matlab的應(yīng)用領(lǐng)域非常廣泛,從基本的線性代數(shù)、泛函分析,到應(yīng)用廣泛的信號處理、可控制系統(tǒng)、通信系統(tǒng),直到神經(jīng)網(wǎng)絡(luò)、小波理論等最新技術(shù)領(lǐng)域。為了體現(xiàn)matlab這個語言工具的應(yīng)用,所以以本次課程設(shè)計為小小的實例,來體現(xiàn)它的應(yīng)用價值。本次課程設(shè)計思想來源于基礎(chǔ)實驗課的第一次實驗,不過在此基礎(chǔ)上提高了難度,綜合運用了整個matlab課程中所學(xué)到的知識。第一次關(guān)于小球彈跳的實驗只是把它的軌跡圖用繪圖方法制作出來,而且物理情景簡單,初始速度為0,高度為1,小相當(dāng)于豎直下落過程,所以讓我想到在此基礎(chǔ)上深入挖掘,做一個初始速度、初始高度和衰減系數(shù)都可以通過輸入來確定,可以描繪出小球彈跳的整個動態(tài)

4、過程,而這一切正是matlab仿真技術(shù)可以解決的問題,也是體現(xiàn)這門課程的主要特色所在。關(guān)鍵詞 初始速度、初始高度、衰減系數(shù)、動態(tài)、simulink、GUI界面、仿真圖形Matlab仿真技術(shù)作品報告一、 緒論MATLAB語言是一種以矩陣運算為基礎(chǔ)的交互式程序語言。它集成度高,使用方便,輸入簡捷,運算高效,內(nèi)容豐富,并且很容易有用戶自行擴(kuò)展。與其它計算機(jī)語言相比,MATLAB具有以下特點:(1)、MATLAB是以解釋方式工作,輸入算是立即得出結(jié)果,無需編譯,對每條語句解釋后立即執(zhí)行。若有錯誤也立即作出反應(yīng),便于編程者馬上改正。這些都大大減輕了編程和調(diào)試的工作量。(2)、變量的多功能性。每個變量代表

5、一個矩陣,可以有mn 個元素;每個元素都可以看做一個復(fù)數(shù);矩陣的行數(shù)列數(shù)無需定義,MATLAB會根據(jù)用戶輸入的數(shù)據(jù)形式,自動決定一個矩陣的階數(shù)。(3)、運算符號的多功能性。所有的運算,包括加減乘除、函數(shù)運算都對矩陣和復(fù)數(shù)有效。(4)、語言規(guī)則與筆算式相似。(5)、強(qiáng)大而簡易的作圖功能。能根據(jù)輸入數(shù)據(jù)自動確定坐標(biāo)繪圖;能規(guī)定多種坐標(biāo)(極坐標(biāo)、對數(shù)坐標(biāo)等)繪圖;能繪制三維坐標(biāo)中的曲線和曲面;可設(shè)置不同的顏色、線型、視角等,如果數(shù)據(jù)齊全,往往只需要一條命令即可給出相應(yīng)的圖形。(6)、智能化程度高。繪圖時自動選擇最佳坐標(biāo),以及按輸入或輸出變元數(shù)自動選擇算法等;做數(shù)值積分時自動按精確度選擇步長;自動檢測

6、和顯示程序錯誤的能力強(qiáng),易于調(diào)試。、(7)、功能豐富,可擴(kuò)展性強(qiáng)。MATLAB軟件包括基本部分和專業(yè)擴(kuò)展部分?;静糠职ǎ壕仃嚨倪\算和各種變換,代數(shù)和超越方程的求解,數(shù)據(jù)處理和傅里葉變換及數(shù)值積分等。擴(kuò)展部分稱為工具箱,它實際上是用MATLAB的基本語句編成的各種子程序集,用于解決某一方面的專門問題,或某一領(lǐng)域的新算法,現(xiàn)在已經(jīng)有控制系統(tǒng)、信號處理、圖像處理、系統(tǒng)辨識、模糊集合、神經(jīng)元網(wǎng)絡(luò)及小波分析等多個工具箱,并且還在繼續(xù)發(fā)展中。而對于我們信息工程類專業(yè)生,學(xué)習(xí)本課程,重點介紹信號處理、自動控制和通信仿真三個方面的應(yīng)用,涉及的課程有高等數(shù)學(xué),信號與系統(tǒng)、數(shù)字信號處理、自動控制原理、數(shù)字通信

7、等。本次課程設(shè)計也是在此基礎(chǔ)上綜合運用所學(xué)知識,體現(xiàn)matlab這門語言工具的強(qiáng)大應(yīng)用功能。二、 作品內(nèi)容 小球彈跳的具體物理模型是:小球在某一初始高度h處,以某一初始速度豎直上拋或者豎直下落,假設(shè)速度方向向上時為正,初始速度為正時小球表現(xiàn)為豎直上拋運動,初速度為負(fù)時表現(xiàn)為豎直下落運動,不考慮空氣的阻力。但是,由于小球在碰地過程中會有能量損失,所以存在衰減系數(shù)k(0<k<1),小球每次落底反彈后速度都會變成原來的k倍。本次課程設(shè)計主要是先利用simulink搭建模型,描繪出小球彈跳的整個靜態(tài)圖形,最后再制作GUI界面,提供用戶輸入數(shù)據(jù),模擬小球彈跳至結(jié)束的整個動態(tài)過程,體現(xiàn)每個時刻

8、速度與位移的變化。三、作品的具體實現(xiàn) 1、對小球彈跳進(jìn)行數(shù)學(xué)建模,以及獲得每個時刻小球的位移、速度等數(shù)據(jù),需要解決一下問題:(1)、首先應(yīng)該考慮怎么獲得各個時刻速度與位移對應(yīng)的數(shù)據(jù),時間間隔怎么取,考慮到規(guī)模比較小,可以規(guī)定每隔dt=0.05s個時間取一個時間點,從0時刻到25s取500個點,所以限制了初速度和初始高度的范圍,如果超過此范圍,小球就不會停下來,不能完成整個過程的仿真。(2)、小球在y>0,即小球在上升或者下降過程中,均表現(xiàn)為加速度為-g(-9.8)的勻變速運動。代碼部分表示為:v=v0+g*(t-T); %速度 y=h+v0*(t-T)+g*(t-T)2/2; %位移(3

9、)、怎樣控制小球在落地時改變速度這一瞬時狀態(tài)。在y<=0時代碼部分表示為: v0=k*v; T=t; %求取每次落地時所用時間h=0;2、對整個速度、位移數(shù)據(jù)進(jìn)行處理,并描繪成動態(tài)圖像。主要運用到的命令: (1)、圖形窗的內(nèi)容保持命令hold 格式:hold on 功能:保持當(dāng)前圖形窗的內(nèi)容,使后續(xù)繪制函數(shù)仍可在該圖形窗口中完成繪制,完成在一張圖中繪制多個圖形。(2)、設(shè)置網(wǎng)格線命令grid on格式:grid on功能:對當(dāng)前坐標(biāo)圖加上網(wǎng)格線(3)、程序暫停命令pause格式:pause(n)功能:暫停程序的執(zhí)行,n秒鐘之后繼續(xù)執(zhí)行(4)、設(shè)計坐標(biāo)軸刻度函數(shù)axis格式:axis( x

10、min,xmax,ymin,ymax)功能:對當(dāng)前二維圖形對象的X軸和Y軸進(jìn)行標(biāo)定。X軸的刻度范圍是xmin,xmax,Y軸的刻度范圍是ymin,ymax。(5)、二維圖形繪制命令plot格式: plot(1,y,'or','MarkerSize',15,'MarkerFace',1,0,1) 功能:其數(shù)據(jù)點均用紅色圓圈標(biāo)記,“MarkerSize”表示圓圈的大小為15,模擬小球。3、simulink系統(tǒng)模型的搭建需要的模塊Constant, Scope, Integrate,Gain,IC(1)模塊如何在落地時改變初速度值V我們看選項Exter

11、nal reset, 其意義是在外部觸發(fā)條件下重新計算, 點擊小三角形, 打開下拉菜單, 可以看到外部觸發(fā)條件有none( 沒有條件) , rising( 上升時) , falling( 下落時) , either( 兩者同時) , 我們是選擇下落時觸發(fā)。由于是選擇falling 觸發(fā), 因此球落地時觸發(fā)條件起作用, velocity 模塊以落地時速度的0.8 倍反向開始重新積分, 從而實現(xiàn)一次又一次的模擬運動。初速度的設(shè)置還需要有IC, Gain 模塊, 模塊初值為15( 即開始上拋時的初速度) , 以后則在觸發(fā)條件生效時則將由當(dāng)時的速度V算出的新速度- 0.8V 重新輸入模塊velocit

12、y 中作為新的初速度(2)怎樣控制在落地時才觸發(fā)我們需要打開position( 位置) 模塊, limit output( 限制輸出) 選項意味著何時產(chǎn)生觸發(fā)條件, 選項中的upper satuationlimit 為inf 意味著無論上拋多高都不會產(chǎn)生觸發(fā)條件, 而選項中l(wèi)ower satuation limit 為0 意味著位置為零( 即落地時) 輸出觸發(fā)條件。這個條件通過回路輸出到模塊velocity 并引起重新計算速度了。4、GUI界面的設(shè)計(1)、系統(tǒng)界面設(shè)計工具GUI概述圖形用戶界面(graphical user interfaces ,GUI)則是由窗口、光標(biāo)、按鍵、菜單、文字說

13、明等對象(objects)構(gòu)成的一個用戶界面。用戶通過一定的方法(如鼠標(biāo)或鍵盤)選擇、激活這些圖形對象,使計算機(jī)產(chǎn)生某種動作或變化,比如實現(xiàn)計算、繪圖等。在MATLAB中GUI是一中包含多種對象的圖形窗口,并為GUI開發(fā)提供一個方便高效的集成開發(fā)環(huán)境GUIDE。GUIDE主要是一個界面設(shè)計工具集,MAYLAB將所有GUI支持度控件都集成在這個環(huán)境中,并提供界面外觀、屬性和行為響應(yīng)方式的設(shè)置方法。GUIDE將設(shè)計好的GUI保存在一個FIG文件中,同時生成M文件框架。 FIG文件:包括GUI圖形窗口及其所有后裔的完全描述,包括所有對象屬性的屬性值。它是一個二進(jìn)制文件調(diào)用hsave課保存圖形窗口時將

14、生車該文件。M文件包括GUI設(shè)計、控件函數(shù)以及定義為子函數(shù)的用戶控件回調(diào)函數(shù),主要用于控制GUI展開時的各種特征。 GUI創(chuàng)建包括界面設(shè)計和控件編程兩部分,主要步驟如下。第一步:通過設(shè)置GUIDE應(yīng)用程序的選項來運行GUIDE;第二步:使用界面設(shè)計編輯器進(jìn)行面設(shè)計;第三步:編寫控件行為響應(yīng)控制(即回調(diào)函數(shù))代碼。(2)、界面設(shè)計及使用說明首先我們新建一個GUI文件:File/New/GUI 如下圖所示:圖15 GUI創(chuàng)建界面選擇Blank GUI(Default)。其次,進(jìn)入GUI開發(fā)環(huán)境以后添加兩個編輯文本框,3個靜態(tài)文本框3個動態(tài)文本框,和兩個個按鈕,布置如下圖所示; GUI開發(fā)環(huán)境v0=

15、str2double(get(handles.edit1,'string');h=str2double(get(handles.edit2,'string');k=str2double(get(handles.edit3,'string');axes(handles.axes4);axes(handles.axes1);axes(handles.axes3);系統(tǒng)運行界面總結(jié)本次課程設(shè)計,基本上完成了最初的作業(yè)任務(wù)。并且在原來基礎(chǔ)上更加深入的修改和完善了,使作品內(nèi)容更加豐富,層次鮮明。本次作業(yè)難點在于simulink模塊的搭建以及動態(tài)實現(xiàn)的方法,

16、 simulink這一部分實踐的比較少,而且是全英文的應(yīng)用軟件,所以用起來比較陌生,花了不少時間和精力,雖然找了不少資料,但在理解和應(yīng)用上也有一點的難度,這期間找了很多同學(xué)幫忙。至于制作GUI界面這一部分,總體上還算是比較順利,參照了其他范例,最終確立了自己的思路,不過在程序運行之后,自己思考和分析了很多問題,即本次設(shè)計的缺陷所在,由于整個過程不遵循能量守恒,又存在三個初始變量,所以無法估算出小球在多少時間內(nèi)能夠完成整個過程,所以對用戶輸入的初始數(shù)據(jù)實際上還是有一點的限制的。 最后感謝指導(dǎo)老師和同學(xué)的幫助。參考文獻(xiàn)1、朱衡君,MATLAB語言及實踐教程第二版。清華大學(xué):北京交通大學(xué)出版社,20092 、唐向宏,岳恒立,鄭雪峰, MATLAB及在電子信息類課程中的應(yīng)用第二版,電子工業(yè)出版社,20093、周小蘭,基于MatlabSimulink的小球彈跳仿真及動畫實現(xiàn)4 、張磊,畢靖,郭蓮英MATLAB實用教程北京:人民郵電出版社,20085 、張威MATLAB基礎(chǔ)與編程入門西安:西安電子科技大學(xué)出版社,20066 、周利清,蘇菲數(shù)字信號處理基礎(chǔ)北京:北京郵電大學(xué)出版社,20059指導(dǎo)教師評語學(xué)號姓名班級選題名稱基于MATLAB有噪聲語音信號的

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論