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中使用各種函數來畫圖。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!