reshaping multiple data sets

3 visualizaciones (últimos 30 días)
C.G. el 6 de Oct. de 2021
Respondida: Voss el 6 de Oct. de 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);

Respuestas (1)

Voss el 6 de Oct. de 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).';


Más información sobre Matrix Indexing en Help Center y File Exchange.



Community Treasure Hunt

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

Start Hunting!

Translated by