How MATLAB: Extract Submatrix with Logical Indexing
Date: 2023-03-30 11:27:50
In MATLAB, you can extract a submatrix from a larger matrix using logical indexing. Here's an example:
Let's say you have a matrix A
:
A = [1 2 3; 4 5 6; 7 8 9];
You can create a logical index by specifying a condition that returns true
or false
for each element in the matrix. For example, let's create a logical index for all elements in A
that are greater than or equal to 5:
logical_index = A >= 5;
The logical_index
variable will be a logical matrix of the same size as A
, with true
values where the condition is met, and false
values where it is not.
logical_index = [false false false;
false true true;
true true true];
To extract the submatrix that satisfies the condition, you can simply use the logical index as an index for A
:
submatrix = A(logical_index);
The submatrix
variable will be a column vector containing all the elements of A
that satisfy the condition:
submatrix = [5; 6; 7; 8; 9];
Alternatively, you can use the logical index to extract the submatrix directly:
submatrix = A(A >= 5);
This will give you the same result as before.