Matlab基礎入門

尋夢新聞LINE@每日推播熱門推薦文章,趣聞不漏接❤️

加入LINE好友

MATLAB 入門

MATLAB (matrix&laboratory兩個詞的組合)是美國MathWorks公司出品的商業數學軟件,是可用於算法開發、 數據可視化、 數據分析以及數值計算的科學計算語言和編程環境,主要包括MATLAB和Simulink兩大部分。MATLAB可用於信號處理與通訊、生物技術、醫學、金融等眾多領域。全球數以百萬計的工程師和科學家使用 MATLAB 來分析和設計可改變世界的系統和產品。MATLAB的安裝激活等相關的內容我在這里就不做過多的介紹,下面直接上乾貨。

打開MATALB,默認的界面會如下圖所示:

在開始學習MATLAB的時候,我們可以通過在命令行窗口輸入簡單的語句來進行計算、畫圖等功能。MATLAB中的數據結構如下圖所示,可以分為標量(Scalar)、向量(Vector)、矩陣(Matrix)以及數組(Array)。

MATLAB中的數據類型包含了時間型(Time)、數值型(Numeric)、異構型和字符型(Heterogeneous and Text)、分類型(Categorical)、函數句柄型(Fucntion and Handle)和邏輯型(Logical)。通過使用眾多的數據結構和類型,我們可以進行做到各種各樣的數據分析、可視化處理以及存儲。

這些不同類型的數據我們可以通過手動輸入來生成也可以通過MATLAB內置的函數庫來做到,如下圖所示:在命令窗口手動輸入x=[19 13 7 11 2 17 5 3],就得到了一個1行7列的向量x。在MATLAB中我們可以直接通過=這個符號,對 = 左邊的目標變量進行賦值。進行向量或者矩陣賦值的時候需要把數值用中括號[]將數據括起來,每個數值之間用空格或者逗號分開時,數據是不進行分行的,我們得到的數據都是一行的。如果想要將數據進行分行,則需要用分號;把數據隔開,那麼就可以得到多行的數據。在進行數據賦值的時候冒號:也是經常使用的,如圖中所示當x被賦值為a:dx:b,那麼表示的意思則是x是一個從a開始的等差數列,公差為dx,x的最後一項a+dx應該小於或等於b。此外我們還可以通過MATLAB的函數庫內的各種函數來進行賦值,這是更常用的方法:這里舉一個簡單的例子,假如我們想要生成一個2行2列的單位矩陣,手動輸入則是在命令行窗口輸入:x=[1 0; 0 1],而使用函數則為:x=eye(2,2) (eye(n,m)生成一個n行m列的單位矩陣)。當我們的數據量小的時候還好,一旦很大,那麼顯然是使用函數更加方便和快捷。函數的具體使用功能(以eye為例)大家可以通過在MATLAB界面的右上角搜尋欄里面搜尋eye查看其功能,或者在命令行窗口輸入 help eye來查看其功能。當然對於新手來說看MATLAB自帶的文檔是有一定難度的,當看不懂的時候,建議大家請教周圍比較會使用的人,或者在‘百 ’‘度’搜尋相關的函數,一般你都會找到它的具體用法。

通過MATLAB名字的由來我們就能知道,其最大的優勢就是能進行矩陣運算。那麼在運算之前,我們來了解下MATLAB中的矩陣化的數據是如何來索引的。

如上圖所示:當我們生成一個數據矩陣A時,假如A是一個m行n列矩陣,那麼A(j,k)就代表了矩陣A中第j行k列中的數據。當我們想要讀取矩陣A中的多行或者多列的時候,我們可以通過在行列中間加冒號生成等差數列,從而讀取多行多列的數據。最後我們來談一下MATLAB中矩陣的運算,MATLAB中的矩陣運算十分的方便快捷,具體可以見以下的幾個圖。

MATLAB中矩陣和矩陣之間的乘法要符合矩陣運算的規則,否則無法運行。

很多時候,我們需要對兩個相同大小的矩陣每行每列的數據進行一對一的進行四則運算,那麼這個時候我們就要用到.*(點乘)。

MATLAB中的一些函數是可以對矩陣內的數據進行全局運算的,而不需要我們使用一些邏輯語句來進行一一計算,上圖就演示了一些函數在矩陣運算中快捷性。

明天我會介紹如何在MATLAB中使用各種函數來畫圖。