matlab中线形_MATLAB在绘图时的用法——线形图
MATLAB有很強的繪圖功能,我們可以通過簡單的代碼畫出一些直觀而漂亮的代碼。
在MATLAB中繪圖首先需要設定x的范圍,一般使用冒號來創建向量。
x = 0:pi/100:pi; &x 為0到pi之間以pi/100為步長的向量。
一、基本的繪圖處理:
1、基本繪圖常用函數:
(1) plot() 二維圖形的繪制
要求:x和y需要有相同長度的向量
調用形式:
plot(x) :繪制出以x為縱坐標值的折線圖,橫軸值默認為1、2、3……。
plot(x,y): 繪制出以x向量為自變量的y函數在給出x的范圍內的圖像。
plot(y): 在給定的x范圍內繪制出函數y的圖像。
plot(x1,y1,……xn,yn):繪制多個X、Y對組的圖,注意所有線條都使用相同的坐標區。(x1,x2,x3……xn都應相同)
plot(x,y'……') 此類形式方便對線形顏色等屬性的修改。給形式在后面詳述。
>> x = 0:pi/100:2*pi;
>> y = sin(x);
>> y1 = cos(x);
>> plot(x);
>> plot(x,y);
>> plot(x,y,x,y1);
(2) fplot() 符號函數的繪制
函數fplot可以根據函數的表達式自動調整自變量的范圍,無須給函數賦值,直接生成能反應函數變化規律的圖形,
調用格式:
fplot(y) : 在默認區間[-5 5](對于x)繪制由函數y = f(x)定義的曲線。
fplot(y,xinterval):將在指定區間繪圖。將區間指定為[xmin xmax]形式的二元素向量。
fplot(funx,funy):在默認區間[-5 5](對于t)繪制由x = funx(t)和y = funy(t)定義的曲線。
fplot(funx,funy,interval):將在指定區間繪圖。將區間指定為[tmin tmax]形式的二元素向量。
fplot( ,linespace) linespace 為線形,次函數可以修改所繪制圖像曲線的線形。
>> fplot(@(x) sin(x)) %繪制匿名函數,使用句柄。
>> fplot(@(t)t.*sin(t),@(t)t.*cos(t)) %繪制參數方程,x =t*sin(t);y =t*cos(t);
&其它例子大致相同
注意該fplot函數中的y以及funx,funy所代表的函數,它們一般是以句柄的形式給出。
關于MATLAB中句柄的建立以及使用請參考:Matlab中函數句柄@的作用及介紹 - alexanderkun - 博客園?www.cnblogs.com
(3)plotyy() 雙Y軸圖形繪制
該函數可以在一個圖中創建有兩個Y軸的圖形。
調用格式:
plotyy(x1,y1,x2,y2): 繪制Y1對X1的圖,在左側顯示y軸標簽,并同時繪制Y2對X2的圖,在右側顯示y軸標簽。
plotyy(x1,y1,x2,y2,function):使用指定的繪圖函數生成圖形。
常見的function函數有plot、semilogx(半對數圖中按照x軸的對數刻度繪制數據。)、semilogy(半對數圖中使用y軸的對數刻度繪制數據。)、loglog(雙對數圖)、stem(繪制離散序列數據)
詳細參見文末鏈接。
plotyy(x1,y1,x2,y2,'function1','function2'):使用function1(X1,Y1)繪制左軸的數據,使用function2(X2,Y2)繪制右軸的數據。
>> x = 0:pi/100:2*pi;
>> y1 = sin(x);
>> y2 = cos(x);
>> plotyy(x,y1,x,y2)
>> x = [0,10^6,7]
>> y3 = x;
>> y4 = exp(x);
>> plotyy(x,y3,x,y4,'semilogx')
(4) ezplot() 符號函數的繪制
ezplot()函數與fplot函數的功能基本相似,可以方便地繪制表達式或函數的圖形。與fplot函數不同的是函數的表達式顯示在圖形的上方,同時對坐標軸可以不加任何限制作圖。
調用格式:
ezplot(fun): 繪制表達式fun(x)在默認定義域 -2π
ezplot(fun,[xmin,xmax]):繪制fun(x)在以下域上的圖形:xmin
對于隱函數,fun2(x,y):
ezplot(fun2) 在默認域 -2π < x < 2π 和 -2π < y < 2π 中繪制 fun2(x,y) = 0。
ezplot(fun2,[xymin,xymax]) 在 xymin < x < xymax 和 xymin < y < xymax 域中繪制 fun2(x,y) = 0。
ezplot(fun2,[xmin,xmax,ymin,ymax]) 在 xmin < x < xmax 和 ymin < y < ymax 域中繪制 fun2(x,y) = 0。
>> subplot(221)
>> ezplot('x^2+sin(x)');
>> subplot(222)
>> ezplot('x^2+sin(x)',[-2,8])
>> subplot(223) %subplot()函數可以在一張圖幅上畫出多個圖像,如下圖所示。
>> subplot(2,2,[3,4])
>> ezplot('x^2+sin(x)',[-2,5,-1,20])
對于半對數圖,雙對數圖參考以下鏈接:半對數圖 - MATLAB semilogx - MathWorks 中國?ww2.mathworks.cn半對數圖 - MATLAB semilogy - MathWorks 中國?ww2.mathworks.cn雙對數刻度圖 - MATLAB loglog - MathWorks 中國?ww2.mathworks.cn繪制離散序列數據 - MATLAB stem - MathWorks 中國?ww2.mathworks.cn
本文參考:
清華大學出版社《MATLAB基礎與可視化編程》
MATLAB MathWorks官網
---------------------------------------------------------------------------------------
本文部分數據、代碼和方法介紹來源于網絡。
本文僅供大家參考學習,歡迎指正!
更多MATLAB學習資源請入QQ群:953314432。
總結
以上是生活随笔為你收集整理的matlab中线形_MATLAB在绘图时的用法——线形图的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java线程的优先级
- 下一篇: Java线程调度