MATLAB允許兩種不同型別的算術運算 -
矩陣算術運算與線性代數中定義的相同。在一維和多維陣列中,逐個元素執行陣列運算。
矩陣運算子和陣列運算子由句點符號(.
)區分。 然而,由於對於矩陣和陣列的加減運算是相同的,因此對於這兩種情況,運算子相同。下表簡要說明了算術運算子 -
運算子 | 描述說明 |
---|---|
+ |
加法或一元加法運算。A + B 表示相加儲存在變數A 和B 中的值。A 和B 必須具有相同的大小,除非是標量。 標量可以新增到任何大小的矩陣。 |
- |
減法或一元減法運算。 A-B 表示從A 中減去B 的值。A 和B 必須具有相同的大小,除非是標量。可以從任何大小的矩陣中減去標量。 |
* |
矩陣乘法。 C = A * B 是矩陣A 和B 的線性代數乘積。更準確地說,執行公式: ,對於非標量A 和B ,A 的列數必須等於B 的行數。標量可以乘以任何大小的矩陣。 |
.* |
陣列乘法。 A .* B 是陣列A 和B 的逐個元素乘積。A 和B 必須具有相同的大小,除非它們之一是標量。 |
/ |
陣列乘法。A .* B 是陣列A 和B 的逐個元素乘積。A 和B 必須具有相同的大小,除非它們之一是標量。 |
./ |
陣列右除。A./B 是具有元素A(i,j)/ B(i,j) 的矩陣。 A 和B 必須具有相同的大小,除非它們之一是標量。 |
\ |
反斜槓或陣列左除。如果A 是一個方陣,A \ B 與inv(A)* B 大致相同,除了以不同的方式計算。如果A 是n×n 矩陣,B 是具有n 個分量的列向量或具有若干這樣的列的矩陣,則X = A \ B 是方程AX = B 的解。如果A是不規則或幾乎單數,將顯示警告訊息。 |
.\ |
陣列左除。A .\ B 是具有元素B(i,j)/ A(i,j) 的矩陣。A 和B 必須具有相同的大小,除非它們之一是標量。 |
^ |
矩陣 X ^ p 是X 的P 次冪,如果p 是標量。 如果p 是整數,則通過重複平方來計算冪值。 如果整數為負,則X 首先倒置。 對於p 的其他值,計算涉及特徵值和特徵向量,使得如果[V,D] = eig(X) ,則X ^ p = V * D. ^ p / V 。 |
.^ |
陣列冪值, A ^ B 是B(i,j) 到A(i,j) 的冪矩陣。A 和B 必須具有相同的大小,除非它們之一是標量。 |
' |
矩陣轉置。 ' 是A 的線性代數轉置。對於複數矩陣,這是復共軛轉置。 |
.' |
陣列轉置。.' 是A 的陣列轉置。對於複數矩陣,這不涉及共軛。 |
以下範例顯示了算術運算子對標量資料的使用。使用以下程式碼建立指令碼檔案:
a = 10;
b = 20;
c = a + b
d = a - b
e = a * b
f = a / b
g = a \ b
x = 7;
y = 3;
z = x ^ y
執行檔案時,會產生以下結果 -
c = 30
d = -10
e = 200
f = 0.50000
g = 2
z = 343