数组和矩阵运算
介绍
MATLAB®有两个不同类型的算术运算:数组操作和矩阵运算。您可以使用这些算术运算进行数值计算,例如,添加两个数,提高给定数组的元素力量,或两个矩阵相乘。
线性代数的矩阵运算遵守规则。相比之下,数组操作执行操作和支持多维数组元素的元素。金宝app这一时期字符(。
)区分矩阵的数组操作操作。然而,由于矩阵和数组操作是相同的加法和减法,这个角色对。+
和。- - - - - -
是不必要的。
数组操作
数组操作执行相应元素的元素上的操作元素的向量,矩阵,和多维数组。如果操作数有相同的大小,那么在第一个操作数可以匹配每个元素与元素在相同的位置在第二个操作数。如果操作数有兼容的大小,那么每个输入是隐式地根据需要扩展其他的大小相匹配。有关更多信息,请参见兼容数组大小的基本操作。
作为一个简单的例子,您可以添加两个向量具有相同的大小。
= (1 1 1)
= 1 1 1
B = (1 2 3)
B = 1 2 3
A + B
ans = 2 3 4
如果一个操作数是一个标量,另一个不是,然后用MATLAB含蓄地扩展了标量同样大小的其他操作数。例如,您可以计算一个标量的element-wise产品和一个矩阵。
一个= [1 2 3;1 2 3)
一个= 1 2 3 1 2 3
3 . *
答6 9 3 6 9 = 3
隐式扩张还如果你减去1×3向量3 x3的矩阵,因为这两个尺寸是兼容的。当您执行减法,3×3的矩阵向量是隐式地扩大成为一个。
A = [1 1 1;2 2 2;3 3 3]
一个= 1 1 1 2 2 2 3 3 3
m = (2 4 6)
m = 2 4 6
一个米
ans = 1 3 5 0 2 4 1 1 3
一个行向量和列向量大小兼容。如果您添加一个2×1的1×3向量向量,那么每个向量隐式地展开成一个2×3矩阵在MATLAB执行element-wise加法。
x = (1 2 3)
x = 1 2 3
y = [10;15)
y = 10 15
x + y
ans = 11 12 13 16 17 18
如果两个操作数的大小是不相容的,那么你得到一个错误。
一个= [8 1 6;3 5 7;4 9 2)
1 = 8 6 3 5 7 4 9 2
4 m = [2]
m = 2 4
一个米
矩阵维度必须一致。
下表提供了MATLAB计算数组运营商的摘要。函数专用信息,点击链接在最后一列函数引用页面。
操作符 |
目的 |
描述 |
参考页面 |
---|---|---|---|
|
除了 |
|
+ |
|
一元加 |
|
uplus |
|
减法 |
|
- |
|
一元- |
|
uminus |
|
Element-wise乘法 |
|
次 |
|
Element-wise权力 |
|
权力 |
。/ |
对数组划分 |
|
rdivide |
|
离开数组划分 |
|
ldivide |
|
数组转置 |
|
转置 |
矩阵运算
线性代数的矩阵运算遵守规则和多维数组不兼容。所需的大小和形状在彼此关系取决于输入操作。nonscalar输入的矩阵算子计算一般比数组运算符同行不同的答案。
例如,如果您使用矩阵分裂算子,/
把两个矩阵,矩阵必须有相同数量的列。但如果你使用矩阵乘法运算符,*
两个矩阵相乘,然后矩阵必须有一个共同的内部尺寸。也就是说,第一个输入的列数必须等于第二个输入的行数。矩阵乘法操作符与公式计算两个矩阵的乘积,
看到这,你可以计算两个矩阵的乘积。
= (4 1 3;2)
3 = 1 2 4
B = [3 0; 1 5]
B = 3 0 1 5
A * B
答15 10 20 = 6
前面的矩阵乘积不等于以下element-wise产品。
a * B
ans = 3 0 2 20
下表总结了MATLAB矩阵运算的运营商。函数专用信息,点击链接在最后一列函数引用页面。
操作符 |
目的 |
描述 |
参考页面 |
---|---|---|---|
|
矩阵乘法 |
|
mtimes |
|
矩阵左部 |
|
mldivide |
|
矩阵分裂 |
|
mrdivide |
|
矩阵幂 |
|
mpower |
|
复杂的共轭转置 |
|
ctranspose |