What does operator “dot” (.) mean?

前端 未结 2 486
暖寄归人
暖寄归人 2020-11-28 12:15

Given the code :

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

The output :

B =

     1     4     9
     9     4     1

相关标签:
2条回答
  • 2020-11-28 12:55

    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.

    0 讨论(0)
  • 2020-11-28 13:00

    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.

    • "Array vs. Matrix Operations": https://mathworks.com/help/matlab/matlab_prog/array-vs-matrix-operations.html
    • "Pointwise": http://en.wikipedia.org/wiki/Pointwise
    • "Element-Wise Operations": http://www.glue.umd.edu/afs/glue.umd.edu/system/info/olh/Numerical/Matlab_Matrix_Manipulation_Software/Matrix_Vector_Operations/elementwise

    ¹) Hence the dot.

    0 讨论(0)
提交回复
热议问题