MATLAB Answers

confusing regarding two cases of multiplication in MATLAB?

1 view (last 30 days)
ABTJ
ABTJ on 16 Feb 2020
Answered: Steven Lord on 16 Feb 2020
I know that in MATLAB,we use ".*" and"*" for multiplication of matrices
But when one should use only "*" and when one should also use dot with asterik ".*" ??
Please kindly explain with examples
Especially if one operand is a scalar or 1X1 matrix and 2nd matrix is a row vector or column vector? In that case ,only asterik"*" will be sufficent?

  0 Comments

Sign in to comment.

Accepted Answer

Jesus Sanchez
Jesus Sanchez on 16 Feb 2020
".*" -> Element-wise multiplication
Example:
[1 2 3].*[1 2 3] = [1*1 2*2 3*3] = [1 4 9]
"*" -> Matrix multiplication
Example:
[1 2 3]*[1 2 3].' = [1*1 +2*2 +3*3] = [1+4+9] = [14]

  2 Comments

ABTJ
ABTJ on 16 Feb 2020
what if one operand is a scalar or 1X1 matrix and 2nd matrix is a row vector or column vector? In that case ,only asterik will be sufficent?
Image Analyst
Image Analyst on 16 Feb 2020
In the case where one variable is a scalar, either * or .* would work, though I, and I expect most other people, use only * (without the unneeded dot).

Sign in to comment.

More Answers (1)

Steven Lord
Steven Lord on 16 Feb 2020
See this documentation page for a discussion of the difference between array operations and matrix operations, including examples showing what each does.

  0 Comments

Sign in to comment.

Sign in to answer this question.