A is the same as the number of rows in B.
The general definition of matrix multiplication is as follows: If A is a n×m matrix and B is a m×p matrix, their product C will be a n×p matrix such that the general element cij of C is given by
cij=∑k=1maikbkj.
Note that in general AB is not equal to BA (matrix multiplication is not commutative).
Example:
[1234]×[560−1]=[541514]
Since a vector is simply a one-dimensional matrix, the definition of matrix multiplication given above also applies when a vector is multiplied by an appropriate matrix, e.g.,
[1234]×[23]=[818].
The operator * is used for matrix multiplication, as you may have guessed. For example, if
a =
1 2
3 4
and
b =
5 6
0 -1
the statement
c = a * b
results in
c =
5 4
15 14
Note the important difference between the array operation a .* b (evaluate by hand and check with MATLAB) and the matrix operation a * b.
To multiply a matrix by a vector in that order, the vector must be a column vector. So if
b = [2 3]'
the statement