Assign values to an array based on an if statement from a larger array
5 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Mathieu
le 9 Fév 2024
Modifié(e) : Fangjun Jiang
le 12 Fév 2024
Hi,
I have an 20 elements array (uint8) in which some elements can be '0' and I want to retrieve the first 8 values that are not '0' and assign them to another array (uint8).
I am constrained to using only slcilib blocks and submodules so the sorting option is not usable.
So far I have done something like this
However, it seems that the for loop never ends and I have to manually stop the model using ctrl + C.
Does anyone have an idea about this issue?
4 commentaires
Fangjun Jiang
le 12 Fév 2024
Modifié(e) : Fangjun Jiang
le 12 Fév 2024
I would use the MATLAB Function block. On the other hand, I don't think you are using the For Iterator block correctly. Take a look at the doc and example model.
Réponse acceptée
Fangjun Jiang
le 12 Fév 2024
Modifié(e) : Fangjun Jiang
le 12 Fév 2024
inputArray = [0 1 0 3 0 5 0 7 0 9 0 11 0 13 0 15 0 17 0 19 0 0 20 0 0 21];
index=(inputArray~=0);
tempData=inputArray(index);
outputArray=tempData(1:8)
0 commentaires
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Matrix Indexing dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!