版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p> 課程設(shè)計(jì)報(bào)告(論文)</p><p> 課 程:基于Matlab的數(shù)學(xué)實(shí)驗(yàn) </p><p> 學(xué) 號(hào): </p><p> 姓 名: </p><p> 班 級(jí):
2、 </p><p> 任課教師: </p><p> 用Mtlab編程實(shí)現(xiàn)句柄圖形應(yīng)用</p><p> 摘要: 本文利用Mtlab的算法設(shè)計(jì)和程序設(shè)計(jì)的原理和方法,著重介紹了句柄圖形的實(shí)際運(yùn)用.根據(jù)提出的實(shí)際問題,即畫出沿曲線移動(dòng)的小球,給出具體句柄圖形的定義,主要圖形對象,以及各對象之間的層次關(guān)系;并利用句柄
3、訪問,修改圖形對象的屬性.</p><p> 關(guān)鍵字: Matlab編程; 句柄圖形; 算法實(shí)現(xiàn); 沿曲線移動(dòng)的小球;</p><p><b> 引言</b></p><p> MATLAB是一種以數(shù)值計(jì)算和數(shù)據(jù)圖示為主的計(jì)算機(jī)軟件,包括MATLAB主程序、SIMULINK 動(dòng)態(tài)系統(tǒng)仿真包和各種專業(yè)工具箱.它基于矩陣運(yùn)算,集數(shù)值計(jì)算、圖形
4、顯示、圖形界面設(shè)計(jì)等功能和模糊邏輯等30多個(gè)專業(yè)工具箱于一體,具有極強(qiáng)大的計(jì)算功能和極高的編程效率,特別適合于科學(xué)計(jì)算、數(shù)值分析、系統(tǒng)仿真和信號(hào)處理等任務(wù),對后續(xù)專業(yè)課程的學(xué)習(xí)有重要影響. </p><p> 在Matlab系統(tǒng)中,繪圖命令產(chǎn)生的每一個(gè)部分稱為圖形對象,系統(tǒng)在創(chuàng)建每一個(gè)對象時(shí),都為該對象分配唯一的一個(gè)值,稱其為句柄,因此句柄就是圖形對象標(biāo)識(shí)符.對象、句柄以及圖形對象等概念其實(shí)質(zhì)是統(tǒng)一的,系統(tǒng)將每
5、一個(gè)對象按樹型層次結(jié)構(gòu)組織起來,這些對象包括根對象,通常為計(jì)算機(jī)屏幕、圖形窗口、坐標(biāo)系統(tǒng)、線條、曲面、文本串、用戶界面控制等.</p><p> 根對象可包含一個(gè)或多個(gè)圖形窗口對象,而一個(gè)圖形窗口對象又可包含一組或多組坐標(biāo)系子對象,線條、文本等其它對象都是坐標(biāo)系的子對象.所有創(chuàng)建對象的函數(shù)當(dāng)父對象不存在時(shí),都會(huì)自動(dòng)創(chuàng)建它.</p><p><b> 句柄</b>&
6、lt;/p><p> 計(jì)算機(jī)屏幕作為根對象自動(dòng)建立,其句柄值為0.如Hf_f=figure命令則建立圖形窗口對象,并返回它的句柄值給變量Hf_f.圖形窗口的句柄為一整數(shù),并顯示在該窗口的標(biāo)題欄,其它圖形對象的句柄為浮點(diǎn)數(shù),Matlab提供了一系列與句柄操作有關(guān)的函數(shù),如gcf 、gca等.為便于識(shí)別,用大寫字母開頭的變量表示句柄,如Hf_f等.</p><p><b> 對象屬性
7、</b></p><p> 所有圖形對象都具有控制對象顯示的屬性.這些屬性既包括對象的一般信息,如對象類型、對象的父對象及子對象等,也包括對象的一些特定信息,如坐標(biāo)系對象的刻度等.用戶可以獲取、設(shè)置對象屬性,以達(dá)到控制對象的目的.當(dāng)創(chuàng)建一個(gè)對象時(shí),系統(tǒng)用一組默認(rèn)屬性值定制對象,用戶可以通過命令獲取這些屬性值,同時(shí)也可通過set命令重新設(shè)置對象屬性.</p><p><b
8、> set命令格式為:</b></p><p> set(H,’name’,value,…) 將圖形對象H的name屬性設(shè)置為value.其中H為句柄,name為屬性名,value為name的屬性值.</p><p> 用set命令可以方便地設(shè)置圖形對象屬性,如下列程序段就是通過屬性來定制圖形.</p><p> x=[0:0.1:4*
9、pi];</p><p> H=plot(x,sin(x)); //返回正弦曲線句柄H</p><p> set(H,'LineStyle','*','LineWidth',0.1); //設(shè)置正弦曲線線型與線寬其中'LineStyle'為線型屬性,'LineWidth'為線寬屬性.</
10、p><p> 利用get(H)命令可以返回當(dāng)前句柄H對象的屬性.鍵入命令:</p><p> get(H) 系統(tǒng)返回當(dāng)前圖形對象的有關(guān)屬性:</p><p> 例:H=get(0,’CurrentFigure’) 則返回根對象的’CurrentFigure’的屬性值,即當(dāng)前圖形窗口的句柄,相當(dāng)于函數(shù)gcf.get(gcf,’Children’)則返回當(dāng)前
11、坐標(biāo)系對象的句柄.</p><p><b> 句柄應(yīng)用</b></p><p> 利用句柄操作的有關(guān)函數(shù),用戶可以查找、訪問圖形對象,以達(dá)到定制對象屬性,改變對象顯示效果的目的.</p><p> x=-pi:pi/20:pi;</p><p> y=sin(x);z=cos(x);</p><
12、;p> plot(x,y,'r',x,z,'g');</p><p> Hl_lines=get(gca,'Children'); //獲取正、余曲線句柄向量Hl_lines</p><p> for k=1:size(Hl_lines) </p><p> i
13、f get(Hl_lines(k),‘Color’)==[0 1 0] // [0 1 0]為綠顏色向量</p><p> Hl_green=Hl_li //返回綠色線條句柄</p><p><b> end</b></p><p><b> end</b></p&g
14、t;<p><b> 綜合運(yùn)用</b></p><p> 用matlab編程畫出沿曲線移動(dòng)的小球</p><p> Matlab源程序:</p><p> h0=figure('toolbar','none',...</p><p> 'position
15、39;,[198 56 408 468],...</p><p> 'name','運(yùn)行的圖形');</p><p> h1=axes('parent',h0,...</p><p> 'position',[0.15 0.45 0.7 0.5],...</p><p>
16、 'visible','on');</p><p> t=0:pi/24:4*pi;</p><p><b> y=sin(t);</b></p><p> plot(t,y,'b')</p><p> n=length(t);</p><p&g
17、t; h=line('color',[0 0.5 0.5],...</p><p> 'marker','.',...</p><p> 'markersize',25,...</p><p> 'erasemode','xor');</p><
18、;p> k1=uicontrol('parent',h0,...</p><p> 'style','pushbutton',...</p><p> 'position',[80 100 50 30],...</p><p> 'string','開始',
19、...</p><p> 'callback',[...</p><p> 'i=1;',...</p><p> 'k=1;,',...</p><p> 'm=0;,',...</p><p> 'while 1,',...&
20、lt;/p><p> 'if k==0,',...</p><p> 'break,',...</p><p> 'end,',...</p><p> 'if k~=0,',...</p><p> 'set(h,''xda
21、ta'',t(i),''ydata'',y(i)),',...</p><p> 'drawnow;,',...</p><p> 'i=i+1;,',...</p><p> 'if i>n,',...</p><p> &
22、#39;m=m+1;,',...</p><p> 'i=1;,',...</p><p> 'end,',...</p><p> 'end,',...</p><p><b> 'end']);</b></p><p&
23、gt; k2=uicontrol('parent',h0,...</p><p> 'style','pushbutton',...</p><p> 'position',[180 100 50 30],...</p><p> 'string','停止',..
24、.</p><p> 'callback',[...</p><p> 'k=0;,',...</p><p> 'set(e1,''string'',m),',...</p><p> 'p=get(h,''xdata'&
25、#39;);,',...</p><p> 'q=get(h,''ydata'');,',... </p><p> 'set(e2,''string'',p);,',...</p><p> 'set(e3,''str
26、ing'',q)']);</p><p> k3=uicontrol('parent',h0,...</p><p> 'style','pushbutton',...</p><p> 'position',[280 100 50 30],...</p>&
27、lt;p> 'string','關(guān)閉',...</p><p> 'callback','close');</p><p> e1=uicontrol('parent',h0,...</p><p> 'style','edit',...&l
28、t;/p><p> 'position',[60 30 60 20]);</p><p> t1=uicontrol('parent',h0,...</p><p> 'style','text',...</p><p> 'string','循環(huán)次數(shù)
29、',...</p><p> 'position',[60 50 60 20]);</p><p> e2=uicontrol('parent',h0,...</p><p> 'style','edit',...</p><p> 'position
30、39;,[180 30 50 20]);</p><p> t2=uicontrol('parent',h0,...</p><p> 'style','text',...</p><p> 'string','終點(diǎn)的X坐標(biāo)值',...</p><p>
31、'position',[155 50 100 20]);</p><p> e3=uicontrol('parent',h0,...</p><p> 'style','edit',...</p><p> 'position',[300 30 50 20]);</p>
32、<p> t3=uicontrol('parent',h0,...</p><p> 'style','text',...</p><p> 'string','終點(diǎn)的Y坐標(biāo)值',...</p><p> 'position',[275 50 100
33、 20]);</p><p><b> 運(yùn)行圖形:</b></p><p><b> ?。?)初始圖形:</b></p><p> ?。?)、點(diǎn)擊“開始”,小球沿曲線循環(huán)運(yùn)動(dòng),再點(diǎn)擊“停止”后圖形:</p><p><b> 結(jié)論</b></p><p&
34、gt; 由于使用Matlab編程運(yùn)算與人進(jìn)行科學(xué)計(jì)算的思路和表達(dá)方式完全一致,所以不象學(xué)習(xí)其它高級(jí)語言--如Basic、Fortran和C等那樣難于掌握,用Matlab編寫程序猶如在演算紙上排列出公式與求解問題。 </p><p> MATLAB 的圖形可視能力很強(qiáng)。 MATLAB 的圖形系統(tǒng)有高層和低層兩個(gè)部分組成。高層指令友善、簡便;低層指令細(xì)膩、豐富、靈活。</p>
35、<p> 一般說來,不管二元函數(shù)多么復(fù)雜,就能得到富于感染力的表現(xiàn)。數(shù)據(jù)和函數(shù)的圖形可視手段包括:線的勾畫、色圖使用、濃談處理、視角選擇、透視和裁剪。 MATLAB 有比較完備的圖形標(biāo)識(shí)指令,它們可標(biāo)注:圖名、軸名、解釋文字和繪畫圖例。</p><p><b> 參考文獻(xiàn)</b></p><p> ?。?)、《MATLAB語言及其在電子信息工程中的應(yīng)用》
36、 王洪元主編 清華大學(xué)出版社</p><p> ?。?)、《基于MATLAB的數(shù)學(xué)實(shí)驗(yàn)》 胡守信,李柏年編著 科學(xué)出版社</p><p> ?。?)、《MATLAB6實(shí)例教程》 郝紅偉 中國電力出版社</p><p> ?。?)、《Matlab 工程計(jì)算及應(yīng)用》 李麗,王振領(lǐng)編著 人民郵電出版社</p><p> ?。?)、《計(jì)算
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- matlab課程設(shè)計(jì)--用界面實(shí)現(xiàn)各種圖形繪制
- 用matlab實(shí)現(xiàn)16psk通信課程設(shè)計(jì)
- 用matlab實(shí)現(xiàn)psk通信課程設(shè)計(jì)分析
- matlab課程設(shè)計(jì)報(bào)告
- matlab課程設(shè)計(jì)報(bào)告
- matlab課程設(shè)計(jì)報(bào)告--信號(hào)的頻域分析及matlab實(shí)現(xiàn)
- matlab課程設(shè)計(jì)報(bào)告 (2)
- 課程設(shè)計(jì)---gtk圖形界面編程-計(jì)算器的實(shí)現(xiàn)
- matlab課程設(shè)計(jì)---matlab程序應(yīng)用與仿真
- matlab課程設(shè)計(jì)--應(yīng)用圖像處理
- matlab 圖形和動(dòng)畫編程
- matlab通信原理課程設(shè)計(jì)報(bào)告
- matlab圖像處理課程設(shè)計(jì)報(bào)告
- 通信原理matlab課程設(shè)計(jì)報(bào)告
- matlab課程設(shè)計(jì)報(bào)告(絕對完整)
- web編程課程設(shè)計(jì)報(bào)告--留言簿課程設(shè)計(jì)報(bào)告
- matlab課程設(shè)計(jì)
- matlab課程設(shè)計(jì)
- matlab課程設(shè)計(jì)
- 《matlab課程設(shè)計(jì)》報(bào)告-matlab的基本運(yùn)算與繪圖
評(píng)論
0/150
提交評(píng)論