I have a array of 61 number, i want to take mean of 1st and 17th number, then 2nd and 18th number and then want to put this mean values in a array?

1 view (last 30 days)
I don't want to use loop here.

Answers (1)

KSSV
KSSV on 29 Jul 2021
A = rand(1,61) ;
idx = [(1:46)' (16:61)'] ; % get indices
iwant = mean(A(idx),2)
  7 Comments
KSSV
KSSV on 29 Jul 2021
A = rand(180,270,61) ;
idx = [(1:46)' (16:61)'] ;
B = zeros(180,270,46,2) ;
B(:,:,:,1) = A(:,:,idx(:,1)) ;
B(:,:,:,2) = A(:,:,idx(:,2)) ;
Check and then use....confirm the result with a loop.

Sign in to comment.

Products


Release

R2020b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!