모든 빈 특성 ([]) :배열 : 설정 내가 구조체의 배열을 가지고 NaN의 모든 빈 속성을 설정하려는 NaN의
structArray =
29x1 struct array with fields:
value
id
어떻게 모든 struct.value 속성을 설정하는 NaN에, 그들이 비어 있다면? 주어가 변환 [structArray.value]
이 빈 요소를 생략 비어있는 경우
...
모든 빈 특성 ([]) :배열 : 설정 내가 구조체의 배열을 가지고 NaN의 모든 빈 속성을 설정하려는 NaN의
structArray =
29x1 struct array with fields:
value
id
어떻게 모든 struct.value 속성을 설정하는 NaN에, 그들이 비어 있다면? 주어가 변환 [structArray.value]
이 빈 요소를 생략 비어있는 경우
...
이 :
x(29).id = [];
x(29).value = [];
당신이
[x.value] = deal(nan);
처럼 모든 .id
필드의 값을 설정할 수 있습니다 특정 값의 하위 집합 만 설정하려면 할당 할 값의 마스크를 정의한 다음 지정 문에서 사용합니다.
maskEmptyId = arrayfun( @(a)isempty(a.id), x );
[x(maskEmptyId).id] = deal(nan);
는
그러나, 당신은 또한 다른 접근 방식에 관심이있을 수 NaN을
와 빈 필드를 대체 할 수있는 좋은 방법이 설명했다.뒤늦은 지혜로 교체하는 대신 빈 곳이 처음부터 발생하는 것을 방지 할 수 있습니다. 아무 것도 할당되지 않았으므로 비어 있다고 가정하면 NaN으로 구조체를 간단하게 초기화 할 수 있습니다. 당신이 NaN으로 값 필드를 초기화 할 structArray 아무것도를 할당하지만, 여전히 비어있는 ID를 초기화하기 전에이 호출
structArray = struct ('id',[],'value',NaN)
: 예를 들어
.
또한 하나의 라이너로 작동합니다. [x (arrayfun (@) isempty (a.id), x)). id] = deal (nan); – Dennis