MATLAB在二維繪圖中的應(yīng)用培訓講學_第1頁
MATLAB在二維繪圖中的應(yīng)用培訓講學_第2頁
MATLAB在二維繪圖中的應(yīng)用培訓講學_第3頁
MATLAB在二維繪圖中的應(yīng)用培訓講學_第4頁
MATLAB在二維繪圖中的應(yīng)用培訓講學_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、Good is good, but better carries it.精益求精,善益求善。MATLAB在二維繪圖中的應(yīng)用-MATLAB語言課程論文MATLAB在二維繪圖中的應(yīng)用姓名:郭露學號:12012241985專業(yè):電氣工程與自動化班級:12級電氣1班指導老師:李虹學院:物理電氣信息學院完成日期:2013年12月10日MATLAB在二維繪圖中的應(yīng)用(姓名:郭露1201224198512級電氣1班)【摘要】二維圖形是將平面坐標上的數(shù)據(jù)點連接起來的平面圖形??梢圆捎貌煌淖鴺讼?,如直角坐標、對數(shù)坐標、極坐標等。二維圖形的繪制是其他繪圖操作的基礎(chǔ)。強大的繪圖功能是MATLAB的特點之一。MAT

2、LAB提供了一系列的繪圖函數(shù),用戶不僅不許考慮繪圖細節(jié),只需給出一些基本的參數(shù)就能得到所需要的圖形,這一類函數(shù)稱為高層繪圖函數(shù)。除此之外,MATLAB還提供了直接對句柄進行操作的一系列的低層的繪圖操作。這類操作將圖形的每個元素(如坐標軸、曲線、文字等)看做是一個獨立的對象,系統(tǒng)給每個對象獨立的分配一個句柄,以后可以通過該句柄對改圖元素進行操作,而不影響圖形的其他部分。高層繪圖操作簡單明了,方便高效,使用戶最常使用的繪圖方法,而低層繪圖操作控制和表現(xiàn)圖形的能力更強,為用戶自主繪圖創(chuàng)造了條件。其實MATLAB的高層繪圖函數(shù)都是利用低層繪圖函數(shù)建立起來的。所以MATLAB的計算準確、效率高、使用快捷

3、等優(yōu)點常被廣泛應(yīng)用于科學和工程領(lǐng)域.【關(guān)鍵字】MATLAB語言二維繪圖圖像處理【引言】MATLAB語言是當前國際學科界應(yīng)用很廣泛的一種軟件,強大的繪圖功能是MATLAB的特點之一。MATLAB提供了一系列的繪圖函數(shù),利用它強大的圖像處理來繪制二維圖形既簡單而且也很方便。在繪制二維圖形的過程中也用到了MATLAB語言的其他功能,比如說它提供的一些函數(shù),利用這些函數(shù)可以方便的生成一些特殊矩陣,因此可生成一個坐標平面。MATLAB語言強大的功能也在二維繪圖中的得到了很廣泛的應(yīng)用,利用它所提供的精細的圖像處理功能還可以對所繪制的二維圖形作一個修飾的處理。MATLAB語言具有強大的以圖形化顯示矩陣和數(shù)組

4、的能力,同時它給這些圖形增加注釋并且可以對圖形進行標注和打印。MATLAB的圖形技術(shù)包括二維的可視化、圖形處理、動畫等高層次的專業(yè)圖形的高級繪圖,例如圖形的光照處理、色度處理以及四維數(shù)據(jù)的表現(xiàn)等。那么,如何把它強大的功能應(yīng)用于實際應(yīng)用中,下面我們將用實例說明?!菊摹縈ATLAB的主要功能及特點MATLAB近幾年廣泛用于圖像處理和識別,使用MATLAB設(shè)計模式識別應(yīng)用軟件將使設(shè)計者獲得更大的自由,可以任意執(zhí)行特殊的算法和實現(xiàn)復(fù)雜的操作,MATLAB之所以成為世界頂級的科學計算與數(shù)學應(yīng)用軟件,是因為它隨著版本的升級與不斷完善而具有愈來愈強大的功能。(1)數(shù)值計算功能。(2)符號計算功能。(3)數(shù)

5、據(jù)分析功能。(4)動態(tài)仿真功能。(5)圖形文字統(tǒng)一處理功能。MATLAB有三大特點:一是功能強大。主要包括數(shù)值計算和符號計算、計算結(jié)果和編程可視化、數(shù)學和文字統(tǒng)一處理、離線和在線計算。二是界面友好,編程效率高。MATLAB是一種以矩陣為基本單元的可視化程序設(shè)計語言,語法結(jié)構(gòu)簡單,數(shù)據(jù)類型單一,指令表達與標準教科書的數(shù)學表達式相近。三是開放性強。MATLAB有很好的可擴充性,可以把它當成一種更高級的語言去使用。使用它很容易編寫各種通用或?qū)S脩?yīng)用程序。MATLAB在二維繪圖中的具體應(yīng)用1.常用的繪圖函數(shù)1plot函數(shù)的基本用法plot函數(shù)用于繪制二維平面上的線性坐標曲線圖,要提供一組x坐標和對應(yīng)的

6、y坐標,可以繪制分別以x和y為橫、縱坐標的二維曲線。plot函數(shù)的應(yīng)用格式plot(x,y)其中x,y為長度相同的向量,存儲x坐標和y坐標。2含多個輸入?yún)?shù)的plot函數(shù)plot函數(shù)可以包含若干組向量對,每一組可以繪制出一條曲線。含多個輸入?yún)?shù)的plot函數(shù)調(diào)用格式為:plot(x1,y1,x2,y2,xn,yn)當輸入?yún)?shù)有矩陣形式時,配對的x,y按對應(yīng)的列元素為橫坐標和縱坐標繪制曲線,曲線條數(shù)等于矩陣的列數(shù)。例1作出函數(shù)的圖形,并觀測它們的周期性。先作函數(shù)在上的圖形,用MATLAB作圖的程序代碼為:x=linspace(-4*pi,4*pi,300);%產(chǎn)生300維向量xy=sin(x);

7、%正玄函數(shù)plot(x,y)%二維圖形繪圖命令結(jié)果如圖1所示此圖也可用fplot命令,相應(yīng)的MATLAB程序代碼為:clear;close;%clear清理內(nèi)存;close關(guān)閉已有口。fplot(sin(x),-4*pi,4*pi)%繪制正玄圖形結(jié)果如圖2所示圖1的圖形圖2的圖形2.fill將資料點視為多邊行頂點,并將此多邊行涂上顏色:x=linspace(0,10,50);y=sin(x).*exp(-x/3);fill(x,y,b);%b為藍色3.feather將每一個資料點視復(fù)數(shù),并以箭號畫出:theta=linspace(0,2*pi,20);z=cos(theta)+i*sin(th

8、eta);feather(z);二維圖形的修飾由前面的圖1至2可以看出,當利用plot命令繪圖時,雖然運用起來比較簡單,但它所自動產(chǎn)生的圖形卻顯得有些簡單,未能產(chǎn)生特殊的效果。為此MATLAB提供了一些圖形函數(shù),專門對由plot命令所畫出的圖形進行進一步的修飾,以使其更加美觀、更便于應(yīng)用。如坐標軸范圍的設(shè)定(axis命令)、加坐標軸名稱(xlabel、ylabel命令)、加網(wǎng)絡(luò)(grid命令)、加圖形加圖題(title命令)、對圖形進行文字注釋(text命令)等。1.用不同的線型及顏色加以繪制。x=-2*pi:2*pi/30:2*pi;%產(chǎn)生向量xy1=sin(x);y2=cos(x);%正余

9、玄函數(shù)plot(x,y1,x,y2,gp)%gp表示繪出的圖形是綠色五角星線結(jié)果如圖4圖4不同線型與顏色繪制的正余玄圖形2.坐標軸的調(diào)整MATLAB可以自動根據(jù)曲線數(shù)據(jù)的范圍選擇合適的坐標系,從而使得曲線能夠盡可能清晰地顯示出來,所以在一般情況下用戶不必去進行坐標系的選擇。但是,如果用戶對MATLAB所自動生成的坐標軸不太滿意的話,則可以利用axis所要繪制出的圖形的坐標軸進行調(diào)整。axis命令的功能非常豐富,按常用用法有如下4類調(diào)整坐標軸的范圍;調(diào)整坐標軸的狀態(tài);保存調(diào)整坐標軸的范圍;保存坐標軸的狀態(tài)。3.設(shè)置圖形標題MATLAB中有專門的函數(shù)title來為圖形添加標題,調(diào)用這種函數(shù)的格式是

10、:(1)title(string)設(shè)置當前繪圖區(qū)的標題為字符串string的值。(2)title(.,PropertyName,PropertyValue,.)可以在添加或設(shè)置標題的同時,設(shè)置標題的屬性,如字體、顏色、加粗等。例2圖形標注函數(shù)title使用實例。利用title函數(shù)為圖形添加標題。解:在命令窗口輸入下面的代碼x=0:0.05:10;y=exp(-0.2*x).*cos(x);plot(x,y)title(ite0.2xcos(x),FontWeight,Bold)執(zhí)行程序后,可以得到2-18所示結(jié)果圖形:4.在圖形中顯示文字MATLAB允許用戶在圖形的任意位置加注一串文字。加注文

11、字的時候,MATLAB提供了兩種不同確定文字位置的操作方式:(1)用坐標軸確定文字位置;(2)用鼠標確定文字位置。MATLAB允許用戶在圖形窗口的任意位置用低級命令書寫一串字符。該方式的格式是text(x,y,string,option),主要功能是在圖形指定坐標位置(x,y)處,寫出由string所給出的字符串。坐標(x,y)的單位是由選項參數(shù)option決定的。如果不給出該選項參數(shù),則(x,y)坐標的單位與圖中的單位是一致的。如果選項參數(shù)取為sc,則(x,y)坐標表示規(guī)范化的窗口相對坐標,其變化范圍為01,即該窗口繪圖范圍的左下角坐標為(0,0),右上角坐標為(1,1)。例3坐標軸標注函數(shù)

12、text使用實例。利用text函數(shù)在y=sinx指定位置添加文字。解:在命令窗口輸入以下代碼x=0:pi/100:2*pi;y=sin(x);plot(x,y)axis(02*pi-1.51.5)line(0,2*pi,0,0)text(0.5,0.85,sin(x)sc)text(0.5*pi,0.5,position)text(1.5*pi,-0.5,negative)3.手工繪圖方式手工繪圖的關(guān)鍵在于如何選取繪圖時的一些關(guān)鍵數(shù)據(jù)點,如何將這些數(shù)據(jù)點的坐標值讀入變量,然后加以利用。MATLAB提供了用鼠標選取數(shù)據(jù)點的命令ginput,當在圖形窗口中的某一位置按下某個鼠標鍵(或鍵盤上除回車之

13、外的任何鍵)時,ginput將返回該位置的坐標值。x,y=ginputx,y=ginput(n)x,y,button=ginput(n)(1)利用x,y=ginput,當在圖形窗口中按下某個鼠標鍵或某一鍵盤鍵時,讀取此時鼠標所在位置的一系列坐標值,并將這些坐標值存儲到向量x和y中,直到按回車鍵后才中止該讀書過程。(2)利用命令x,y=ginput(n),當在圖形窗口中按下某一個鼠標鍵或某一鍵盤鍵時,讀取此時鼠標所在位置的一系列坐標值,并將這些坐標值存儲到向量x和y中,總共讀取n個數(shù)據(jù)點。(3)命令x,y,button=ginput(n)也可利用鼠標從圖形窗口中讀取n個數(shù)據(jù)點,并將這些數(shù)據(jù)點的坐

14、標值存儲到向量x和y中,同時還將讀數(shù)過程中鼠標的按鍵情況或鍵盤的按鍵情況記錄到向量變量button中。在這里需要說明以下問題:在讀取第i個數(shù)據(jù)點時,若按的是鼠標左鍵,則button(i)=1;若按的是鼠標中鍵,則button(i)2;若按的是鼠標右鍵,則button(i)=3;若按的是鍵盤鍵,則button(i)存儲相應(yīng)鍵的ASC。該命令僅僅只是讀取了一些數(shù)據(jù)點,并沒有繪制圖形。在讀取了一些數(shù)據(jù)點后,我們就可以利用某種方法或按某種或圖要求把這些數(shù)據(jù)點連成一起,從而達到手工繪圖的效果。三、結(jié)論由上面二維制圖我們不難得出以下結(jié)論:在matlab中,最基本且應(yīng)用最為廣泛的繪圖函數(shù)為plot函數(shù),利用

15、它可以在二維平面上繪制出不同的曲線。Plot函數(shù)用于繪制xy平面上的線性坐標曲線圖需要提供一組x坐標及其各點對應(yīng)的y坐標,這樣就可以繪制出分別以x,y為橫縱坐標的二維曲線。Matlab還提供了一些繪圖選項,用于確定所繪曲線的線性,顏色和數(shù)據(jù)點標記符號,它們可以組合使用。數(shù)據(jù)點可以用向量或矩陣的形式給出,類型可以是實型或復(fù)型,在取數(shù)據(jù)點時一般都是等間隔采樣,這對繪制高頻率變化的函數(shù)不夠精確,為提高精度,繪制出比較真實的函數(shù)曲線,就不能等間隔取樣,而必須在變化率大的區(qū)段密集采樣,以充分反映函數(shù)的變化規(guī)律,進而提高圖形的真實性。Fplot函數(shù)可自適應(yīng)的對函數(shù)進行采樣能更好地反映函數(shù)變化規(guī)律。在mat

16、lab中如果需要繪制出具有不同坐標標度的兩個圖形,可以使用plotyy函數(shù)。這種圖形能把函數(shù)值具有不同量綱,不同數(shù)量級的兩個函數(shù)繪制在同一坐標中,有利于圖形數(shù)據(jù)的對比分析。同時利用MATLAB語言強大的繪圖功能可以精確的繪制出一系列的三維圖像。MATLAB提供了一系列的繪圖函數(shù),用戶不僅不許考慮繪圖細節(jié),只需給出一些基本的參數(shù)就能得到所需要的圖形,這一類函數(shù)稱為高層繪圖函數(shù)。除此之外,MATLAB還提供了直接對句柄進行操作的一系列的低層的繪圖操作。這類操作將圖形的每個元素看做是一個獨立的對象,系統(tǒng)給每個對象獨立的分配一個句柄,以后可以通過該句柄對改圖元素進行操作,而不影響圖形的其他部分。高層繪

17、圖操作簡單明了,方便高效,使用戶最常使用的繪圖方法,而低層繪圖操作控制和表現(xiàn)圖形的能力更強,為用戶自主繪圖創(chuàng)造了條件。其實MATLAB的高層繪圖函數(shù)都是利用低層繪圖函數(shù)建立起來的。MATLAB在繪制圖形方面更進一步的體現(xiàn)出了它強大的繪圖功能。四學習心得Matlab和其它語言不一樣,如果抱著把其他語言的思想運用在Matlab里面的話,即使程序運行不出錯,也很難把握Matlab的精髓,也就很難發(fā)揮Matlab的作用。在接觸matlab之后,我發(fā)現(xiàn)matlab語法簡單,易于繪制圖形,編程也非常容易。Matlab是功能強大的科學及工程計算軟件,它不但具有矩陣計算為基礎(chǔ)的強大數(shù)學計算和分析功能,而且還具

18、有豐富的可視化圖形表現(xiàn)功能和方便的程序設(shè)計能力。Matlab的應(yīng)用領(lǐng)域極為廣泛,除數(shù)學計算和分析外,還被廣泛用于自動控制、系統(tǒng)仿真、數(shù)字信號處理、圖形圖像分析、數(shù)理統(tǒng)計、人工智能、虛擬現(xiàn)實技術(shù)、通信工程、金融系統(tǒng)等領(lǐng)域。為了提高程序運行效率,能使用矩陣方法處理的數(shù)據(jù)盡量用矩陣方法處理,畢竟矩陣處理是Matlab的強項。某些不能用矩陣處理,可設(shè)法構(gòu)造出可以運算的矩陣。當不是很確定某個函數(shù)的用法和功能時,除了使用help或demo外,更方便更直接的方法就是自己構(gòu)造一些簡單數(shù)據(jù)試用一下函數(shù)。當使用矩陣運算時,直接看代碼不是很容易理解,可把矩陣簡單的寫在草稿紙上,包括初始矩陣和矩陣的變換結(jié)果,然后借助

19、草稿紙上直觀的矩陣運算理解整個表達式的意義。設(shè)置斷點。設(shè)置斷點最主要的目的就是查看中間變量的值,從中了解整個程序的運算過程。最主要也是最基本的就是對算法的正確理解,理解算法的原理和算法每一步的意義;當理解每一步的意義后,同樣的目的可采用不同的方法進行處理。有時可以通過畫圖來幫助感性的了解數(shù)據(jù),這樣處理的時候不會太盲目。畫圖是Matlab又一強項。MATLAB所具有的強大的功能可以使我們解決很多用其他計算機語言不容易解決的問題。MATLAB提供了一系列的繪圖函數(shù),用戶不僅不許考慮繪圖細節(jié),只需給出一些基本的參數(shù)就能得到所需要的圖形,這一類函數(shù)稱為高層繪圖函數(shù),這學期學習讓我感受頗多,這門語言相對

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論