MATLAB: Searching for vector values in a matrix

indeciesMATLABmatrixvector

Hi, I have a vector with 3 specific values and I want to find their indices in a matrix.

Best Answer

  • % Creating a sample matrix
    yourMatrix=reshape(1:15,5,3)
    yourMatrix =
    1 6 11
    2 7 12
    3 8 13
    4 9 14
    5 10 15
    % Creating a sample vector with three values.
    yourVector=[1,7,14];
    % Now getting the row and cols of those values.
    [rows, cols]=ind2sub( size(yourMatrix), ...
    arrayfun(@(v) find(yourMatrix==v), ...
    yourVector(:)) )
    rows =
    1
    2
    4
    cols =
    1
    2
    3
    The rows and cols of 1,7,14 (the three specific values) are provided. If you are looking only for linear index number then just run:
    linIndex=arrayfun(@(v) find(yourMatrix==v), yourVector(:))