MATLAB: Mean value of array

arraymean

I have one single dimension array containing doubles (A), and a 2 columns, x rows long matrix containing positions that should be applied to the single dimensioned array(B).
what i want to do is: for each row in B the 1st column and the 2column should pick values from the A array and find the mean value of the two.
So far i've used
for k=1:length(B)
C(k) = mean([A(B(k,1)) A(B(k,2))])
end
I wanted to go another way, withouth using the for loop.
somthing like:
C = mean([A(B(:,1)) A(B(:,2))])
but i dont succeed in doing it.
Do you have any sugestions?

Best Answer

Hi,
I think you forgot to specify the dimension. Try
C = mean([ A(B(:,1)), A(B(:,2))],2)