confusing regarding two cases of multiplication in MATLAB?

1 visualizzazione (ultimi 30 giorni)
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?

Risposta accettata

Jesus Sanchez
Jesus Sanchez il 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 Commenti
ABTJ
ABTJ il 16 Feb 2020
Modificato: ABTJ il 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 il 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).

Accedi per commentare.

Più risposte (1)

Steven Lord
Steven Lord il 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.

Prodotti


Release

R2015a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by