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 |