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版 張志湧編著,北京航空航天大學出...