2011-05-08 6 views
11

하나의 구조체 안에 몇 개의 변수를 감싸고 싶었습니다. 함수에서 입력과 출력을 쉽게하기 위해서 꽤 많이 돌아 왔습니다. 문제는 변수 중 하나가 셀 배열, 특히 문자열을 포함한다는 것입니다. 내 원하는 결과 아니다 -Matlab 구조체 내부의 셀 배열 - 가능합니까?

struct(var1,var2,...) 

주어진 변수 중 하나는 세포 배열이 분명하게되면, 그것은 대신에 셀 어레이를 구조체의 내부 변수를 갖는 중, 구조체를 구조체의 셀 어레이를 만드는 많은 코드를 작성해야 할 것입니다.

이 문제에 대한 해결책이나 해결 방법이 있습니까?

당신은 직접 필드 설정할 수 있습니다
+5

이전 중복에서 : [MATLAB "버그"(또는 정말 이상한 행동) 구조체와 빈 셀 배열] (http://stackoverflow.com/questions/939544/matlab-bug-or-really-weird-behavior-with- 구조체와 빈 셀 배열). 솔루션은 STRUCT 함수에 전달할 때 추가 셀 배열의 필드에 대한 셀 배열 값을 래핑해야한다는 것입니다. – gnovice

답변

24

: 당신이 구조체 내부의 모든 것을 (하고 싶은 경우 셀 배열로 셀 어레이를 넣을 수 있습니다),

X = struct('a', 'one', 'b', 'honk'); 
X.c = {'x', 'y'}; 

을 또는이가 해결 된

X = struct('a', 'one', 'b', 'honk', 'c', {{'foo', 'bar'}}); 
X = 
    a: 'one' 
    b: 'honk' 
    c: {'foo' 'bar'} 
+0

감사합니다. 매우 유용합니다! – dan12345