reshaping multiple data sets

1 view (last 30 days)
C.G.
C.G. on 6 Oct 2021
Answered: Voss on 6 Oct 2021
I have a 50x4 double. I want to reshape each column of the matrix by taking the mean of every 10 elements.
I have tried writing a loop to do this but it only writes the last iteration. I have tried indexing into this but I get the error:
Brace indexing is not supported for variables of this type.
for a = 1:4;
Out = mean(reshape(vel{a}(1:50),10,[]),1);
end

Answers (1)

Voss
Voss on 6 Oct 2021
The error happens because vel is not a cell array.
To keep the result from each iteration of the loop, you can make Out a matrix and store the result in each column of Out:
Out = zeros(size(vel,1)/10,4);
for a = 1:4
Out(:,a) = mean(reshape(vel(:,a),10,[]),1).';
end

Tags

Products

Community Treasure Hunt

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

Start Hunting!