Given the code :
A = [1 2 3; 3 2 1]
B = A.^2
The output :
B =
1 4 9
9 4 1
There is a whole page in the MATLAB documentation dedicated to this topic: Array vs. Matrix Operations. The gist of it is below:
MATLAB® has two different types of arithmetic operations: array operations and matrix operations. You can use these arithmetic operations to perform numeric computations, for example, adding two numbers, raising the elements of an array to a given power, or multiplying two matrices.
Matrix operations follow the rules of linear algebra. By contrast, array operations execute element by element operations and support multidimensional arrays. The period character (
.) distinguishes the array operations from the matrix operations. However, since the matrix and array operations are the same for addition and subtraction, the character pairs.+and.-are unnecessary.
The dot itself is not an operator, .^ is.
The .^ is a pointwise¹ (i.e. element-wise) power, as .* is the pointwise product.
.^Array power.A.^Bis the matrix with elementsA(i,j)to theB(i,j)power. The sizes ofAandBmust be the same or be compatible.
C.f.
¹) Hence the dot.