Как выбрать один элемент из каждой строки матрицы с учетом индексов столбцов для каждой строки? - PullRequest
0 голосов
/ 20 февраля 2020

Например, если матрица

A = [11 22 33 11; ...
     44 55 66 34; ...
     67 45 33 22]

, то из каждой строки я хочу выбрать

col_idx = [2 4 1]    

, чтобы результат был

ans = 22
      34
      67

Другие подобные вопросы основаны на R или Python. Тем не менее, я ищу ответ на основе MATLAB. Любая помощь будет оценена.

1 Ответ

1 голос
/ 20 февраля 2020

Я бы использовал sub2ind для этого:

A = [11 22 33 11; 44 55 66 34; 67 45 33 22];

col_idx = [2 4 1]
row_idx = 1:size(A, 1)

A(sub2ind(size(A), row_idx, col_idx))

Вывод:

col_idx =
   2   4   1

row_idx =
   1   2   3

ans =
   22   34   67

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...