What does operator "dot" (.) mean?

121,604

Solution 1

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.^B is the matrix with elements A(i,j) to the B(i,j) power. The sizes of A and B must be the same or be compatible.

C.f.

¹) Hence the dot.

Solution 2

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.

Share:
121,604
JAN
Author by

JAN

The biggest C# and JAVA enthusiastic ever existed.

Updated on November 23, 2020

Comments

  • JAN
    JAN over 3 years

    Given the code :

     A = [1 2 3; 3 2 1]
     B = A.^2
    

    The output :

    B =
    
         1     4     9
         9     4     1
    

    But if I do this : B = A^2

    The output is :

    Error using  ^ 
    Inputs must be a scalar and a square matrix.
    To compute elementwise POWER, use POWER (.^) instead.
    

    What does the operator . do exactly ?