2009-12-14 6 views
3

셀 배열을 조작하고 셀 배열의 특정 인덱스에 빈 행렬 []이 포함되도록하고 싶습니다. 이 작업을 수행하는 방법을 파악할 수 없습니다.MATLAB에서 셀 배열의 요소에 빈 행렬을 어떻게 할당합니까?

>> yy=num2cell(1:10) 

yy = 

    [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] 

>> yy{1:2:end}=[] 
??? The right hand side of this assignment has too few values to satisfy 
the left hand side. 
>> yy(1:2:end) = [] 

yy = 

    [2] [4] [6] [8] [10] 

Bah! 내가 원하는 것을 할 수없는 것처럼 보입니다. 셀 배열에 빈 요소를 남기고 싶습니다.

[] [2] [] [4] [] [6] [] [8] [] [10] 

의견이 있으십니까? 내 인덱스 벡터는 인덱스 양식이나 부울 폼 중 임의의 것일 수 있지만 반드시 [1 3 5 7 9]는 아닙니다. 당신이 할 수있는 것은 인덱스는 셀 어레이 (안 내용) ()를 사용하여 빈 셀 {[]}에 각 셀을 변경

답변

7

입니다 :

yy(1:2:end) = {[]}; 

대안이 DEAL 기능을 사용하는 것입니다,하지만이 보인다 조금 더 못생긴 :

[yy{1:2:end}] = deal([]); 
+0

woohoo! 사기꾼이 다시 온다. 우리는 당신을 "gexpert"라고 불러야 할 것입니다 –

+2

먼저 "gintermediate"가되어야합니다. ;) – gnovice

관련 문제