2012-10-09 2 views
7

매트랩, 구조체 배열 필드 foo에 셀 어레이를 할당하는 것은 내가 하나를 지정하면된다 싶은 것이 지금할당 값은

my_array(1000).foo = []; 
[my_array.foo] = some_cell{:}; 

가능합니다 값을 배열의 모든 필드에 적용합니다. 그러나 내가 시도한 것이 무엇이든간에 Matlab은 크기가 [1x1] 인 단일 요소를 할당하려면 모두 필드에 할당해야한다고 조용히 가정하는 대신 오류 메시지를 반환합니다. 나는 단순히

그래서
my_array.foo = pi; 
??? Incorrect number of right hand side elements in dot name assignment. 
Missing [] around left hand side is a likely cause. 

가 어떻게 모든 구조체 배열을 통해 필드에 단일 값을 할당 할 수 있습니다 : 예 : 말할 수 있다면 행복 할 것?

답변

12

이 문제를 해결하기 위해 deal를 사용할 수 있습니다 일시적으로 쉼표가 벡터에 목록 my_array.foo를 분리 변환하는 데 필요한과

그러나
my_array(1000).foo = []; 
[my_array.foo] =deal(pi); 

가, 두 번째 줄에 대괄호를 확인합니다.