Main Content

get

Simulink.SimulationOutput 객체의 시뮬레이션 결과에 액세스하기

    설명

    예제

    res = get(simOut,varName)Simulink.SimulationOutput 객체 simOut에서 varName으로 지정된 시뮬레이션 데이터를 반환합니다.

    find 함수를 사용하거나 속성으로 데이터에 액세스하도록 점을 사용하여 Simulink.SimulationOutput 객체 내의 데이터에 액세스할 수도 있습니다.

    예제

    모두 축소

    시뮬레이션 결과가 단일 출력 객체로 반환되면 Simulink.SimulationOutput 객체를 사용하여 모든 기록된 데이터와 시뮬레이션 메타데이터에 액세스할 수 있습니다.

    이 예제의 모델은 단일 시뮬레이션 출력 파라미터가 활성화되어 있고 여러 다양한 기록 방법을 사용하여 데이터를 기록합니다.

    • Sine Wave 블록의 출력은 신호 기록을 사용하여 기록됩니다.

    • Gain 블록의 출력은 To Workspace 블록을 사용하여 기록됩니다.

    • Gain 블록, Chirp Signal 블록, Square Wave Generator 블록의 출력은 Record 블록을 사용하여 기록됩니다.

    • Square Wave Generator 블록의 출력은 출력 기록을 사용하여 기록됩니다.

    이 모델은 시간 데이터를 기록하도록 구성되어 있기도 합니다.

    모델을 엽니다.

    mdl = "LoggingBlocks";
    open_system(mdl)

    Simulink.SimulationInput 객체를 만들어 모델의 시뮬레이션을 구성합니다. setModelParameter 함수를 사용하여 StopTime 파라미터를 20으로 설정합니다.

    simIn = Simulink.SimulationInput(mdl);
    simIn = setModelParameter(simIn,'StopTime','20');

    모델을 시뮬레이션합니다. sim 함수의 출력 outSimulink.SimulationOutput 객체로, 이 객체에는 시뮬레이션에서 기록된 모든 데이터가 포함됩니다. 각 블록의 데이터와 각 기록 유형은 속성으로 저장되며 이 속성은 블록이나 모델에 지정된 기록 변수 이름과 일치합니다.

    out = sim(simIn);

    점, get 함수 또는 find 함수를 사용하여 기록된 데이터에 액세스할 수 있습니다. 각 메서드는 기록 변수 이름에 대해 연산을 수행하며 어떤 메서드를 사용해도 모든 종류의 기록된 데이터에 액세스할 수 있습니다.

    점을 사용하여 To Workspace 블록을 통해 기록된 Big Sine 신호에 액세스합니다.

    simout = out.simout
      timeseries
    
      Common Properties:
                Name: 'Big Sine'
                Time: [51x1 double]
            TimeInfo: tsdata.timemetadata
                Data: [51x1 double]
            DataInfo: tsdata.datametadata
    

    get 함수를 사용하여 신호 기록으로 기록된 Sine 신호에 액세스합니다.

    logsout = get(out,"logsout")
    logsout = 
    Simulink.SimulationData.Dataset 'logsout' with 1 element
    
                             Name  BlockPath               
                             ____  _______________________ 
        1  [1x1 Signal]      Sine  LoggingBlocks/Sine Wave
    
      - Use braces { } to access, modify, or add elements using index.
    
    

    find 함수를 사용하여 출력 기록으로 기록된 Square Wave 신호에 액세스합니다.

    yout = find(out,"yout")
    yout = 
    Simulink.SimulationData.Dataset 'yout' with 1 element
    
                             Name         BlockPath             
                             ___________  _____________________ 
        1  [1x1 Signal]      Square Wave  LoggingBlocks/Outport
    
      - Use braces { } to access, modify, or add elements using index.
    
    

    점이나 getSimulationMetadata 함수를 사용하여 시뮬레이션 메타데이터에 액세스할 수 있습니다.

    simMetadata = getSimulationMetadata(out)
    simMetadata = 
      SimulationMetadata with properties:
    
            ModelInfo: [1x1 struct]
           TimingInfo: [1x1 struct]
        ExecutionInfo: [1x1 struct]
           UserString: ''
             UserData: []
    
    

    시뮬레이션 메타데이터는 Simulink.SimulationMetadata 객체로 반환됩니다. SimulationMetadata 객체는 구조체 값을 갖는 속성으로 시뮬레이션 정보를 그룹화하고 문자열과 시뮬레이션에 관계된 추가 데이터를 지정할 수 있는 속성을 포함합니다.

    SimulationMetadata 객체의 ExecutionInfo 속성에 액세스합니다. 실행 정보에는 경고나 오류 없이 중지 시간 20으로 실행되는 시뮬레이션이 표시됩니다.

    simMetadata.ExecutionInfo
    ans = struct with fields:
                   StopEvent: 'ReachedStopTime'
             StopEventSource: []
        StopEventDescription: 'Reached stop time of 20'
             ErrorDiagnostic: []
          WarningDiagnostics: [0x1 struct]
    
    

    입력 인수

    모두 축소

    시뮬레이션 결과로, Simulink.SimulationOutput 객체로 지정됩니다.

    반환할 시뮬레이션 데이터로, string형 또는 문자형 벡터로 지정됩니다.

    get 함수를 사용하여 기록 변수의 이름을 지정하는 방식으로 시뮬레이션에서 기록된 데이터에 액세스합니다. 기록된 데이터로는 신호 기록 데이터, 기록된 출력, 상태 등이 있습니다. 예를 들어, 디폴트 신호 기록 변수 이름 logsout을 사용한다면 "logsout"을 지정하여 신호 기록 데이터에 액세스합니다.

    예: "logsout"

    데이터형: char | string

    출력 인수

    모두 축소

    시뮬레이션 결과로, 다음 형식 중 하나로 반환됩니다.

    반환 인수의 형식은 액세스하는 데이터형과 시뮬레이션의 모델 구성에 따라 다릅니다.

    버전 내역

    R2010a에 개발됨