How to create an an array of unknown size?

2 visualizzazioni (ultimi 30 giorni)
Preetam Pal
Preetam Pal il 15 Ago 2015
Commentato: per isakson il 16 Ago 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 Commento
per isakson
per isakson il 16 Ago 2015
"create the subset-array element-by-element as I loop over the elements " &nbsp is that a requirement or a hint?

Accedi per commentare.

Risposte (2)

Star Strider
Star Strider il 15 Ago 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 il 15 Ago 2015
Modificato: Matt J il 15 Ago 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);

Categorie

Scopri di più su Creating and Concatenating Matrices in Help Center e File Exchange

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by