MATLAB Answers

How to average certain columns in a matrix

3 views (last 30 days)
I have a 107x16 matrix, the first column is time data, the last 15 are data points. I'd like to average the 15 data columns and collapse this matrix into a 107x2 matrix of time and average data.
Thank you!

Accepted Answer

madhan ravi
madhan ravi on 2 Jul 2021
Edited: madhan ravi on 2 Jul 2021
matrix = rand(107, 16);
Matrix = [matrix(:, 1), mean(matrix(:, 2 : end), 2)];
size(Matrix)
ans = 1×2
107 2

More Answers (1)

madhan ravi
madhan ravi on 2 Jul 2021
T = array2table(rand(2, 3))
T = 2×3 table
Var1 Var2 Var3 _______ _______ _______ 0.8811 0.32473 0.53106 0.63365 0.29403 0.93199
T = [T(:, 1), array2table(mean(T{:, 2 : end}, 2), 'V', {'AVERAGE'})] % where Var1 is the time data
T = 2×2 table
Var1 AVERAGE _______ _______ 0.8811 0.4279 0.63365 0.61301

Products


Release

R2020b

Community Treasure Hunt

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

Start Hunting!