2016-01-07 183 views
0

在Matlab中有什麼方法可以引用同一行中1維數組中的多個非連續元素,例如。例如: mean(strength(1:4,17:20)) 我想計算一個名爲strength的數組中的第1到第4個元素和第17到第20個元素的均值。除非明顯逗號不起作用,因爲那將是雙重索引,就好像它是一個矩陣,當它是一維時。是否有另一個符號可以用來代替逗號來執行此操作,或者您是否需要其他技術來執行此操作?Matlab:引用多個不連續的元素

+3

使用索引向量:'強度([1:4,17:20])'。逗號可選,可以用空格替換。 –

回答

1

像安德拉什說,在他的評論,你需要要在平均值的計算中包括了指數的向量:

正如你將引用與strength(i)向量的第i個值,你可以有矢量代替I,這將給你所有指定的值的作爲另一矢量:

indexVector = [1:4, 17:20]; 
values = strength(indexVector); 

這將使您長度8包含值1的一個一維矢量:4和原始strength矢量的17:20 ,這將允許你使用mean(strength)

可以繞過寫這些變量,並且只需使用:

mean(strength([1:4, 17:20]))