1. 程式人生 > 其它 >Matlab學習筆記(2)繪圖命令

Matlab學習筆記(2)繪圖命令

大綱

   1.二維繪圖 plot、subplot、ezplot

   2.多條曲線 plot(x,y1,'xxx',x,y2,'xxx',x,y3,'xxx',.........)

   3.特殊曲線

   4.雙縱座標函式

   5.三維圖形繪製


 

1.二維繪圖plot(x,y,s)

Function:該函式用於繪製不同線型和顏色等的二維圖形,其中引數s為字串,

可以代表不同的線型和顏色等。以下是s的相關引數。

                   


例子1:二維影象繪製,根據x的變化,函式為y=x*sin(π/6)

源程式

             

圖形顯示

             

例子2:用不同線型和顏色在同一座標系內繪製曲線

Y = 2*e^(-0.5*x)*(sin(2*pi*x))以及包絡線。

具體程式如下:

分析:由於e^(-0.5*x)是一個遞減函式,sin(2*pi*x)作為均勻振盪函式在-1和1之

間徘徊,則包絡線在函式極值點取到值,也就是極大值和極小值,只要將取得極值時

的x值取出即可,而這個值就是[-1,1]。

1).繪製包絡執行緒序

>> clear
>> x=(0:pi/100:2*pi)';
>> y1=2*exp(-0.5*x)*[-1,1];
>> plot(x,y1,'ro-');

效果圖

                            


2).繪製振盪衰減函式

Matlab源程式

hold on
y2=2*exp(-0.5*x).*sin(2*pi*x);
plot(x,y2,'b--');

效果圖

                       


 3).繪製極值點並用紅色點點標繪出來

Matlab源程式(求出極值點的函式,類似於擬合的方式連線)

x1=(0:12)/2;  //克隆運算子,預設步長是1
y3=2*exp(-0.5*x1).*sin(2*pi*x1);
hold on
plot(x1,y3,'g--');//描繪極值點的函式值,並用plot函式描繪起來
hold on
plot(x1,y3,'rp');

效果圖

                        

================================================

subplot(row,col,position)

如顯示兩行一列第一副影象

>> clear
>> syms x y
>> f=y-x-1/2*sin(y);
>> subplot(2,1,1),ezplot(f)

ezplot(f),符號函式,用來求解隱函式

                     

 


2.多條曲線 plot(x,y1,'xxx',x,y2,'xxx',x,y3,'xxx',.........)

     替代方法,可以採用hold on 命令持續的繪製曲線

 源程式

 x=(0:1:12);
y1=x;
y2=exp(-0.5*x);
y3=log(2*x);
plot(x,y1,'--r',x,y2,' *m',x,y3,':*b');

效果圖

                             


3.特殊曲線(Special Curve)

(1) stem –––– 繪製火柴桿圖

例如:  stem(t,y)

clear
t=(0:12);
y1=t.*exp(0.5*t);
stem(t,y1);

效果圖

                               

(2)bar––– 繪製直方圖

                例如:bar(t,y)

(3)stairs –––– 繪製階梯圖

               例如:stairs (t,y,’r’)

(4)pie –––– 餅圖

               例如:x=[1 2 3 2 1 1 ];

                   pie(x)

             

 

4.雙縱座標函式

 雙縱座標函式:Plotyy():能夠把函式值具有不同量綱,不同數量級的兩個函式繪製在同一個座標系中,呼叫格式為

Plotyy(x1,y1,x2,y2)個縱座標實現相應的功能,通過顏色區別對應的顏色曲線。

Source Code(繪製振盪衰減函式,速度不同)

 

>> clear
x=0:0.01:20;
y1=200*exp(-0.05*x).*sin(x);
y2=0.8*exp(-0.5*x).*sin(10*x);
[AX,H1,H2]=plotyy(x,y1,x,y2,'plot');
title('Multiple Decay Rates');
xlabel('Time(\musec)')
set(get(AX(1),'Ylabel'),'String','Slow Decay')   %%get()將內容輸入到指定位置上。
set(get(AX(2),'Ylabel'),'String','Fast Decay')    %%set(get(),‘格式’,‘內容’)
set(H1,'LineStyle','--')                     %%設定線型
set(H2,'LineStyle',':')

 

效果圖

                         

引數說明(Parameter instruction)

以下是    AX是座標軸的顯示和表現,H1是修改線型。(通過help命令可以查詢)

        

       

 


 

date:20220329

知行合一,方能走的長遠。