2013-09-17 3 views
-1

У меня есть 1x600 (rowsxcolumns) вектор, скажем, «А», где я хочу, чтобы получить доступ к следующим столбцам:извлечения из элементов из вектора в MATLAB

166 (column value is 2) 
256 (column value is 5) 
346 (column value is 8) 
436 (column value is 10) 
526 (column value is 13) 

После извлечения из этих столбцов, я хотите добавить свои соответствующие значения:

sum = 2 + 5 +8 + 10 + 13 

Может ли один помочь мне о том, как извлечь первые столбцы, а затем суммировать их значения? Благодаря!

+0

См: http://www.mathworks.com/help/matlab/math/matrix-indexing .html и http://www.mathworks.com/help/matlab/ref/sum.html –

ответ

0

Как это:

sum(A([166, 256, 346, 436, 526])) 

например,

A = [5,4,3,2,1]; 

A([3, 5]) %// i.e. get the 3rd and 5th column 

возвращает 3 1

так sum(A([3, 5])) возвращает 4

+0

Да! Но, прежде всего, как получить доступ к столбцам – Mokujin

+0

@ user2762192 да простите, я перепутал ваши значения с вашими индексами. Это верно. – Dan

1

Используйте

idxToSum = [166 256 346 436 526]; % or another way to give find your indices 
yourSum = sum(A(idxToSum)); 
Смежные вопросы