Clear Filters
Clear Filters

How to create an an array of unknown size?

2 views (last 30 days)
Preetam Pal
Preetam Pal on 15 Aug 2015
Commented: per isakson on 16 Aug 2015
Say, I have an array A of size 100 consisting of 0's and 1's. I need to create a smaller array consisting only of the 1's. At start, I don't know the number of 1's in the original array. Basically, I want to create the subset-array element-by-element as I loop over the elements of the original array and checking for 1's.Any help appreciated. Thanks, Preetam
  1 Comment
per isakson
per isakson on 16 Aug 2015
"create the subset-array element-by-element as I loop over the elements " &nbsp is that a requirement or a hint?

Sign in to comment.

Answers (2)

Star Strider
Star Strider on 15 Aug 2015
I’m not quite sure what you want.
Here are two possibilities:
Array = randi([0 1], 1, 100);
OnesArray = Array(Array==1) % Ones Array
ElemArray = find(Array); % Indices Of Ones In ‘Array’

Matt J
Matt J on 15 Aug 2015
Edited: Matt J on 15 Aug 2015
I'm also not sure what you want, but it might be worth being aware of the nonzeros() command,
B=nonzeros(A);
Or, since you know that A consists only of zeros and ones,
B=ones(nnz(A),1);

Categories

Find more on Creating and Concatenating Matrices in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!