Assign values in the cell
    조회 수: 17 (최근 30일)
  
       이전 댓글 표시
    
Hi,
I have the 72 x 1 cell named output 1 (attached here). 
As shown in the attachment, some cells got empty matrix, I intend to add zero values in the manner of 8x1 into all the all empty cells .. 
Any idea how to assign this .. ??
댓글 수: 0
채택된 답변
  Rik
      
      
 2021년 7월 16일
        
      편집: Rik
      
      
 2021년 7월 16일
  
      You mean like this?
output1={[1 2;3 4],[]};
L=cellfun(@isempty,output1);
output1(L)={zeros(8,1)};
output1
Note that cellfun has a legacy mode, which is often much faster, but is limited in terms of what data types will work.
댓글 수: 5
  Amir Pasha Zamani
 2022년 4월 25일
				It only works for a single element of the cell.
I need to pre-assign values (let's say zeros(10,10))  to all cell elemenst.
  Rik
      
      
 2022년 4월 25일
				@Amir Pasha Zamani L can be a logical array with as many elements as output1 (or fewer). So can you explain what you mean?
To pre-allocate the array you describe I suggest using repmat or repelem:
YouWant=repmat({zeros(10,10)},2,3)
추가 답변 (0개)
참고 항목
카테고리
				Help Center 및 File Exchange에서 Creating and Concatenating Matrices에 대해 자세히 알아보기
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!