Elementwise Multiplication (Dot Multiplication) of Matrices

27 views (last 30 days)
I am an instructor of MATLAB at a university. And we traditionally taught that for element-wise multiplication to work, both dimensions (row and column number) of each matrices must be exactly the same. For instance, you could multiply a 1x3 array with another 1x3 array, but not with a 4x1 array. And it used to be like that, otherwise, it would give an error, saying "matrix dimensions must agree".
I just noticed that at least in MATLAB 2017a, you actually can multiply various sizes of arrays element-wise. For example, you can multiply a 1x3 array with a 4x1 array, getting a 3x4 array. However, you still cannot element-wise multiply a 1x3 array with a say, 2x2 array. What is the rule for the dimensions when doing elemnent-wise multiplication there? And in which edition of MATLAB this change occurred?
Thank you.

Accepted Answer

Star Strider
Star Strider on 24 Mar 2018
It’s called ‘implicit expansion’, and was introduced in R2016b.
I can’t find a specific link to it. You can find it under Mathematics in the Release Notes (link) for R2016b.
  3 Comments
James Tursa
James Tursa on 24 Mar 2018
Edited: James Tursa on 24 Mar 2018
It applies to any two arrays as long as there is not a mismatch in an index where both dimensions are not equal to 1 and also not equal to each other. So not just for vectors and matrices.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!