For loop returns vector with different sizes, how to put them in a single matrix?

I have a for loop which returns a vector after each iteraion, but the vector length is different each time. How to store the results in a matrix or table or whatever , so that I can use the values for other operations.
for k = 1:length(sect)
SS(k,:) = find(TS{:,2}<sect(k+1) & TS{:,2}>=sect(k) );
k+1;
end

4 Comments

You can use a cell array. Or you can use a rectangular array if you are willing to use padding. Using 0 as the padding is the easiest.
Any example? Say the first iteration has 88 elements and the second 108. But I do not know the rest of the. How do I write the code in the for loop ?
SS{k} = find(....)
By the way you should consider using histc or histcounts or discretize to determine the bin numbers.

Sign in to comment.

 Accepted Answer

SS{k} = find(....)
Thank you Walter Roberson for the answer. It creates a cell array.

More Answers (0)

Products

Community Treasure Hunt

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

Start Hunting!