How do i get the values of a 2D matrix based on column indices ?

7 vues (au cours des 30 derniers jours)
YI CHONG ONG
YI CHONG ONG le 23 Sep 2020
Commenté : YI CHONG ONG le 23 Sep 2020
I know this is a simple question, but I cant seem to find answers on this.
Given a 2D matrix of any size and a vector of indices, I want to index the elements in the matrix based on the column indices values in order.
Eg.
matrix = [1 2 3
4 5 6
7 8 9] column indices = [1,3,1]
Output = [1,6,7] -> column index 1 = 1, column index 3 = 6, column index 1 = 7

Réponse acceptée

madhan ravi
madhan ravi le 23 Sep 2020
Modifié(e) : madhan ravi le 23 Sep 2020
Output = matrix(sub2ind(size(matrix), 1 : size(matrix, 1), column_indices))

Plus de réponses (1)

Ameer Hamza
Ameer Hamza le 23 Sep 2020
Use sub2ind()
matrix = [1 2 3
4 5 6
7 8 9];
cols = [1 3 1];
idx = sub2ind(size(matrix), 1:size(matrix, 1), cols);
matrix(idx)

Catégories

En savoir plus sur Matrix Indexing dans Help Center et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by