average of first element of every cell

3 views (last 30 days)
Hello,
I have gotten such a headache trying to solve this one. It shouldn't be that difficult.
I have a table. Every cell has a vector coordinates like this [a b c] (a, b and c are some numbers).
I would like to do the mean of the first, second and third element of the every column. That is, if I have 9 columns I should get 9 vectors with the mean of every column.
I tried like this:
Average_Vector{j,i} = [mean(Vector_per_Point{j,i}(1)),mean(Vector_per_Point{j,i}(2)),mean(Vector_per_Point{j,i}(3))];
Vector_per_Point is the table containing a vector in each cell.
I know this line of code is wrong, as it only makes the mean of a cell. That means that I get the same table as in Vector_per_Point (since the average of only one number is the same number in itself).
The written line of code is in a for loop j=... and this loop is in another for loop i =...
Thank you.

Accepted Answer

Ameer Hamza
Ameer Hamza on 1 Dec 2020
Edited: Ameer Hamza on 1 Dec 2020
The exact solution depends on how your data is structured. I guess the following will work
Average_Vector = mat2cell(mean(cell2mat(Vector_per_Point)), 1, 3*ones(size(Vector_per_Point,2),1))
If it does not work, please attach your variable in a .mat file.
  2 Comments
Diego Hens
Diego Hens on 1 Dec 2020
Thank you for the quick and correct solution :)

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!