MATLAB Answers

Preallocation of a matrix: how to shrink it afterwards?

4 views (last 30 days)
Samuele Bolotta
Samuele Bolotta on 11 May 2020
Commented: Walter Roberson on 11 May 2020
I'm trying to create an empty epoch for every epoch number in epochn - epochn is a nx1 matrix. How can I preallocate fullstate efficiently? Thanks!
%Create empty epoch for every epoch number
for t = epochn
idx = find(epochn == t);
fullstate(t) = state(idx);
clear idx
end

Answers (1)

per isakson
per isakson on 11 May 2020
Edited: per isakson on 11 May 2020
Something like this
fullstate = class_of_state( size(epochn) );
for t = reshape( epochn, 1,[] )
idx = find(epochn == t);
fullstate(t) = state(idx);
clear idx
end
The variable, state, what type of values does it have?
"shrink it afterwards" why would that be necessary?

Community Treasure Hunt

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

Start Hunting!