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