Assign values to an array based on an if statement from a larger array
Show older comments
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 Comments
Ayush Singh
on 12 Feb 2024
Are you allowed to make use of S function to implement the above logic?
Mathieu
on 12 Feb 2024
Fangjun Jiang
on 12 Feb 2024
Edited: Fangjun Jiang
on 12 Feb 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.
Accepted Answer
More Answers (0)
Categories
Find more on Simulink Real-Time in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!