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

下載本文檔

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

文檔簡介

1、<p>  課程設(shè)計報告(論文)</p><p>  課 程:基于Matlab的數(shù)學實驗 </p><p>  學 號: </p><p>  姓 名: </p><p>  班 級:

2、 </p><p>  任課教師: </p><p>  用Mtlab編程實現(xiàn)句柄圖形應用</p><p>  摘要: 本文利用Mtlab的算法設(shè)計和程序設(shè)計的原理和方法,著重介紹了句柄圖形的實際運用.根據(jù)提出的實際問題,即畫出沿曲線移動的小球,給出具體句柄圖形的定義,主要圖形對象,以及各對象之間的層次關(guān)系;并利用句柄

3、訪問,修改圖形對象的屬性.</p><p>  關(guān)鍵字: Matlab編程; 句柄圖形; 算法實現(xiàn); 沿曲線移動的小球;</p><p><b>  引言</b></p><p>  MATLAB是一種以數(shù)值計算和數(shù)據(jù)圖示為主的計算機軟件,包括MATLAB主程序、SIMULINK 動態(tài)系統(tǒng)仿真包和各種專業(yè)工具箱.它基于矩陣運算,集數(shù)值計算、圖形

4、顯示、圖形界面設(shè)計等功能和模糊邏輯等30多個專業(yè)工具箱于一體,具有極強大的計算功能和極高的編程效率,特別適合于科學計算、數(shù)值分析、系統(tǒng)仿真和信號處理等任務,對后續(xù)專業(yè)課程的學習有重要影響. </p><p>  在Matlab系統(tǒng)中,繪圖命令產(chǎn)生的每一個部分稱為圖形對象,系統(tǒng)在創(chuàng)建每一個對象時,都為該對象分配唯一的一個值,稱其為句柄,因此句柄就是圖形對象標識符.對象、句柄以及圖形對象等概念其實質(zhì)是統(tǒng)一的,系統(tǒng)將每

5、一個對象按樹型層次結(jié)構(gòu)組織起來,這些對象包括根對象,通常為計算機屏幕、圖形窗口、坐標系統(tǒng)、線條、曲面、文本串、用戶界面控制等.</p><p>  根對象可包含一個或多個圖形窗口對象,而一個圖形窗口對象又可包含一組或多組坐標系子對象,線條、文本等其它對象都是坐標系的子對象.所有創(chuàng)建對象的函數(shù)當父對象不存在時,都會自動創(chuàng)建它.</p><p><b>  句柄</b>&

6、lt;/p><p>  計算機屏幕作為根對象自動建立,其句柄值為0.如Hf_f=figure命令則建立圖形窗口對象,并返回它的句柄值給變量Hf_f.圖形窗口的句柄為一整數(shù),并顯示在該窗口的標題欄,其它圖形對象的句柄為浮點數(shù),Matlab提供了一系列與句柄操作有關(guān)的函數(shù),如gcf 、gca等.為便于識別,用大寫字母開頭的變量表示句柄,如Hf_f等.</p><p><b>  對象屬性

7、</b></p><p>  所有圖形對象都具有控制對象顯示的屬性.這些屬性既包括對象的一般信息,如對象類型、對象的父對象及子對象等,也包括對象的一些特定信息,如坐標系對象的刻度等.用戶可以獲取、設(shè)置對象屬性,以達到控制對象的目的.當創(chuàng)建一個對象時,系統(tǒng)用一組默認屬性值定制對象,用戶可以通過命令獲取這些屬性值,同時也可通過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)命令可以返回當前句柄H對象的屬性.鍵入命令:</p><p>  get(H) 系統(tǒng)返回當前圖形對象的有關(guān)屬性:</p><p>  例:H=get(0,’CurrentFigure’) 則返回根對象的’CurrentFigure’的屬性值,即當前圖形窗口的句柄,相當于函數(shù)gcf.get(gcf,’Children’)則返回當前

11、坐標系對象的句柄.</p><p><b>  句柄應用</b></p><p>  利用句柄操作的有關(guān)函數(shù),用戶可以查找、訪問圖形對象,以達到定制對象屬性,改變對象顯示效果的目的.</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>  綜合運用</b></p><p>  用matlab編程畫出沿曲線移動的小球</p><p>  Matlab源程序:</p><p>  h0=figure('toolbar','none',...</p><p>  'position&#

15、39;,[198 56 408 468],...</p><p>  'name','運行的圖形');</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','終點的X坐標值',...</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','終點的Y坐標值',...</p><p>  'position',[275 50 100

33、 20]);</p><p><b>  運行圖形:</b></p><p><b> ?。?)初始圖形:</b></p><p> ?。?)、點擊“開始”,小球沿曲線循環(huán)運動,再點擊“停止”后圖形:</p><p><b>  結(jié)論</b></p><p&

34、gt;  由于使用Matlab編程運算與人進行科學計算的思路和表達方式完全一致,所以不象學習其它高級語言--如Basic、Fortran和C等那樣難于掌握,用Matlab編寫程序猶如在演算紙上排列出公式與求解問題。 </p><p>  MATLAB 的圖形可視能力很強。 MATLAB 的圖形系統(tǒng)有高層和低層兩個部分組成。高層指令友善、簡便;低層指令細膩、豐富、靈活。</p>

35、<p>  一般說來,不管二元函數(shù)多么復雜,就能得到富于感染力的表現(xiàn)。數(shù)據(jù)和函數(shù)的圖形可視手段包括:線的勾畫、色圖使用、濃談處理、視角選擇、透視和裁剪。 MATLAB 有比較完備的圖形標識指令,它們可標注:圖名、軸名、解釋文字和繪畫圖例。</p><p><b>  參考文獻</b></p><p> ?。?)、《MATLAB語言及其在電子信息工程中的應用》

36、 王洪元主編  清華大學出版社</p><p>  (2)、《基于MATLAB的數(shù)學實驗》 胡守信,李柏年編著 科學出版社</p><p> ?。?)、《MATLAB6實例教程》 郝紅偉 中國電力出版社</p><p> ?。?)、《Matlab 工程計算及應用》 李麗,王振領(lǐng)編著 人民郵電出版社</p><p> ?。?)、《計算

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論