>
%Input structure
s.a=[1; 2; 1; 3; 4; 1; 2]
s.b=[4; 9; 7; 1; 0; 3; 8]
% output required
s.a=[1; 1; 1]
s.b=[4; 7; 3]

실제 구조는 긴 크기의 많은 필드를 포함합니다. 'a'필드에 조건이있을 때 (a == 1 인 경우) 해당 필드 값을 추출하는 방법


  • 답변 # 1

    이것을 시도하고 다른 분야에 적응하십시오 :

    s.b(s.a==1)
    
    

    a를 제외한s의 모든 필드에 대해이를 수행하고t구조체에서 결과를 수집하려면 루프를 사용할 수 있습니다 :

    t = struct()
    fn = fieldnames(s);
    for k=1:numel(fn)
        t.(fn{k}) = s.(fn{k})(s.a==1);
    end
    
    

관련 자료

  • 이전 c# - JSON 객체를 컨트롤러에 전달할 때 빈 문자열이 null로 변환되지 않음
  • 다음 (안드로이드)보기가 아래로 미끄러지고 몇 초 후에 자동으로 위로 올라갑니다