주요 콘텐츠

find

지정된 객체를 계층 구조 내에서 식별

설명

objArray = find(location,propertyName,propertyValue)location 계층 구조에서, 속성 이름이 propertyName이고 값이 propertyValue인 Stateflow® API 객체로 구성된 배열을 반환합니다.

예제

objArray = find(location,"-regexp",propertyName,propertyValue)는 속성 이름이 propertyName이고 값이 propertyValue로 지정된 정규 표현식과 일치하는 객체를 반환합니다. 자세한 내용은 정규 표현식 항목을 참조하십시오.

예제

objArray = find(location,"-isa",objectType)location 계층 구조에서, objectType으로 지정된 유형을 가진 객체를 반환합니다.

예제

objArray = find(location,"-depth",depth)location 계층 구조에서, 지정된 깊이 또는 그 이상의 깊이에 있는 객체를 반환합니다.

예제

objArray = find(location,"-property",propertyName)은 지정된 이름의 속성을 가진 객체를 반환합니다.

예제

objArray = find(location,"-method",functionName)은 지정된 이름의 객체 함수를 가진 객체를 반환합니다.

예제

objArray = find(location,"-function",function)은 지정된 함수가 true를 반환하는 객체를 반환합니다.

예제

objArray = find(location,"-not",___)은 지정된 검색 기준과 일치하지 않는 객체를 반환합니다. "-depth""-regexp" 제외하고 위에 열거된 구문을 사용하여 검색 기준을 지정할 수 있습니다.

예제

objArray = find(location,___,logicalOp,___)는 위에 열거된 구문을 사용하여 지정된 검색 기준을 결합합니다. 다음 논리 연산 중 하나를 사용합니다.

  • "-and" — 결과가 두 검색 기준과 모두 일치해야 합니다.

  • "-or" — 결과가 적어도 하나의 기준과 일치해야 합니다.

  • "-xor" — 결과가 정확히 하나의 기준만 일치해야 합니다.

여러 논리 연산을 사용할 때 -and의 우선순위가 가장 높으며, -or-xor은 오른쪽 결합을 따릅니다. 논리 연산을 지정하지 않으면 -and로 간주합니다.

예제

예제

모두 축소

차트 ch에서 Name 속성이 A인 객체를 찾습니다.

namedIsA = find(ch,"Name","A")

속성 이름과 속성값을 PropertyName=PropertyValue로 지정할 수 있으며, 이때 PropertyName을 따옴표로 묶지 않습니다 (R2021a 이후). 이 구문은 따옴표를 사용하는 다른 인수 뒤에 와야 합니다.

namedIsA = find(ch,Name="A")

차트 ch에서 Name 속성이 문자 A로 시작하는 객체를 찾습니다.

nameStartsWithA = find(ch,"-regexp","Name,","^A")

속성 이름과 속성값을 PropertyName=PropertyValue로 지정할 수 있으며, 이때 PropertyName을 따옴표로 묶지 않습니다 (R2021a 이후). 이 구문은 따옴표를 사용하는 다른 인수 뒤에 와야 합니다.

nameStartsWithA = find(ch,"-regexp",Name="^A")

차트 ch에서 상태를 찾습니다.

states = find(ch,"-isa","Stateflow.State")

차트 ch에서 Name 속성이 문자 A로 시작하는 상태를 찾습니다.

stateNameStartsWithA = find(ch,"-isa","Stateflow.State", ...
    "-and","-regexp","Name","^A")

속성 이름과 속성값을 PropertyName=PropertyValue로 지정할 수 있으며, 이때 PropertyName을 따옴표로 묶지 않습니다 (R2021a 이후). 이 구문은 따옴표를 사용하는 다른 인수 뒤에 와야 합니다.

stateNameStartsWithA = find(ch,"-isa","Stateflow.State", ...
    "-and","-regexp",Name="^A")

ch 차트 계층 구조에서 최상위 두 수준에 있는 객체를 찾습니다.

depthTwoObjects = find(ch,"-depth",2)

차트 ch에서 기호를 찾습니다. 기호에는 Stateflow.Data, Stateflow.Event, Stateflow.MessageName 속성을 가진, 차트가 아닌 기타 객체가 포함됩니다.

symbols = find(ch,"-property","Name", ...
    "-not","-isa","Stateflow.Chart")

차트 ch에서 그래픽 객체를 찾습니다. 그래픽 객체는 fitToView라는 객체 함수를 가진, 차트가 아닌 객체입니다.

graphicalObjects = find(ch,"-method","fitToView", ...
    "-not","-isa","Stateflow.Chart")

차트 ch에서 신호 기록이 활성화된 객체를 찾습니다. 신호 기록은 하위 속성 LoggingInfo.DataLoggingtrue일 때 활성화됩니다.

f = @(h) h.LoggingInfo.DataLogging;
signalLoggingOn = find(ch,"-function",f);

입력 인수

모두 축소

속성 이름으로, string형 스칼라 또는 문자형 벡터로 지정됩니다.

속성값으로, 속성에 의해 결정되는 형식으로 지정됩니다.

검색할 객체 유형으로, string형 스칼라, 문자형 벡터 또는 객체의 클래스 핸들로 지정됩니다.

예: find(ch,"-isa","Stateflow.State")는 차트 ch에서 상태를 찾습니다.

예: find(ch,"-isa",class(object))object와 유형이 동일한 객체를 찾습니다.

객체 계층 구조를 검색하는 깊이로, 음이 아닌 정수 스칼라 또는 inf로 지정됩니다. 계층 구조의 전체 수준을 검색하려면 inf를 사용합니다.

객체 함수의 이름으로, string형 스칼라 또는 문자형 벡터로 지정됩니다.

필터링 함수로, 함수 핸들로 지정됩니다 함수는 객체의 일치 여부를 나타내는 논리형 스칼라 값을 반환해야 합니다.

출력 인수

모두 축소

검색 결과로, Stateflow API 객체로 구성된 배열로 반환됩니다.

  • 하위 속성의 값에 따라 검색 결과를 제한하려면 "-function"과 함수 핸들을 사용하여 find를 호출합니다. 예제는 신호 기록이 활성화된 객체 찾기 항목을 참조하십시오.

  • Simulink.Root 객체, Simulink.BlockDiagram 객체 또는 Stateflow.Machine 객체에서 find 함수를 사용하면 지정한 검색 기준과 일치하는 Simulink® 객체가 반환될 수 있습니다. 예를 들어 다음 명령은 ABC라는 이름의 Simulink 서브시스템 또는 블록을 반환할 수 있습니다.

    find(sfroot,"Name","ABC")

  • 연결된 Stateflow 차트를 참조하는 메인 모델을 열어도 Stateflow API가 반드시 연결된 차트를 찾을 수 있는 것은 아닙니다. 연결된 라이브러리 차트에 있는 객체에 액세스하려면 먼저 다음 작업 중 하나를 수행하여 라이브러리 모델을 Simulink 작업 공간으로 불러와야 합니다.

    • 함수 load_system (Simulink)을 호출하여 라이브러리 모델을 불러옵니다.

    • FollowLinks 인수를 on으로 설정하여 함수 find_system (Simulink)을 호출합니다.

      find_system(FollowLinks="on");

    • 메인 모델에서 연결된 서브시스템 또는 블록을 봅니다.

    • 모델을 컴파일하거나 시뮬레이션합니다.

버전 내역

R2006a 이전에 개발됨