2016-02-01 3 views
1

Если у меня есть м х п матрицу , и м х 1 вектор б где каждое значение в [1, п]. Есть хитрость, чтобы получить [A (1, Ь (1), A (2, б (2), ...]Как получить доступ матричного элемента, указанный вектор

Прецедент:

for i = 1 : 10 
    A[i, b[i]] = A[i, b[i]] - 1; 
end 
+0

тхп Я ожидал бы апхп квадрат матрицы – Daniel

+2

Возможные дубликат [Как выбрать один элемент из каждого столбца матрицы в MATLAB?] (HTTP:. // StackOverflow .com/questions/8184090/how-to-select-one-element-from-each-column-of-a-matrix-in-matlab) – Daniel

+0

Я правильно интерпретирую, что 'b' является любым общим вектор длины 'm' с каждым элементом, имеющим значение от 1 до n, включительно и в определенном порядке? И в вашем вопросе вы запрашиваете выход как вектор, но в примере кода это матрица. какой результат вы ищете? Полный пример ввода/вывода сделает вещи более ясными. –

ответ

0

Возможно, в вашем случае . просто ошибка синтаксиса Попробуйте это:

for i = 1:10, 
    A(i,b(i)) = A(i, b(i)) - 1; 
end; 
Смежные вопросы