Averaging data between two integer and corresponding column of a matrix

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

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)

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

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.

Categories

Find more on Interpolation in Help Center and File Exchange

Asked:

on 21 Mar 2023

Edited:

on 23 Mar 2023

Community Treasure Hunt

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

Start Hunting!