looping through columns of a matrix and saving output
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
I have a matrix which is 1000x4. Each column is a different experiment run.
I want to loop through each column of the matrix and reshape it by taking the mean of every 1000 values.
for a = 1:4;
GTsec = mean(reshape(vel(1:1000),10,[]),1); %reshape to per second by taking the mean GT over 1000 files
end
2 comentarios
Willie Smit
el 5 de Oct. de 2021
What is the size of vel?
It is not clear from the code, but it seems like you want to calculate the mean, standard deviation, minimum and maximum for different experiments. If each column of vel stores the data of one experiment, then the commands
mean_GT=mean(vel);
std_GT=std(vel);
will return row vectors, where each entry corresponds to an experiment.
Respuestas (1)
KSSV
el 5 de Oct. de 2021
This kind of error occurs when you are trying to save more number of elements than it is intiliazed.
Example:
A = zeros(1,3) ;
A(1) = rand ; % no error, becuase you are saving one element as initilaized
A(2) = rand(1,2) ; % error becuase you are saving two elements instead of one
So you are trying to save RHS which has multiple elements into LHS which is initialized as a single element. To avoid the error, get the dimensions in prior and initialize properly and save. If not save them into a cell array.
A = cell(1,2) ;
A{1} = rand ;
A{2} = ran(1,3) ;
Ver también
Categorías
Más información sobre Resizing and Reshaping Matrices en Help Center y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!