2014-10-09 3 views
4

주어진 값으로 셀 배열을 만들고 초기화하는 방법을 찾고 있습니다. 나는 다음과 같은 onlininer를 생각할 수있다셀 배열 만들기 및 초기화

val = 'hello'; 
dim = [2, 4, 6]; 
arrayfun(@(x) val, zeros(dim), 'UniformOutput', false) 

나는 더러움을 느낀다.

+1

괜찮은 무슨 뜻 무엇? 더 빨라지고, 줄이 줄거나 ...? – kkuilla

+1

위의 해결책보다 깨끗한 것을 의미합니다. 그렇습니다. 깨끗한 코드는 모호한 개념이지만 여전히 틀림없이 유용한 코드입니다. – user1735003

답변

2

을 할 수있는 간단한 대안 :

C = repmat({val}, dim); 
+1

+1 - 나를 더 우아하게합니다. – rayryeng

4

당신이 arrayfun을 피하려면, 당신은

C = cell(dim); 
C(:) = {val}; 

또는

C = cell(dim); 
[C{:}] = deal(val); 
+0

O.o Oh ... 거래() ... 그게 아주 유용합니다! +1 –