MATLAB繪圖零基礎入門(一)

2021-02-18 今天我禿了嗎

大家好!我是Henry!

上一期的Python爬蟲實踐中,Henry導入了Matplotlib庫進行了新冠疫情的每日新增的繪圖。其實Matplotlib的原型是另一門應用非常廣泛的語言——Matlab。最近Henry也學習了一些Matlab的繪圖技巧,分享給大家~

我們先放幾張效果圖~

看到這裡,是不是覺得很酷炫呢!那跟著我一起來學習吧!

一、MATLAB初印象

1.什麼是MATLAB?

MATLAB的實際含義是Matrix Laboratory,從名字我們知道,最初設計出來為了更好的理解線性代數(Linear algebra),後來逐步演化為現在的功能及其強大的MATLAB。

2.如何下載MATLAB?

3.MATLAB界面熟悉

二、開始繪圖

1.簡單平面函數圖像

x=0:0.5:4;  % 這裡表示,x變量為[0,4],中間每隔0.5寫一個坐標值,作為橫軸。y=2*x+1;    % 變量y=2x+1,作為縱軸。plot(x,y)   % 調用plot函數,橫縱軸變量作為參數,進行繪圖。

點擊運行(Run),得到圖像。

y=2x+1

我們再嘗試一個複雜的平面圖像  ,輸入如下代碼

x=0:pi/100:2*pi;              %定義變量x為[0,2pi],每隔pi/100標註一個坐標值,作為橫軸y=2*exp(-0.5*x).*cos(4*pi*x); %定義變量y,exp(x)表示自然底數的指數函數e的x次方,.*表示點乘plot(x,y)                     %調用plot函數,進行繪圖

運行結果為

我們再嘗試一個極坐標函數圖像  ,輸入如下代碼

t=0:pi/50:2*pi;        %定義變量t[0,2pi],每隔pi/50標註一個坐標值,作為橫軸r=sin(t).*cos(t);      %定義變量r=sint·cost, .*表示點乘(內積)polarplot(t,r);        %這裡不能直接調用plot函數,而是專門繪製極坐標圖的polarplot函數。

運行結果為

2.繪製子圖。

有時候,我們需要在一張紙上,繪製多個圖,就需要用到subplot函數,創建多個圖像。具體用法為:

subplot(m,n,i)% 這條語句表示,創建一個m行n列的畫布(即可以畫m*n個圖像),現在進行第i個圖像的繪製

在這裡補充幾個圖的類型:條形圖(bar),階梯圖(stairs),杆圖(stem),填充圖(fill),我們通過實際的例子來學習,順便用一下剛學的子圖,將這幾個圖畫在同一張畫布上。
我們選取的例子為簡單的平面函數: 

x=0:pi/10:2*pi;          %定義x變量為[0,2pi],每隔0.1pi標記一個點,作為橫軸y=2*sin(x);              %定義變量y=2*sinxsubplot(2,2,1);                 %創建一個2行2列的畫布,現在進行第一張圖的繪製bar(x,y,'g');                   %繪製一張以x,y為橫縱坐標的條形圖,顏色用綠色(green)title('bar(x,y,''g'')');        %創建第一張圖的標題為「bar(x,y,''g'')」axis([0,7,-2,2]);               %控制顯示的坐標軸的長度,x為[0,7],y為[-2,2]subplot(2,2,2);                 %現在進行第二張圖的繪製stairs(x,y,'b');                %繪製一張以x,y為橫縱坐標的階梯圖,顏色用藍色(blue)title('stairs(x,y,''b'')');     %創建第二張圖的標題為「stairs(x,y,''b'')」axis([0,7,-2,2]);               %控制顯示的坐標軸的長度,x為[0,7],y為[-2,2]subplot(2,2,3);                 %現在進行第三張圖的繪製stem(x,y,'k');                  %繪製一張以x,y為橫縱坐標的杆圖,顏色用黑色(black)title('stem(x,y,''k'')');       %創建第三張圖的標題為「stem(x,y,''b'')」axis([0,7,-2,2]);               %控制顯示的坐標軸的長度,x為[0,7],y為[-2,2]subplot(2,2,4);                 %現在進行第四張圖的繪製fill(x,y,'y');                  %繪製一張以x,y為橫縱坐標的填充圖,顏色用黃色(yellow)title('fill(x,y,''y'')');       %創建第四張圖的標題為「fill(x,y,''y'')」axis([0,7,-2,2]);               %控制顯示的坐標軸的長度,x為[0,7],y為[-2,2]

運行結果如下:

3.繪製三維圖像

往往,我們還需要繪製三維函數圖像,我們還是從例子中學習。

先舉一個大家熟悉的例子:空間螺線(  )

t=0:pi/100:20*pi;        %定義變量t[0,20pi],每隔pi/100標註一個坐標值x=sin(t);                %定義變量x=sinty=cos(t);                %定義變量y=costz=t;                     %定義變量z=tplot3(x,y,z);                %調用繪圖函數plot3,表示繪製三維圖像,三個參數分別為x,y,z軸值title('Line in 3-D Space');  %標題為「Line in 3-D Space」xlabel('X');ylabel('Y');     %給x,y,z軸分別加上標籤(label),即命名zlabel('Z');grid on;         %grid on 表示打開網格,會出的圖像會出現網格

運行結果為:

t=0:pi/20:2*pi;                 %定義參數t[0,2pi],每隔pi/100標註一個。[x,y,z]= cylinder(2+sin(t),30); %將x,y,z定義為花瓶型並繪圖(cylinder本身為圓柱,這裡將表面調整了)subplot(2,2,1);                 %創建一個可以畫四個圖的子圖,這裡畫其中第一個mesh(x,y,z);                    %mesh為繪製網格曲面圖的函數subplot(2,2,2);                 %畫第二個圖[x,y,z]=sphere;                 %將x,y,z定義為球形並繪圖mesh(x,y,z);subplot(2,1,2);                 %畫第三個圖[x,y,z]=peaks(30);              %將x,y,z定義為多峰型並繪圖mesh(x,y,z);

運行結果如下:

三、總結

Markdown語言——數學公式

Python爬蟲實例(一)——爬取某點小說網《慶餘年》

Python爬蟲實例(二)——爬取新冠疫情每日新增人數

寫在最後:

歡迎大家關注我的知乎帳號:HenryLau

歡迎大家關注我的CSDN帳號:HenryLau7

相關焦點

  • 【Matlab】繪圖
    反正我們材料剛開始做實驗的時候,同時還在學matlab,對軟體還不熟練,做起來磕磕絆絆的。不過還好第一節實驗課,導師給我們講matlab的一些有關於數據分析的用法(假設)我們看到很多人覺得matlab非常適合數據分析,實際上也確實很多人在用matlab進行數據分析。那我們自己使用matlab進行數據分析並繪圖是個什麼情況呢?
  • 史上最全matlab科研繪圖函數匯總,拿走不謝
    很久以前,小編給大家分享過如何用matlab輸出高質量圖片 (
  • 算法工匠MATLAB專訓營:Matlab繪圖,小試牛刀
    下面我們一起來學習Matlab繪圖的基本知識和相關命令。這麼多用處,大家一定要學好哦!MATLAB擁有強大的繪圖功能,軟體提供了一系列的繪圖函數,用戶不需要過多的考慮繪圖的細節,只需要給出一些基本參數就能畫出所需圖形。這類畫圖函數稱為高層繪圖函數。
  • matlab vs R
    matlabRzeros(1,5)numeric(10)integer(10)double(10)ones(1,5)rep(1,5)eye(5)diag(5)matlab 通過 zeros(1,5) 來生成行向量,其值全為零。而 R 沒有行向量與列向量的區分,本質上仍然是向量。
  • matlab繪圖(一)
    plot和fplot可以說是一對"雙胞胎"了,前者主要對具體的數值坐標進行繪圖,而後者主要是對函數進行繪圖。其中plot是所有繪圖命令中最常用的一個命令。plot的常用調用格式為:plot(x1,y1,x2,y2,...
  • 數學建模必備:Matlab常用15大算法+繪圖工具
    本次課程包含內容豐富,各種繪圖工具介紹(數模獲獎論文圖是非常重要的內容,如果沒有數學圖基本無緣獲獎),各種普通算法實現(數據處理、圖像處理、擬合、插值、概率統計),各種智能算法實現(蟻群算法、SVM、神經網絡、遺傳算法、模擬退火、蒙特卡羅)。還有更多更多豐富的工具。「Matlab從入門到算法實踐」系列已經進行了五期。
  • 快題零基礎入門(二)——繪圖工具選擇
    繪圖工具  2.平面畫法  3.立面畫法  4.剖面畫法  5.總平畫法  6.軸側圖畫法(因為越來越多的學校開始畫軸側圖而不是透視,並且軸側對沒有手繪基礎的同學會更容易掌握一些)   一.繪圖工具     「工欲善其事,必先利其器"。好用的工具直接決定了我們畫圖的效率。一套高效的繪圖工具非常重要。  1.
  • 數據挖掘Matlab零基礎自學學習路線圖
    matlab簡介:MATLAB是美國MathWorks公司出品的商業數學軟體,用於算法開發、數據可視化、數據分析以及數值計算的高級技術計算語言和交互式環境,主要包括MATLAB和Simulink兩大部分。
  • 一文了解Matlab如何製作動態圖像
    今天的推文,我們主要來介紹matlab中幾種繪製動態圖像的方法。
  • Matlab入門教程 | 010 Matlab 繪圖的萬能公式
    作者:Daniel時間:2020/8/25問題導向,從零開始,快速上手,高效學習,熟練掌握Matlab編程。大家好!今天,小編告訴大家一個萬能繪圖公式和步驟,讓你一分鐘之內領略到Matlab作圖要領!plotname可以是上面列舉的任意一個繪圖函數:plot, fplot, bar,mesh,...
  • 算法工匠線上訓練營:MATLAB繪圖小試牛刀(20時直播)
    下面我們一起來學習Matlab繪圖的基本知識和相關命令。MATLAB擁有強大的繪圖功能,軟體提供了一系列的繪圖函數,用戶不需要過多的考慮繪圖的細節,只需要給出一些基本參數就能畫出所需圖形。這類畫圖函數稱為高層繪圖函數。而且MATLAB還提供了直接對圖形句柄進行操作的低層繪圖操作,這樣就可以直接對畫好的圖形直接操作。
  • 幫你快速入門MATLAB
    d:\matlab5\toolbox\matlab\funfund:\matlab5\toolbox\matlab\sparfund:\matlab5\toolbox\matlab\graph2dd:\matlab5\toolbox\matlab\graph3dd:\matlab5\toolbox\matlab\specgraph
  • Matlab 基礎入門(7)- 數據導入導出
    在之前的基礎入門章節,我們講到如何在Workspace中保存 .mat 文件。
  • matlab科研繪圖之包絡線繪製
    介紹一種用matlab包絡線的方法,該方法用到了matlab求局域最大最小值函數,大家有什麼好的建議和方法,歡迎在下方留言討論。原始碼:% 示例數據來源於matlab幫助文檔x = -200:0.1:200;A = (1-cos(2*pi*0.01*x)).
  • 使用 matlab 進行傅立葉分析和濾波
    如果x長度小於N,則對x補零,使之與N相等;反則,則對x進行截取。對應的逆變換有兩種,分別為x=ifft(y)和x=ifft(y.N)。一般而言,N點fft的結果y,在處對應的頻率為最高採樣率的一半,y的後一半與前一半對稱。
  • 32個實用matlab編程技巧
    今天給大家介紹一些matlab編程小技巧,希望對大家學習matlab有所幫助。 14、在進行繪圖操作時,多使用figure命令,其作用是新建一個空的繪圖窗口,接下的繪圖命令可以將圖繪製在它裡面,而不會覆蓋其他繪圖窗口。 15、在命令窗口輸入edit或open+函數名可以快速打開m文件。 16、元胞數組可以存儲不同類型和大小的數據。
  • matlab小例子:秒懂互相關與褶積
    採取四種方法計算以信號g為參考的f與g之間的互相關,分別是按時間域離散公式直接計算、調用matlab的xcorr函數計算、調用matlab的conv函數計算、在頻率域計算。代碼如下圖所示:接下來,我們繪製原始信號和互相關結果的波形。
  • 關於Matlab的那些事
    B.友好的界面,易於操作 ,雖然matlab一打開總看到命令行窗口,其實matlab有很多的GUI工具箱,可以很方便實現很多功能,對於一些不喜歡寫代碼的人來說,使用起來非常方便。舉些例子曲線擬合工具箱cftool,曲面擬合工具箱sftool ,遺傳算法工具箱gatool等等C.matlab繪圖功能,matlab可以非常方便的繪製二維,三維,四維,矢量圖形。
  • MATLAB基礎教程-臺大郭彥甫-學習筆記6
    matlab會 refresh ,把之前的圖給清掉,如果 想保留,用 指令 hold on所以說,matlab對圖形很nice知道了繪圖物件的屬性,接下來就要去修改屬性modifying properties of an object修改屬性strtegy:1.
  • matlab和c語言的區別
    一、MATLAB簡介本文引用地址:http://www.eepw.com.cn/article/201808/388129.htmMATLAB是美國MathWorks公司出品的商業數學軟體,用於算法開發