Assign values to an array based on an if statement from a larger array
4 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Mathieu
am 9 Feb. 2024
Bearbeitet: Fangjun Jiang
am 12 Feb. 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 Kommentare
Fangjun Jiang
am 12 Feb. 2024
Bearbeitet: Fangjun Jiang
am 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.
Akzeptierte Antwort
Fangjun Jiang
am 12 Feb. 2024
Bearbeitet: Fangjun Jiang
am 12 Feb. 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 Kommentare
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Matrix Indexing finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!