Assign values to an array based on an if statement from a larger array
    조회 수: 5 (최근 30일)
  
       이전 댓글 표시
    
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
  Fangjun Jiang
      
      
 2024년 2월 12일
				
      편집: Fangjun Jiang
      
      
 2024년 2월 12일
  
			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.
채택된 답변
  Fangjun Jiang
      
      
 2024년 2월 12일
        
      편집: Fangjun Jiang
      
      
 2024년 2월 12일
  
      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
추가 답변 (0개)
참고 항목
카테고리
				Help Center 및 File Exchange에서 Shifting and Sorting Matrices에 대해 자세히 알아보기
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


