Bird
Raised Fist0
MATLABdata~5 mins

Matrix indexing (row, col) in MATLAB

Choose your learning style10 modes available
Introduction

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

  1. Step 1: Understand MATLAB indexing syntax

    MATLAB uses parentheses with row and column indices in the form A(row, column).
  2. Step 2: Apply to given indices

    To get the element in the 2nd row and 3rd column, use A(2, 3).
  3. Final Answer:

    A(2, 3) -> Option C
  4. 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

  1. 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, :).
  2. 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.
  3. Final Answer:

    B(4, :) -> Option B
  4. 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

  1. Step 1: Identify the row and columns selected

    C(2, 1:3) means row 2, columns 1 through 3.
  2. Step 2: Extract elements from matrix

    Row 2 of C is [4 5 6]. Selecting columns 1 to 3 gives the entire row.
  3. Final Answer:

    [4 5 6] -> Option A
  4. 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

  1. Step 1: Check matrix size

    Matrix D has 2 rows and 3 columns only.
  2. 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.
  3. Final Answer:

    Runtime error because row 3 does not exist -> Option D
  4. 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

  1. Step 1: Identify required rows and columns

    We want rows 1 and 3, and columns 2 and 3 from matrix E.
  2. 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.
  3. Final Answer:

    F = E([1 3], [2 3]); -> Option A
  4. 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 unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard