structfind

Search for a value, cell or string inside a Matlab struct

이 제출물을 팔로우합니다

StructFind, Find the index of a certain string or value in a struct

index=structfind(a,field,value)

inputs,
a : A Matlab struct, for example a(1).name='red', a(2).name='blue';
field : The name of the field which is searched, for example 'name'
value : The search value, for example 'blue'

outputs,
index : The Struct index which match the search

Example,

a(1).name='blue';
a(1).index=0;
a(1).val='g';

a(2).name='red';
a(2).index=1;
a(2).val=[1 0];

a(3).name='green';
a(3).index=2;
a(3).val='g';

a(4).name='black';
a(4).index=3;
a(4).val=[0 0 0];

a(5).name='yellow';
a(5).index=NaN;
a(5).val=[0 1 1];

a(6).name='orange';
a(6).index=[];
a(6).val=[1 1 0];

a(7).name='brown';
a(7).index=6;
a(7).val={'12'};

a(8).name='white';
a(8).index=7;
a(8).val.x=1;

a(8).name='purple';
a(8).index=8;
a(8).val.child.value=2;

index=structfind(a,'name','red');
disp(['index : ' num2str(index)])

index=structfind(a,'index',1);
disp(['index : ' num2str(index)])

index=structfind(a,'val',[0 0 0]);
disp(['index : ' num2str(index)])

index=structfind(a,'val','g');
disp(['index : ' num2str(index)])

index=structfind(a,'index',NaN);
disp(['index : ' num2str(index)])

index=structfind(a,'index',[]);
disp(['index : ' num2str(index)])

index=structfind(a,'val',{'12'});
disp(['index : ' num2str(index)])

index=structfind(a,'val.child.value',2);
disp(['index : ' num2str(index)])

인용 양식

Dirk-Jan Kroon (2026). structfind (https://kr.mathworks.com/matlabcentral/fileexchange/29808-structfind), MATLAB Central File Exchange. 검색 날짜: .

도움

도움 준 파일: "contains" with multiple conditions, StructFind

카테고리

Help CenterMATLAB Answers에서 Structures에 대해 자세히 알아보기

일반 정보

MATLAB 릴리스 호환 정보

  • 모든 릴리스와 호환

플랫폼 호환성

  • Windows
  • macOS
  • Linux
버전 퍼블리시됨 릴리스 정보 Action
1.1.0.0

Added solutions for problem cases by comment : Jos (10584)

1.0.0.0