Averaging data between two integer and corresponding column of a matrix

2 views (last 30 days)
I have this type of matrix
A = [1 2 3 4 5 6; 1.234 1.11 1.3 2.31 2.3 2.4]'
I want to average all data between two integer of 2nd column and corresponding data of firs clumn to form new matrix
  1 Comment
Sudhir Rai
Sudhir Rai on 23 Mar 2023
For A = [1 2 3 4 5 6; 1.234 1.11 1.3 2.31 2.3 2.4]'
I need output B= [2 7.5; 1.21 2.33]'
i.e average (1.234 1.11 1.3) and corresponding 1st column average = avg(1 2 3)
(1.234 1.11 1.3) is between 1 & 2
similarly (2.31 2.3 2.4) is between 2&3

Sign in to comment.

Answers (1)

KSSV
KSSV on 21 Mar 2023
A = [1 2 3 4 5 6; 1.234 1.11 1.3 2.31 2.3 2.4]' ;
idx = fix(A(:,2))==2 ;
mean(A(idx,1))
ans = 5
  1 Comment
Sudhir Rai
Sudhir Rai on 22 Mar 2023
Edited: Sudhir Rai on 23 Mar 2023
This not the out put I want
For A = [1 2 3 4 5 6; 1.234 1.11 1.3 2.31 2.3 2.4]'
I need output B= [2 7.5; 1.21 2.33]'
i.e average (1.234 1.11 1.3) and corresponding 1st column average = avg(1 2 3)
(1.234 1.11 1.3) is between 1 & 2
similarly (2.31 2.3 2.4) is between 2&3

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!