2016-04-19 3 views

ответ

2

использование sub2ind:

ret = [1 1; 
     2 2; 
     3 1; 
     4 4; 
     5 3]; 

A(sub2ind(size(A), ret(:,1), ret(:,2))) 
1

sub2ind - это почти наверняка путь, но если вам действительно нужно, чтобы он был быстрым, то вы может найти быстрее, просто вычислить линейные индексы самостоятельно:

A = [1 2 5 4 
    4 6 2 5 
    3 6 8 9 
    2 4 5 7 
    2 9 4 2] 

ret = [1 1; 
     2 2; 
     3 1; 
     4 4; 
     5 3]; 

n = size(A,1) 

A(ret(:,1) + (ret(:,2)-1)*n) 
Смежные вопросы