Matrix indexing lets you pick or change specific parts of a matrix by using row and column numbers. It helps you work with data easily.
You want to get the value in a specific row and column of a matrix.
You need to change a value inside a matrix at a certain position.
You want to extract a smaller part (submatrix) from a bigger matrix.
You want to loop through rows and columns to process matrix data.
You want to check or compare values at certain positions in a matrix.
Syntax
MATLAB
matrix(row, column)
Row and column numbers start at 1 in MATLAB, not 0.
You can use ':' to select all rows or all columns.
Examples
Gets the value at row 2, column 3 of matrix A.
MATLAB
A(2,3)
Selects all columns in the first row of matrix A.
MATLAB
A(1, :)
Selects all rows in the second column of matrix A.
MATLAB
A(:, 2)
Extracts a submatrix from rows 2 to 4 and columns 1 to 3.
MATLAB
A(2:4, 1:3)
Sample Program
This program shows how to get a value, change a value, and extract a submatrix using matrix indexing.
MATLAB
A = [10, 20, 30; 40, 50, 60; 70, 80, 90];
% Get value at row 2, column 3
val = A(2, 3);
fprintf('Value at row 2, column 3: %d\n', val);
% Change value at row 1, column 1
A(1, 1) = 99;
fprintf('New matrix after change:\n');
disp(A);
% Extract submatrix rows 1-2, columns 2-3
sub = A(1:2, 2:3);
fprintf('Submatrix (rows 1-2, cols 2-3):\n');
disp(sub);
OutputSuccess
Important Notes
Remember MATLAB indexes start at 1, not 0 like some other languages.
Using ':' means you select all rows or all columns in that dimension.
You can assign new values to parts of the matrix using the same indexing.
Summary
Matrix indexing uses (row, column) to access or change elements.
Use ':' to select entire rows or columns easily.
It helps to work with parts of matrices like single elements or submatrices.
Practice
(1/5)
1. In MATLAB, how do you access the element in the 2nd row and 3rd column of a matrix A?
easy
A. A(3, 2)
B. A[2, 3]
C. A(2, 3)
D. A{2, 3}
Solution
Step 1: Understand MATLAB indexing syntax
MATLAB uses parentheses with row and column indices in the form A(row, column).
Step 2: Apply to given indices
To get the element in the 2nd row and 3rd column, use A(2, 3).
Final Answer:
A(2, 3) -> Option C
Quick Check:
Matrix indexing = A(2, 3) [OK]
Hint: Remember: first index is row, second is column [OK]
Common Mistakes:
Swapping row and column indices
Using square brackets instead of parentheses
Using curly braces which are for cell arrays
2. Which of the following is the correct syntax to select the entire 4th row of a matrix B in MATLAB?
easy
A. B(:, 4)
B. B(4, :)
C. B(4)
D. B[4, :]
Solution
Step 1: Recall how to select entire rows or columns
In MATLAB, : means all elements in that dimension. To select the entire 4th row, use B(4, :).
Step 2: Check options
B(:, 4) selects the 4th column, B(4) is invalid for 2D matrix, and square brackets are not used for indexing.
Final Answer:
B(4, :) -> Option B
Quick Check:
Row selection = B(4, :) [OK]
Hint: Use ':' for all columns in a specific row [OK]
Common Mistakes:
Confusing row and column positions
Using square brackets for indexing
Omitting the colon for full dimension selection
3. Given the matrix C = [1 2 3; 4 5 6; 7 8 9], what is the output of C(2, 1:3)?
medium
A. [4 5 6]
B. [1 2 3]
C. [7 8 9]
D. [5 6 7]
Solution
Step 1: Identify the row and columns selected
C(2, 1:3) means row 2, columns 1 through 3.
Step 2: Extract elements from matrix
Row 2 of C is [4 5 6]. Selecting columns 1 to 3 gives the entire row.
Final Answer:
[4 5 6] -> Option A
Quick Check:
Row 2, cols 1-3 = [4 5 6] [OK]
Hint: Use row index first, then column range with ':' [OK]
Common Mistakes:
Selecting wrong row or column range
Confusing row and column indices
Expecting a single number instead of a vector
4. What is wrong with this MATLAB code snippet if D = [10 20 30; 40 50 60] and we want to select the 3rd row? row3 = D(3, :);
medium
A. Syntax error due to wrong indexing
B. Returns an empty array
C. Returns the last row instead of the 3rd
D. Runtime error because row 3 does not exist
Solution
Step 1: Check matrix size
Matrix D has 2 rows and 3 columns only.
Step 2: Analyze indexing for row 3
Trying to access row 3 with D(3, :) is invalid and causes a runtime error because that row does not exist.
Final Answer:
Runtime error because row 3 does not exist -> Option D
Quick Check:
Index out of bounds = runtime error [OK]
Hint: Check matrix size before indexing rows or columns [OK]
Common Mistakes:
Assuming MATLAB returns empty for out-of-range index
Confusing syntax error with runtime error
Expecting MATLAB to auto-expand matrix
5. You have a matrix E = [5 10 15; 20 25 30; 35 40 45]. How do you create a new matrix F that contains only the 1st and 3rd rows and the 2nd and 3rd columns of E?
hard
A. F = E([1 3], [2 3]);
B. F = E(1:3, 2:3);
C. F = E(:, [1 3]);
D. F = E([2 3], [1 2]);
Solution
Step 1: Identify required rows and columns
We want rows 1 and 3, and columns 2 and 3 from matrix E.
Step 2: Use indexing with vectors for rows and columns
In MATLAB, use E([1 3], [2 3]) to select these specific rows and columns.
Final Answer:
F = E([1 3], [2 3]); -> Option A
Quick Check:
Index rows and columns with vectors = F = E([1 3], [2 3]) [OK]
Hint: Use vectors in parentheses to pick specific rows and columns [OK]
Common Mistakes:
Using colon to select unwanted rows or columns
Swapping row and column indices
Using incorrect row or column numbers
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.