矩陣和陣列

2021-10-10 01:39:58 字數 2527 閱讀 1173

matlab 是「matrix laboratory」的縮寫形式。matlab® 主要用於處理整個的矩陣和陣列,而其他程式語言大多逐個處理數值。

所有 matlab 變數都是多維陣列,與資料型別無關。矩陣是指通常用來進行線性代數運算的二維陣列。

要建立每行包含四個元素的陣列,請使用逗號 (,) 或空格分隔各元素。

a = [1 2 3 4]

a = 1×4

1     2     3     4
這種陣列為行向量。

要建立包含多行的矩陣,請使用分號分隔各行。

a = [1 2 3; 4 5 6; 7 8 10]

a = 3×3

1     2     3

4 5 6

7 8 10

建立矩陣的另一種方法是使用 ones、zeros 或 rand 等函式。例如,建立乙個由零組成的 5×1 列向量。

z = zeros(5,1)

z = 5×1

0

0 00 0

matlab 允許您使用單一的算術運算子或函式來處理矩陣中的所有值。

a + 10

ans = 3×3

11    12    13

14 15 16

17 18 20

sin(a)

ans = 3×3

0.8415    0.9093    0.1411
-0.7568 -0.9589 -0.2794

0.6570 0.9894 -0.5440

要轉置矩陣,請使用單引號 (』):

a』ans = 3×3

1     4     7

2 5 8

3 6 10

您可以使用 * 運算子執行標準矩陣乘法,這將計算行與列之間的內積。例如,確認矩陣乘以其逆矩陣可返回單位矩陣:

p = a*inv(a)

p = 3×3

1.0000         0   -0.0000

0 1.0000 0

0 0 1.0000

format long

p = a*inv(a)

p = 3×3

1.000000000000000 0 -0.000000000000000

0 1.000000000000000 0

0 0 0.999999999999998

使用以下命令將顯示內容重置為更短格式

format short

format 僅影響數字顯示,而不影響 matlab 對數字的計算或儲存方式。

要執行元素級乘法(而非矩陣乘法),請使用 .* 運算子:

p = a.*a

p = 3×3

1     4     9

16 25 36

49 64 100

乘法、除法和冪的矩陣運算子分別具有執行元素級運算的對應陣列運算子。例如,計算 a 的各個元素的三次方:

a.^3

ans = 3×3

1           8          27

64 125 216

343 512 1000

串聯是連線陣列以便形成更大陣列的過程。實際上,第乙個陣列是通過將其各個元素串聯起來而構成的。成對的方括號 即為串聯運算子。

a = [a,a]

a = 3×6

1     2     3     1     2     3

4 5 6 4 5 6

7 8 10 7 8 10

使用逗號將彼此相鄰的陣列串聯起來稱為水平串聯。每個陣列必須具有相同的行數。同樣,如果各陣列具有相同的列數,則可以使用分號垂直串聯。

a = [a; a]

a = 6×3

1     2     3

4 5 6

7 8 10

1 2 3

4 5 6

7 8 10

複數包含實部和虛部,虛數單位是 -1 的平方根。

sqrt(-1)

ans = 0.0000 + 1.0000i

要表示複數的虛部,請使用 i 或 j。

c = [3+4i, 4+3j; -i, 10j]

c = 2×2 complex

3.0000 + 4.0000i 4.0000 + 3.0000i

0.0000 - 1.0000i 0.0000 +10.0000i

一 矩陣和陣列

矩陣和陣列 matlab 是 matrix laboratory 的縮寫形式。matlab 主要用於處理整個的矩陣和陣列,而其他程式語言大多逐個處理數值。所有 matlab 變數都是多維陣列,與資料型別無關。矩陣是指通常用來進行線性代數運算的二維陣列。陣列建立 要建立每行包含四個元素的陣列,請使用逗...

python中矩陣和陣列

我感覺張量是乙個統稱,陣列 矩陣這些都可被稱為張量。矩陣是陣列的特例。當陣列是二維的時候,就可以稱為矩陣。矩陣和二維陣列在某些場合可以通用。建立陣列 建立陣列時,錯誤的 將數值當作引數,array 裡面的引數應該是 9乙個列表或者乙個元組或者說在外觀上已經是乙個陣列了 numpy庫中的array將其...

python矩陣左除 矩陣和陣列的區別

陣列中的元素可以是字元等 矩陣中的只能是數 這是二者最直觀的區別。因為矩陣是乙個數學概念 線性代數裡的 陣列是個計算機上的概念。你見過純粹數學中有陣列的概念嗎?沒有。因為計算機上 準確的說是資訊科學中 常用到線性代數的知識,就引用了矩陣的概念。精通matlab6.5版 張志湧編著,北京航空航天大學出...