數據處理:Matlab之向量和數組的基本操作

2021-02-19 無距書鄉

點擊上方藍字關注 無距書鄉 

在《Matlab:學習我不需要編程基礎!》一文中,我們對matlab做了簡要介紹。本文來說說matlab 中使用數據的常用形式——向量,也就是一維數組。二維數組就是矩陣了,我們下次再寫。

向量 (vector)

matlab中的向量分為行向量和列向量兩種。行向量的數據之間用逗號或者空格隔開;列向量的數據之間用分號隔開。

創建向量

在命令行窗口可以通過兩種方式創建一個行向量,如向量A 和 向量B。

A=[1,2,3,4,5,6]

B=[1 2 3 4 5 6] 

通過分號可以創建一個列向量,如向量C。

C=[3;6;1;8;9;5]

下面看看一些有規律的向量如何創建,例如等差數列型向量。

Matlab中使用如下方式創建等差型向量:K=[x0:d:xn],其中x0是起始點,xn是終點,d是等差,各數之間用冒號隔開。如:K=[0:2:20]。

這個向量一共有11個數,分兩行,第一行是第1到第8個數(列1-8),第二行是第9到11個數(列9-11)。當然,也可以創建實數向量,如:

L=[2.2 : 0.3 : 5.1]

等差d也可以是負數了。

向量加減乘除

向量的數量乘法,如D=2A=[2,4,6,8,10,12]。

注意:中間的乘號(*)不能省略。

向量加法和減法。如:E=B+D, F=B-D。

如果我們希望做兩個長度相等的向量的乘法,該怎麼操作了,這裡只需使用(.*)就可以實現兩個向量的對應元素相乘,這是一個規定的操作符號,大家記住就可以,因為乘法的種類稍多,只有一個(*)不夠用,所以加了一個點。

同樣的,對於兩個向量對應元素的除法,matlab使用(./)來實現。

上面說到,兩個向量做對應元素相乘時需要兩個向量的長度相等,那麼怎樣查看向量的元素個數呢,matlab 也是提供了相應的方法來查看向量長度的。例如,向量A的長度記作Na,使用length()這個命令就可以查看向量A的長度了。

好了,寫到這裡我們已經知道了怎樣在matlab中創建向量了,以及向量的加減乘除和判斷向量的長度了。

向量的函數方法

下面,我們看看如何對向量進行簡單的函數操作。比如說,拋物線y=x^2;對數函數y=ln(x);指數函數y=e^x。

y=x^2相當於y=x*x,所以這裡使用(.^)。

注意:這裡計算自然對數時使用的是log,而不是ln,因為matlab中默認log就是計算自然對數。如果計算10為底的對數時使用log10。

如果要計算一般數a為底的對數則要使用log()/log(a),例如:已知以3為底的指數z=3.^X,現在如果已知z和底數3,如何求X呢?這就要用到兩個對數做除法了。X =[     1     2     3     4     5  ]

這裡可以看到,w是等於X的。

最後,再看看指數函數,matlab 中使用exp(x)來計算e^x。請看示例:

一維數組(向量)的基本操作就寫到這裡了。回顧一下,我們學習了:

如何創建行向量,列向量和等差型向量,後面的計算中我們主要使用了行向量,列向量的操作也是類似的;

學習了向量的基本加減乘除方法;

最後介紹了一些常用的函數操作。

以上這些計算在matlab中使用的語句也很直白,甚至比板書還要簡單。對於初學者為了增強記憶,可以自己在matlab 的命令行窗口中輸入一遍這些命令體驗一番。

這麼簡單實用的工具,不來用一下嗎!

沒有 matlab 安裝包的同學可以私信我啦。

覺得有用的小夥伴點個讚吧,也希望你把這個系列擴散給你身邊的好朋友哦。

長按識別二維碼關注我

點個讚,攜手共進

回復「ishare」加入社區

相關焦點

  • Matlab | 點雲基本操作(一)
    Matlab是常用的數學工具,相比較於其他語言的特點是比較方便,集成有穩定的數學工具箱,我們所用到的點雲基本操作在matlab的CV工具箱裡
  • MATLAB的Cell數組操作
    5.3  Cell數組的基本操作本小節結合示例對元胞數組的一些基本操作進行介紹。【例3-26】  元胞數組的合併。
  • MATLAB一維數組(向量)的定義
    在 MATLAB 中,向量和矩陣主要是由數組表示的。
  • matlab官方快速入門----矩陣和數組
    MATLAB®主要用於處理整個的矩陣和數組,而其他程式語言大多逐個處理數值,所有 MATLAB 變量都是多維數組,與數據類型無關。矩陣是指通常用來進行線性代數運算的二維數組。數組創建要創建每行包含四個元素的數組,請使用逗號 (,) 或空格分隔各元素。
  • 提高matlab代碼運行速度的一點心得(之三)
    另外,由於matlab在存儲管理上的不便,使得在同時提高時空兩域的效率變得更加困難,特別是在空間上(因為在時間上matlab提供了profiler這個非常有用的工具,但是在空間上就沒有)。當需要處理大量的數據時,精簡時空兩域的程序語句就尤為重要了。1.
  • matlab vs R
    matlab 暫時還沒有很明確的函數可以與之對應。table data.frame()tibble() #tibble 包總而言之,matlab 中皆為數組,不論是行向量、列向量,還是字符、字符串,甚至是時間,它都是數組的特殊形式。
  • MATLAB的cell數組
    5 Cell數組元胞數組(cell)是MATLAB的一種特殊數據類型。可以將元胞數組看做一種無所不包的通用矩陣,或者叫做廣義矩陣。組成元胞數組的元素可以是任何一種數據類型的常數或者常量,每一個元素也可以具有不同的尺寸和內存佔用空間,每一個元素的內容也可以完全不同。和一般的數值矩陣一樣,元胞數組的內存空間也是動態分配的。
  • Matlab強大的數組處理功能如何解決圖像處理解析方案
    但是對於多維數組,同樣的操作要複雜得多」,造成這一問題的根源在於Matlab與C++對多維數組元素的存儲方式不同。而在本項目開發過程中迴避了這個複雜的過程,轉而利用Matlab強大的數組處理功能將其解決。
  • MATLAB時間與日期的基本操作
    MATLAB提供了如下函數進行元素操作,請見表3-12。7.3 日期和時間計算與繪圖本小節將為讀者介紹日期和時間的相關加、減、繪圖操作。MATLAB提供了多種函數以供使用,見表3-13。7.4 日期和時間作為數值和字符如果用戶在使用2014a及以前版本,或者和其他使用之前版本的人共享代碼時,這就需要處理存儲為雙精度數值或字符串形式的日期和時間數據。
  • matlab和c語言的區別
    MATLAB和MathemaTIca、Maple並稱為三大數學軟體。它在數學類科技應用軟體中在數值計算方面首屈一指。MATLAB可以進行矩陣運算、繪製函數和數據、實現算法、創建用戶界面、連接其他程式語言的程序等,主要應用於工程計算、控制設計、信號處理與通訊、圖像處理、信號檢測、金融建模設計與分析等領域。
  • 學習筆記|MATLAB-5 數組計算、調用函數、獲取幫助
    獲取幫助MATLAB的設計讓您能夠自然地處理數組。例如,您可以將一個標量值與數組中的所有元素相加。y = x + 2將 1 與 v1 的每個元素相加,然後將結果存儲在名為 r 的變量中。r=v1+1 您可以將任意兩個大小相同的數組相加。z = x + y創建一個向量 vs,它是向量 v1 和 v2 的和。
  • MATLAB數組的常用函數
    這些函數在MATLAB中可以同時作用於整個矩陣或者數組,應用起來非常方便,不需要再另寫循環程序來對各元素分別進行計算。掌握這些函數是進一步學習的基礎。MATLAB人性化的地方在於其自帶函數基本是按照相對應的英文名稱縮寫而來,所以便於記憶。
  • 值得收藏 | 如何用matlab做出酷炫的圖像
    本文承接在matlab入門基礎操作介紹的兩篇推文之後,在matlab入門(下)中介紹了部分繪圖相關的操作,本文首先做一點簡單回顧,
  • MATLAB矩陣與數組
    在MATLAB中,一般情況下一個矩陣就是指一個長方形的數組。特殊情況有兩個,一是單一元素的標量,二是只有一行或者一列的矩陣,也就是向量。MATLAB也有其他儲存數值和非數值數據的方式,但是對於初學者來說,最好是將所有的情況都考慮為矩陣,這樣更容易使用。MATLAB的設計理念是所有的操作儘可能的自然。
  • 深入淺出MATLAB數據處理之文件讀寫
    但是最基本的文件操作,讀取數據的函數使用方法沒有給大家講,只是一個沒有思想的代碼操作工,今天和大家剖析一下最常見的fopen、fread函數使用方法,先來看看fileID = fopen(filename,permission,machinefmt,encodingIn)該函數的作用是打開一個文件,我們重點需要看的是參數設置,對我們後續操作的影響
  • Python Numpy 數組的基本操作示例
    Numpy是一個通用的數組處理包。它提供了一個高性能的多維數組對象,以及處理這些數組的工具。它是Python科學計算的基本包。
  • Matlab基礎知識概述
    在時間進入20 世紀九十年代的時候,MATLAB 已經成為國際控制界公認的標準計算軟體。到九十年代初期,在國際上30 幾個數學類科技應用軟體中,MATLAB 在數值計算方面獨佔鰲頭,而Mathematica 和Maple 則分居符號計算軟體的前兩名。Mathcad 因其提供計算、圖形、文字處理的統一環境而深受中學生歡迎。
  • MATLAB簡單粗暴教程(二十七)——MATLAB裡簡單的統計函數
    另一方面matlab博大精深,包含了很多的東東,讓我目不暇接。很多函數觸及到的功能有點過於專業,本人難以理解。我已經盡我的全力進行寫作了,希望大家有對這方面比較熟悉一點的可以和我取得聯繫或者提供響應的稿子,十分感謝!
  • MATLAB簡單粗暴教程(二十八)——MATLAB裡簡單的統計函數
    PS 據說二爺的matlab交流微信群每滿100人就會發紅包…加群方式在後面…言歸正傳一、表示集中趨勢和離散的函數1. geomean 幾何平均值用法:m = geomean(X)若X是向量,若X是向量,返回其所包含數據的峰度。若X是矩陣,返回一個分別包含其每列數據峰度的行向量。若X是多維數組,則該函數從第一個維數大小不為1的數組開始計算,並將元素視為數組。 k = kurtosis(X,flag)flag為是否修正偏差。默認是1,不修正。若其為0,則進行修正。其餘同上。
  • matlab是什麼程式語言?matlab是程式語言嗎
    使之更利於非計算機專業的科技人員使用。而且這種語言可移植性好、可拓展性極強,這也是MATLAB能夠深入到科學研究及工程計算各個領域的重要原因。強大處理MATLAB是一個包含大量計算算法的集合。其擁有600多個工程中要用到的數學運算函數,可以方便的實現用戶所需的各種計算功能。函數中所使用的算法都是科研和工程計算中的最新研究成果,而且經過了各種優化和容錯處理。