How to calculate the average of a cell array?

59 views (last 30 days)
Hi, I have a cell array like this -
T = {[10, 1, 30], [15, 2, 10], [20, 3, 20]}
T = 1×3 cell array
{[10 1 30]} {[15 2 10]} {[20 3 20]}
I want to calculate the mean of T in a way that the result is a 1x3 double. And the result is,
T = [15, 2, 20]
It means the result should average the values of its position. (10+15+20)/3 = 15
Thank you!!

Accepted Answer

Voss
Voss on 7 Aug 2023
T = {[10, 1, 30], [15, 2, 10], [20, 3, 20]}
T = 1×3 cell array
{[10 1 30]} {[15 2 10]} {[20 3 20]}
M = vertcat(T{:})
M = 3×3
10 1 30 15 2 10 20 3 20
meanT = mean(M,1)
meanT = 1×3
15 2 20

More Answers (1)

Les Beckham
Les Beckham on 7 Aug 2023
T = {[10, 1, 30], [15, 2, 10], [20, 3, 20]}
T = 1×3 cell array
{[10 1 30]} {[15 2 10]} {[20 3 20]}
A = vertcat(T{:}) % make an array from the elements of the cell array by stacking them
A = 3×3
10 1 30 15 2 10 20 3 20
m = mean(A) % average the columns
m = 1×3
15 2 20

Categories

Find more on Matrices and Arrays in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!