標籤:

Matlab|Matlab二維繪圖

大家好呢~ 我是被@iGuo 抓來寫代碼的16級小萌新,下面是我這幾天學習的關於Matlab的一些知識。

Matlab是非常強大的數學軟體,作為剛剛開始學習的我就先從把數據變為圖像開始做起吧。下面是關於Matlab中用plot()進行繪圖的學習記錄;畢竟是剛學的,如果有錯誤的話還請大家批評指正咯~

nn那麼看這篇文章有什麼要求呢?

  • 了解Matlab的基本語法

  • 了解Matlab的基本數據類型

開始吧~

nn一、繪製線圖主體

我們先來看看Matlab自己是怎樣定義plot()的:

nnplot Linear plot.

nn plot(X,Y) plots vector Y versus vector X.nIf X or Y is a matrix,

nn then the vector is plotted versus the rowsnor columns of the matrix,

nn whichever line up. If X is a scalar and Y is a vector,ndisconnected

nn line objects are created and plotted asndiscrete points vertically at X.

nn(可以在Matlab的command window里輸入help plot查看更多信息)

這裡要提的是plot()繪圖的方法是描點做圖,它會在兩個點之間連上直線,所以點的個數越多曲線越平滑,越少曲線越趨近折線。

接下來我們通過實例來講解plot()的各種用法:

1. n繪製向量

plot(a);n

nn一般來講,繪製二位的圖像都需要兩個變數分別對應縱軸橫軸,但是在Matlab里如果只有一個變數(或者說一個一維行/列向量)也可以繪製圖像;這時圖像的橫軸將會是變數的索引。

>> a = 1:2:16; %定義一個從1到16步長為2的變數nna =nn 1 3 5 7 9 11 13 15nn>> figure; %創建一個新的圖形窗口nn>> plot(a); %繪製a的曲線,從下圖可以看出橫坐標是每一個a的索引,縱坐標是它的值n

為了更清楚地看出每個a所在的位置,可以描出a這樣更直觀

>> figure;nn>> plot(a,-*); %畫出實線並將a用*描出(稍後會詳細講解它的參數)n

2. n繪製矩陣

plot(matrix);%matrix為矩陣n

在繪製矩陣時, Matlab會將矩陣元素在矩陣中所在行的索引當作橫坐標,將它的值當作縱坐標,對矩陣每一列都分別繪製一條曲線。(在Matlab中矩陣的索引是按照列從上到下進行編排的)

>> matrix=[1,2,3,4;1,2,3,4;1,2,3,4]; %我們創建一個3×4的矩陣nnmatrix =nn 1 2 3 4nn 1 2 3 4nn 1 2 3 4nn>> figure;nn>> plot(matrix,-*); %繪製圖像並描點n

3. n兩個變數

plot(x,y)%x,y為兩個變數n

在使用兩個變數繪圖時,第一個參數為橫軸,第二個參數為縱軸。

>> x=0:pi/100:2*pi;nn>> y=sin(x);nn>> figure;nn>> plot(x,y);n

>> x=[1,2,3,4];nn>> y=[4,6,5,7]; %注意兩個矢量的長度必須相同nn>> figure;nn>> plot(x,y);n

從這張圖可以看出來plot()的繪圖方式是描點連線

4. n在同一個圖中繪製多條曲線

方法一

>> x=0:pi/100:2*pi;nn>> y1=sin(x);nn>> y2=cos(x);nn>> figure;nn>> plot(x,y1,x,y2); %同時畫出y1,y2n

方法二

>> x=0:pi/100:2*pi;nn>> y1=sin(x);nn>> y2=cos(x);nn>> figure;nn>> plot(x,y1); %先畫y1nn>> hold on; %顧名思義這個是讓Matlab在畫完第一個圖後等一下再創建圖形窗口繪圖nn>> plot(x,y2); %再畫y2 在畫第二個圖形前不能用figure再次新建圖形窗口n

二、更改曲線類型,顏色及標記點

1. n曲線的類型,顏色

plot(x,y,P); %P為參數 如『--』,』--*』/『red』/』--r』n

新添加的參數P就指明了曲線的類型或者是顏色,如果同時改動需要把曲線類型寫在前面顏色寫在後面,如-.b

>> x=0:pi/100:2*pi;nn>> y=sin(x);nn>> figure;nn>> plot(x,y,--) %這裡我們將曲線的類型改為虛線n

>> x=0:pi/100:2*pi;nn>> y=sin(x);nn>> figure;nn>> plot(x,y,red); %將曲線的顏色改為紅色n

2. n曲線的類型、顏色、粗細、標記點的顏色、類型、大小

plot(x,y,』—pr,...nn『Color,red,...nnlinewidth,1.5,...nnMarkerEdgeColor,r,...nnMarkerFaceColor,m,...nnMarkerSize,10)n

這個和剛才的一樣也有類型和顏色,那麼有什麼區別呢?其實也就是,剛才的是簡單版,對於沒有大量修改的圖用起來比較方便,這個是完整版,可以更改所有的曲線屬性。

具體為

plot(…,』Property Name』, Property Value, …)n

>> x=0:pi/10:2*pi;nn>> y=sin(x);nn>> figure;nn>> plot(x,y,--p,... %設定曲線類型為虛線 標記點形狀為星形nnColor,red,...%設定曲線顏色為紅色nnlinewidth,3,...%設定曲線寬度為3 pointsnnMarkerEdgeColor,b,...%設定標記點的邊緣為藍色nnMarkerFaceColor,g,...%設定標記點的填充為綠色nnMarkerSize,7);%設定標記點的大小為7 pointsn%這裡為了展示我的設定都比較誇張,請根據需要合理設定n

附表(知乎不能插表格):

三、對圖像的修飾(此部分不再做圖)

1.添加橫縱坐標標籤

title(『這是標題』);nnxlabel(『這是橫軸標籤』);nnylabel(『這是縱軸標籤』); nnlegend(『這是曲線1的圖例』,』這是曲線2的圖例』,...)n

這樣我們就簡單的為圖表添加了文字

2.更複雜的標籤

title(標題文字,FontName,Times New Roman,FontWeight,Bold,FontSize,16);nnxlabel(橫坐標標籤,FontName,Times NewnRoman,FontSize,14,FontWeight,bold,Color,r);nnylabel(縱坐標標籤,FontName,Times NewnRoman,FontSize,14,FontWeight,bold,Color,r);nnlegend(圖例,Location,best);n

3. n網格和邊框

grid on; %添加網格nngrid off; %去掉網格 默認狀態nnbox on; %添加右上邊框 默認狀態nnbox off; %去掉右上邊框n

更多項目介紹,請關注我們的項目專欄:

Chinas Prices Project - 知乎專欄項目聯繫方式:

  • 項目郵箱(@iGuo 的郵箱):zhangguocpp@163.com
  • 申請加入項目或者想給項目提供指導和幫助,請聯繫CHO @Suri :liuxiaomancpp@163.com
  • 知乎:@iGuo (CEO)@Suri (COO&CHO,Human) @林行健@Dementia (CTO)@張土不 (CFO)@張一 (CRO,Research)

推薦閱讀:

漫談Simulink:什麼是代數環?
研究電力電子化電力系統穩定性的利器——阻抗法
MATLAB App Designer教程連載5: App Designer和MVC模式
MATLAB+seconds(1)
MATLAB 高級數據結構連載 3:金融時間序列Financial Time Series (Part C) 跟蹤股票賬戶權益的變動

TAG:MATLAB |