網頁

2012年9月17日 星期一

plot 的初階使用


如果要比較 OCTAVE 與 MATLAB 最大的差別應該就是繪圖功能,由於OCTAVE利用 GnuPlot 來繪圖,操作介面跟 MATLAB有明顯的不同。所以今天講的內容僅限MATLAB使用,若使用OCTAVE效果無法預期!

若簡單使用PLOT,只要把X軸的值與相對應的Y值存放在兩個變數中(假設是y與x),只要在命令列中輸入 plot(x,y) 就會自動繪製圖型了。
例如:


>> 
>> x=-3:0.1:9;
>> y=x.^2-6*x-10;
>> plot(x,y);
>> 

就可以得到一個二元一次的「微笑曲線」,如下圖:





向量 x 與 y 必須是1對1的, 也就是有相同的SIZE。在實務上,我們會將圖片存起來,再插入WORD中。為了不讓圖片縮放後會有鋸齒狀,匯出的格式最好是向量圖。


在圖片中,按《File》→《Save As》,在《存檔類型》中選取WORD能讀取的EMF格式。



1. 確定檔案格式 2. 輸入檔名

在word中就可以直接《插入》→《圖片》→《從檔案》,把這個emf圖檔插入在word中,這個簡單的步驟就不再示範。




對於這個簡單例子,大家應該有很多期待。例如:加座標說明、畫格線、換顏色.....

現在我們利用繪製卡方分配曲線來舉例說明plot的更多用法。

在MATLAB中,函數chi2pdf(卡方值, 自由度)可以計算出卡方分配的機率密度,也許你不知道什麼是卡方值、也不知道什麼是自由度,這些都不重要。只要知道輸入兩個變數,chi2pdf會產生0到1之間的實數就可以了!

先來畫一個自由度為4的卡曲線吧!matlab 的指令如下:

>> x=0:0.1:15;
>> y=chi2pdf(x,4);
>> plot(x,y);
>> 

得到以下圖型




如果要將自由度為1, 2, 4, 8 四條曲線畫在一起,就是要將四組(x,y)放入plot中,也就是
plot(x1,y1,x2,y2,x3,y3,x4,y4)。

再做一次吧!程式碼如下:

>> x=0:0.1:15;
>> y1=chi2pdf(x,1);
>> y2=chi2pdf(x,2);
>> y4=chi2pdf(x,4);
>> y8=chi2pdf(x,8);
>> plot(x,y1,x,y2,x,y4,x,y8);
>> 

得到以下圖型






也許你對線條的顏色、圖例...有很多意見,現在我們來做細部調整。這些調整可以用文字命令的方式來設定,但可以設定的參數實在太多了,MATLAB提供了圖型介面來設定,我們就直接在圖型中改設定吧!

點選右上角的圖示,以顯示編輯工具



圖型的右邊會多一個【Plot Browser】功能表、下方會多一個【Property Editor】功能表

如果沒有顯示這兩個功能表,檢查一下《View》,最下方兩個勾勾有沒有出現?如上圖。

1. 點選圖型中央
2. 點選《X Axis》
3. 在《X Label》輸入卡值

完成上述三步驟,在圖型的X軸就會出現【卡方值】

同理,點選《Y Axis》,再輸入【機率】,得到下圖:



接著:
1.點選藍色線條
2. 在《Display Name》輸入【自由度=1】
3. 右上角出現相對應的文字
如下圖:



同理,將另外三條線,分別輸入【自由度=2】,【自由度=4】及【自由度=8】

最後在工具列上按【Insert Legend】,得到最後的結果:




如果想隱藏說明文字, 只要再按一次相同的圖示。
滑鼠按住圖示文字,拖曳至理想的位置

這樣子算大功告成了,最後別忘了把它存起來,再插入WORD中。

在以上過程中,你一定也發現可以修訂的內容實在太多了,將線條改有註記符號(圓圈, 三角形...), 或虛線... 大家可以慢慢試。有時間再來說怎樣用文字命令來設定....!







沒有留言:

張貼留言