matlab課程設(shè)計(jì)報(bào)告---用mtlab編程實(shí)現(xiàn)句柄圖形應(yīng)用_第1頁
已閱讀1頁,還剩7頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

評(píng)論

0/150

提交評(píng)論