给定代码:
A = [1 2 3; 3 2 1]
B = A.^2
输出 :
B =
1 4 9
9 4 1
但如果我这样做:B = A^2
输出是:
Error using ^
Inputs must be a scalar and a square matrix.
To compute elementwise POWER, use POWER (.^) instead.
操作员具体.
做什么?
点本身不是运算符,.^
是。
是.^
逐点¹(即逐元素)幂,逐点乘积.*
也是如此。
.^
阵列电源。是具有幂的元素的A.^B
矩阵。和的大小必须相同或兼容。A(i,j)
B(i,j)
A
B
比照
¹) 因此点。
MATLAB 文档中有一整页专门讨论该主题:数组与矩阵运算。它的要点如下:
MATLAB® 有两种不同类型的算术运算:数组运算和矩阵运算。您可以使用这些算术运算来执行数值计算,例如,将两个数字相加、将数组的元素提高到给定的幂或将两个矩阵相乘。
矩阵运算遵循线性代数的规则。相比之下,数组操作逐个元素地执行操作并支持多维数组。句点字符 (
.
) 将数组运算与矩阵运算区分开来。但是,由于矩阵和数组运算对于加法和减法是相同的,所以字符对.+
和.-
是不必要的。