Matlab中的向量和數組(超詳細)

Matlab中的向量和數組(超詳細)


Matlab中的向量

介紹

matlab中的向量是隻有一行元素的數組,向量中的單個項通常稱爲元素。Matlab中的向量索引值從1開始,而不是從0開始。

創建向量

  • 直接輸入值
    例如:
    這裏既可以用逗號來分割,也可以用空格
    在這裏插入圖片描述
  • 使用冒號輸入某一數字範圍的值,例如,C=1:4:20,其中第一個數字是起始值,第二個數字是步長,第三個數字是終止值。如果步長是1的話,可以不寫步長

例如:
在這裏插入圖片描述

  • 使用函數linspace(\cdots):用於創建兩個限定值之間固定數量的值。

例如:
其中第一個數字是起始值,第二個數字是終止值,第三個數字是這個區間向量的個數
在這裏插入圖片描述

  • 函數zeros(1,n):創建全零的向量

例如:
其中第一個數字是數組的行數,第二個數字是數組的列數。
在這裏插入圖片描述

  • 函數ones(1,n):創建全1的向量

例如:
其中第一個數字是數組的行數,第二個數字是數組的列數。
在這裏插入圖片描述

  • rand(1,n):創建0~1之間的隨機數的向量

例如:

在這裏插入圖片描述

向量的大小

Matlab提供兩個函數來確定一般數組和特殊向量的大小:size()和length().

  • size():返回向量中的行的數量和列的數量。由於向量是一維的,所以第一個每次輸出都是一
    在這裏插入圖片描述
  • length():返回數組行列大小的最大值,對於向量,表示其長度

例如:

在這裏插入圖片描述

索引向量

通過在括號內輸入零個(全部輸出)或多個元素的索引值,可以單個或分組訪問向量中的元素。可以通過以下兩種方式中的任意一種訪問向量中的元素: 使用數值向量和邏輯向量。

數值索引

通過在括號內輸入零個或多個元素的索引值,可以單個或分組訪問向量中的元素。
例子:
在這裏插入圖片描述
另外,索引環境中的關鍵字end表示向量中的最後一個元素的索引
在這裏插入圖片描述
**注意:**在Matlab中在賦值操作中輸入的索引超過當前的邊界,Matlab會自動擴列,空位用零補齊,比如,我們在這個例子中輸入A(10)看看會有什麼結果。在這裏插入圖片描述

邏輯索引

我們來看一個例子:
創建了一個condition邏輯數組,通過數組來索引這個向量
在這裏插入圖片描述

縮短向量

有些時候,我們需要刪除向量中的元素。可以用索引將需要刪除的部分賦值爲[ ]
在這裏插入圖片描述
但是,縮短向量不是做正確的方法,因爲可能會導致一些邏輯問題,在可行的情況下,應該使用索引來複制需要保存的元素。

向量運算

算術運算

  • 向量中的加減法運算

可以看見是對向量中每個元素進行加法運算,減法也一樣
在這裏插入圖片描述

  • 向量中的乘法、除法.

例子

在這裏插入圖片描述

  • 向量中的指數

在這裏插入圖片描述
..**的區別:
對於矩陣和數字之間的運算,..**沒什麼區別,但是對於矩陣和矩陣之間,..* 表示矩陣對應元素相乘,而*表示矩陣乘法。

邏輯運算

向量的邏輯運算會產生的邏輯結果向量。
例如:
在這裏插入圖片描述
邏輯與(&)和邏輯或(|):

例子:
在這裏插入圖片描述

find():可以用find()函數查找值爲true的元素在一個邏輯向量中的索引值
例如:
在這裏插入圖片描述

sum()、min()、max()、round()、ceil()、floor()、fix()

sum():向量中元素的總和;
在這裏插入圖片描述
min()、max():返回向量中元素最小最大值;
在這裏插入圖片描述
round()、ceil()、floor()、fix():常規取整、向上取整、向下取整、向零取整
在這裏插入圖片描述

切片

切片操作能將一個向量中的指定元素複製到另一個向量的不同位置。
看一個簡單的例子:
在這裏插入圖片描述

Maltab中的數組

向量是聚集相似數據集的最簡單的方法。而數組是向量的拓展,使其包括多個維度的數組,其中二維數組是每行具有相同的列,並且每列具有相同的行。

數組的屬性

  • size():返回各個維度的大小

在這裏插入圖片描述

  • length():返回數組的最大維度
    在這裏插入圖片描述

創建數組

  • 直接輸入值
    和向量一樣,在數組中直接輸入值時,可以使用分號(;)或以新的一行來表示換行
    在這裏插入圖片描述

  • zeros(m,n):創建m行n列的全0的數組

  • rand(m,n):創建m行n列的0~1隨機數的數組

  • randn(m,n):創建m行n列的正態分佈隨機數的數組

  • diag():返回對角線上的元素

在這裏插入圖片描述

訪問數組元素

數組的索引是從列開始,從上往下依次爲1,2,3 , \cdots
例如:
在這裏插入圖片描述

數組運算

數組的算術運算

  • 數組之間的加減

例子:

在這裏插入圖片描述

  • 數組之間的乘法

數組和數字的乘法:對應元素相乘
例子:
在這裏插入圖片描述

數組與數組的乘法(*):一定要符合矩陣可乘。
例子
在這裏插入圖片描述

數組與數組之間的..*:對應元素相乘:

例子:

在這裏插入圖片描述

數組的邏輯運算

如果兩個數組具有相同的大小,或者其中一個數組是標量(及長度爲1的向量),邏輯運算可以同時執行在這兩個數組的各個元素上。
例如
在這裏插入圖片描述

sum()、max()、min()、round()、ceil()、floor()、fix()

  • sum():返回一個行向量,包含該數組每列的總和
    在這裏插入圖片描述

  • max()和min():分別返回一個行向量,每列的最大值和每列的最小值

在這裏插入圖片描述

連接數組

看一個簡單的例子
在這裏插入圖片描述

切片數組

對一個數組進行切片:A(對行索引,對列索引)

例子:
在這裏插入圖片描述

重塑數組

有些時候我們希望將某一維度的數組變形爲另一種維度的需求,函數reshape(\cdots)能完成這種邊形。

例子:
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章