Bird
Raised Fist0
MATLABdata~10 mins

Matrix multiplication (*) in MATLAB - Step-by-Step Execution

Choose your learning style10 modes available
Concept Flow - Matrix multiplication (*)
Start with Matrix A and Matrix B
↓
Check dimensions: cols of A == rows of B?
↓
Error: Cannot multiply
↓
For each row i in A
↓
For each column j in B
↓
Calculate sum of A(i,k)*B(k,j) for k
↓
Store result in C(i,j)
↓
Repeat for all i,j
↓
Result: Matrix C
Matrix multiplication multiplies rows of A by columns of B, summing products to fill each element of result matrix C.
Execution Sample
MATLAB
A = [1 2; 3 4];
B = [5 6; 7 8];
C = A * B;
Multiply two 2x2 matrices A and B to get matrix C.
Execution Table
Stepi (row in A)j (col in B)k (sum index)A(i,k)B(k,j)ProductSum so farC(i,j)
11111555
211227141919
31211666
412228162222
5211351515
621247284343
7221361818
822248325050
9-------[End: Matrix C = [19 22; 43 50]]
💡 All rows and columns processed; matrix multiplication complete.
Variable Tracker
VariableStartAfter Step 2After Step 4After Step 6After Step 8Final
i-11222
j-12122
k-12122
Sum01922435050
C[0 0;0 0][19 0;0 0][19 22;0 0][19 22;43 0][19 22;43 50][19 22;43 50]
Key Moments - 3 Insights
Why do we need to check if the number of columns in A equals the number of rows in B?
Because each element in the result matrix C is computed by summing products of elements from a row in A and a column in B, so their sizes must match. See execution_table steps 1 and 5 where k runs over these matching dimensions.
Why do we sum products over k instead of just multiplying corresponding elements?
Matrix multiplication sums products over k to combine all elements in the row of A with the column of B. This is shown in execution_table where sum so far accumulates products at each k step.
Why is the result matrix C size 2x2 here?
Because A is 2x2 and B is 2x2, the result has rows from A and columns from B, so 2 rows and 2 columns. This matches the final C in execution_table step 9.
Visual Quiz - 3 Questions
Test your understanding
Look at the execution_table at step 4, what is the sum so far for C(1,2)?
A22
B16
C6
D0
💡 Hint
Check the 'Sum so far' column at step 4 for i=1, j=2.
At which step does the element C(2,1) get its final value?
AStep 5
BStep 6
CStep 7
DStep 8
💡 Hint
Look at when sum so far reaches 43 for i=2, j=1 in execution_table.
If matrix A had 3 columns instead of 2, what would happen to the execution_table?
AMatrix multiplication would fail due to dimension mismatch
BFewer i steps would appear
CMore k steps per i,j pair would appear
DNo change in execution_table
💡 Hint
Recall k runs over columns of A and rows of B; more columns means more k iterations.
Concept Snapshot
Matrix multiplication syntax: C = A * B
- Multiply rows of A by columns of B
- Sum products over matching dimension
- Result size: rows of A x columns of B
- Requires cols of A == rows of B
- Each C(i,j) = sum_k A(i,k)*B(k,j)
Full Transcript
Matrix multiplication takes two matrices A and B. We check if the number of columns in A equals the number of rows in B. If yes, for each row i in A and each column j in B, we multiply corresponding elements A(i,k) and B(k,j) for all k, summing these products. This sum becomes the element C(i,j) in the result matrix C. The process repeats for all rows and columns, producing matrix C. The example multiplies two 2x2 matrices step-by-step, showing how each element of C is calculated by summing products. The final matrix C is [19 22; 43 50].

Practice

(1/5)
1. Which of the following statements about matrix multiplication in MATLAB is correct?
easy
A. Matrix multiplication uses the operator .* in MATLAB.
B. The number of columns in the first matrix must equal the number of rows in the second matrix.
C. You can multiply any two matrices regardless of their sizes.
D. Matrix multiplication always produces a matrix of the same size as the first matrix.

Solution

  1. Step 1: Understand matrix multiplication size rules

    Matrix multiplication requires the number of columns in the first matrix to match the number of rows in the second matrix.
  2. Step 2: Identify correct operator and output size

    The operator for matrix multiplication is *, not .*, and the output size depends on the rows of the first and columns of the second matrix.
  3. Final Answer:

    The number of columns in the first matrix must equal the number of rows in the second matrix. -> Option B
  4. Quick Check:

    Matrix size rule = The number of columns in the first matrix must equal the number of rows in the second matrix. [OK]
Hint: Check matrix sizes: cols of first = rows of second [OK]
Common Mistakes:
  • Confusing element-wise (.*) with matrix multiplication (*)
  • Ignoring matrix size compatibility
  • Assuming output size equals first matrix size
2. Which of the following MATLAB commands correctly multiplies matrix A by matrix B?
easy
A. C = A * B;
B. C = A .* B;
C. C = A + B;
D. C = A / B;

Solution

  1. Step 1: Identify the correct operator for matrix multiplication

    In MATLAB, * is used for matrix multiplication, while .* is for element-wise multiplication.
  2. Step 2: Confirm the correct syntax

    The command C = A * B; correctly multiplies matrices A and B.
  3. Final Answer:

    C = A * B; -> Option A
  4. Quick Check:

    Matrix multiply uses * operator [OK]
Hint: Use * for matrix multiply, .* for element-wise multiply [OK]
Common Mistakes:
  • Using .* instead of * for matrix multiplication
  • Using + or / operators incorrectly for multiplication
  • Syntax errors with missing semicolons
3. What is the result of the following MATLAB code?
A = [1 2; 3 4];
B = [5 6; 7 8];
C = A * B;
medium
A. [[5 12]; [21 32]]
B. [[12 16]; [20 24]]
C. [[6 8]; [10 12]]
D. [[19 22]; [43 50]]

Solution

  1. Step 1: Multiply rows of A by columns of B

    Calculate each element: C(1,1) = 1*5 + 2*7 = 19; C(1,2) = 1*6 + 2*8 = 22; C(2,1) = 3*5 + 4*7 = 43; C(2,2) = 3*6 + 4*8 = 50.
  2. Step 2: Form the resulting matrix

    The resulting matrix C is [[19 22]; [43 50]].
  3. Final Answer:

    [[19 22]; [43 50]] -> Option D
  4. Quick Check:

    Matrix multiply result = [[19 22]; [43 50]] [OK]
Hint: Multiply rows by columns and sum products [OK]
Common Mistakes:
  • Adding matrices instead of multiplying
  • Using element-wise multiplication results
  • Mixing up row and column indices
4. Consider the MATLAB code below. What is the error and how to fix it?
A = [1 2 3; 4 5 6];
B = [7 8; 9 10];
C = A * B;
medium
A. Error: Use .* instead of * for multiplication.
B. No error, code runs correctly.
C. Error: Matrix dimensions must agree. Fix by making B a 3xN matrix.
D. Error: Use plus (+) instead of multiplication.

Solution

  1. Step 1: Check matrix sizes for multiplication

    A is 2x3, B is 2x2. Number of columns in A (3) does not equal number of rows in B (2), so multiplication is invalid.
  2. Step 2: Fix the error by adjusting B's size

    To multiply, B must have 3 rows. For example, B could be 3x2 matrix.
  3. Final Answer:

    Error: Matrix dimensions must agree. Fix by making B a 3xN matrix. -> Option C
  4. Quick Check:

    Matrix size mismatch error = Error: Matrix dimensions must agree. Fix by making B a 3xN matrix. [OK]
Hint: Check cols of A = rows of B before multiplying [OK]
Common Mistakes:
  • Ignoring dimension mismatch errors
  • Trying to use .* instead of * to fix size errors
  • Assuming multiplication works for any sizes
5. You have two matrices:
A = [1 0 2; -1 3 1];
B = [3 1; 2 1; 1 0];

Calculate the product C = A * B and identify the element at position (2,1) in matrix C.
hard
A. 4
B. 5
C. 3
D. 6

Solution

  1. Step 1: Verify matrix sizes for multiplication

    A is 2x3, B is 3x2, so multiplication is valid and result C will be 2x2.
  2. Step 2: Calculate element C(2,1)

    Multiply row 2 of A by column 1 of B: (-1)*3 + 3*2 + 1*1 = -3 + 6 + 1 = 4.
  3. Step 3: Recalculate carefully

    Recheck calculation: (-1)*3 = -3, 3*2 = 6, 1*1 = 1; sum = 4.
  4. Final Answer:

    4 -> Option A
  5. Quick Check:

    Sum products for C(2,1) = 4 [OK]
Hint: Multiply row 2 of A by column 1 of B and sum [OK]
Common Mistakes:
  • Mixing row and column indices
  • Forgetting negative signs in multiplication
  • Adding wrong elements or missing terms
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard