Bird
Raised Fist0
MATLABdata~10 mins

Special matrices (zeros, ones, eye, rand) in MATLAB - Step-by-Step Execution

Choose your learning style10 modes available
Concept Flow - Special matrices (zeros, ones, eye, rand)
Start
↓
Choose matrix type
↓
Matrix created
↓
Use matrix in program
↓
End
This flow shows how MATLAB creates special matrices: zeros, ones, eye, and rand, based on the chosen function and size.
Execution Sample
MATLAB
A = zeros(2,3);
B = ones(2,3);
C = eye(3);
D = rand(2,2);
Creates a 2x3 zero matrix, a 2x3 ones matrix, a 3x3 identity matrix, and a 2x2 matrix with random values.
Execution Table
StepActionFunction CallResulting Matrix
1Create zero matrix Azeros(2,3)[0 0 0; 0 0 0]
2Create ones matrix Bones(2,3)[1 1 1; 1 1 1]
3Create identity matrix Ceye(3)[1 0 0; 0 1 0; 0 0 1]
4Create random matrix Drand(2,2)[r11 r12; r21 r22] (random values between 0 and 1)
5End of matrix creationN/AAll matrices created successfully
💡 All special matrices created as per function calls.
Variable Tracker
VariableStartAfter Step 1After Step 2After Step 3After Step 4Final
Aundefined[0 0 0; 0 0 0][0 0 0; 0 0 0][0 0 0; 0 0 0][0 0 0; 0 0 0][0 0 0; 0 0 0]
Bundefinedundefined[1 1 1; 1 1 1][1 1 1; 1 1 1][1 1 1; 1 1 1][1 1 1; 1 1 1]
Cundefinedundefinedundefined[1 0 0; 0 1 0; 0 0 1][1 0 0; 0 1 0; 0 0 1][1 0 0; 0 1 0; 0 0 1]
Dundefinedundefinedundefinedundefined[r11 r12; r21 r22][r11 r12; r21 r22]
Key Moments - 3 Insights
Why does the matrix created by rand(2,2) have different values each time?
rand generates random numbers between 0 and 1 each time it runs, so the values change every execution as shown in step 4 of the execution_table.
What is special about the matrix created by eye(3)?
eye(3) creates an identity matrix with 1s on the diagonal and 0s elsewhere, as shown in step 3 of the execution_table.
Can zeros(2,3) and ones(2,3) create matrices of different sizes?
Yes, the numbers inside the parentheses define the size (rows and columns), so changing them changes the matrix size, as shown in steps 1 and 2.
Visual Quiz - 3 Questions
Test your understanding
Look at the execution_table at step 3. What does eye(3) produce?
AA 3x3 identity matrix with 1s on the diagonal
BA 3x3 matrix with all ones
CA 3x3 matrix with all zeros
DA 3x3 matrix with random values
💡 Hint
Check the 'Resulting Matrix' column at step 3 in the execution_table.
According to variable_tracker, what is the value of B after step 2?
A[0 0 0; 0 0 0]
B[1 1 1; 1 1 1]
C[1 0 0; 0 1 0; 0 0 1]
DRandom values matrix
💡 Hint
Look at the row for variable B and the column 'After Step 2' in variable_tracker.
If we change zeros(2,3) to zeros(3,2), how does the matrix A change?
AIt becomes a 2x3 matrix of ones
BIt becomes a 3x3 identity matrix
CIt becomes a 3x2 matrix of zeros
DIt becomes a 2x2 random matrix
💡 Hint
Recall that zeros(m,n) creates an m-by-n matrix of zeros, as shown in steps 1 and 2.
Concept Snapshot
Special matrices in MATLAB:
- zeros(m,n): matrix of zeros
- ones(m,n): matrix of ones
- eye(n): identity matrix (1s diagonal)
- rand(m,n): random values [0,1)
Use size arguments to set dimensions.
Full Transcript
This lesson shows how MATLAB creates special matrices using zeros, ones, eye, and rand functions. zeros(m,n) makes a matrix filled with zeros of size m-by-n. ones(m,n) makes a matrix filled with ones of size m-by-n. eye(n) creates an identity matrix of size n-by-n with ones on the diagonal and zeros elsewhere. rand(m,n) creates a matrix of size m-by-n with random decimal values between 0 and 1. The execution table traces each step creating these matrices, and the variable tracker shows how variables change after each step. Key moments clarify why rand produces different values each time, what makes eye special, and how matrix size depends on input arguments. The quiz tests understanding of matrix types, sizes, and values.

Practice

(1/5)
1. Which MATLAB function creates a matrix filled entirely with zeros?
easy
A. zeros
B. ones
C. eye
D. rand

Solution

  1. Step 1: Understand the function purpose

    The zeros function creates a matrix where every element is zero.
  2. Step 2: Compare with other functions

    ones creates all ones, eye creates identity matrix, rand creates random values.
  3. Final Answer:

    zeros -> Option A
  4. Quick Check:

    zeros = zeros matrix [OK]
Hint: Zeros means all elements are zero, so use zeros() [OK]
Common Mistakes:
  • Confusing zeros with ones
  • Thinking eye creates zeros
  • Using rand for zeros
2. Which of the following is the correct syntax to create a 3x3 identity matrix in MATLAB?
easy
A. eye(3)
B. ones(3,3)
C. zeros(3,3)
D. rand(3)

Solution

  1. Step 1: Recall identity matrix creation

    The eye(n) function creates an n-by-n identity matrix with ones on the diagonal.
  2. Step 2: Check syntax correctness

    eye(3) correctly creates a 3x3 identity matrix. Others create different matrices.
  3. Final Answer:

    eye(3) -> Option A
  4. Quick Check:

    eye(3) = 3x3 identity [OK]
Hint: Identity matrix uses eye(n) syntax [OK]
Common Mistakes:
  • Using ones or zeros instead of eye
  • Missing parentheses
  • Using rand for identity
3. What is the output of the following MATLAB code?
A = ones(2,3);
B = zeros(2,3);
C = A + B;
medium
A. [[2 2 2]; [2 2 2]]
B. [[0 0 0]; [0 0 0]]
C. [[1 1 1]; [1 1 1]]
D. Error due to size mismatch

Solution

  1. Step 1: Understand matrix creation

    ones(2,3) creates a 2x3 matrix of all ones, zeros(2,3) creates a 2x3 matrix of zeros.
  2. Step 2: Add matrices element-wise

    Adding ones and zeros element-wise results in the same ones matrix.
  3. Final Answer:

    [[1 1 1]; [1 1 1]] -> Option C
  4. Quick Check:

    ones + zeros = ones [OK]
Hint: Adding zeros keeps original values unchanged [OK]
Common Mistakes:
  • Thinking addition doubles values
  • Confusing matrix sizes
  • Expecting error on addition
4. Identify the error in this MATLAB code:
M = zeros(3);
M(2,4) = 5;
medium
A. Matrix must be created with ones, not zeros
B. Index exceeds matrix dimensions error
C. No error, code runs fine
D. Syntax error due to missing semicolon

Solution

  1. Step 1: Check matrix size

    zeros(3) creates a 3x3 matrix, so valid indices are 1 to 3 for both rows and columns.
  2. Step 2: Analyze indexing

    Accessing M(2,4) tries to access column 4, which does not exist, causing an index error.
  3. Final Answer:

    Index exceeds matrix dimensions error -> Option B
  4. Quick Check:

    Index out of range = error [OK]
Hint: Check matrix size before indexing [OK]
Common Mistakes:
  • Ignoring matrix size limits
  • Thinking semicolon causes error
  • Assuming zeros() creates bigger matrix
5. You want to create a 4x4 matrix with ones on the diagonal and random numbers between 0 and 1 elsewhere. Which MATLAB code achieves this?
hard
A. M = rand(4); M(eye(4) == 0) = 1;
B. M = eye(4) + rand(4) - diag(rand(4,1));
C. M = ones(4); M(eye(4) == 0) = rand(4);
D. M = rand(4); M(eye(4) == 1) = 1;

Solution

  1. Step 1: Understand the goal

    Create a 4x4 matrix with random values, then set diagonal elements to 1.
  2. Step 2: Analyze each option

    M = rand(4); M(eye(4) == 1) = 1; creates random 4x4 matrix, then replaces diagonal elements (where eye(4)==1) with 1, matching the requirement.
  3. Final Answer:

    M = rand(4); M(eye(4) == 1) = 1; -> Option D
  4. Quick Check:

    Random matrix with diagonal ones = M = rand(4); M(eye(4) == 1) = 1; [OK]
Hint: Set diagonal after random matrix creation using logical indexing [OK]
Common Mistakes:
  • Adding matrices incorrectly
  • Replacing wrong elements
  • Using ones() instead of random values
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