이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.
get
Simulink.SimulationOutput
객체의 시뮬레이션 결과에 액세스하기
설명
예제
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
함수의 출력 out
은 Simulink.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]
입력 인수
simOut
— 시뮬레이션 결과
Simulink.SimulationOutput
객체
시뮬레이션 결과로, Simulink.SimulationOutput
객체로 지정됩니다.
varName
— 반환할 시뮬레이션 데이터
string형 | 문자형 벡터
반환할 시뮬레이션 데이터로, string형 또는 문자형 벡터로 지정됩니다.
get
함수를 사용하여 기록 변수의 이름을 지정하는 방식으로 시뮬레이션에서 기록된 데이터에 액세스합니다. 기록된 데이터로는 신호 기록 데이터, 기록된 출력, 상태 등이 있습니다. 예를 들어, 디폴트 신호 기록 변수 이름 logsout
을 사용한다면 "logsout"
을 지정하여 신호 기록 데이터에 액세스합니다.
예: "logsout"
데이터형: char
| string
출력 인수
res
— 시뮬레이션 결과
Simulink.SimulationData.Dataset
객체 | timeseries
객체 | timetable
| 배열 | 구조체
시뮬레이션 결과로, 다음 형식 중 하나로 반환됩니다.
반환 인수의 형식은 액세스하는 데이터형과 시뮬레이션의 모델 구성에 따라 다릅니다.
버전 내역
R2010a에 개발됨R2023a: 지정된 객체에 지정된 속성이 없는 경우 오류를 발생시킴
R2020a 이전에는 지정된 Simulink.SimulationOutput
객체에 지정된 속성이 없는 경우 get
함수가 빈 값([]
)을 반환했습니다. R2020a 이후에는 이 경우 get
함수가 경고를 발생시키고 빈 값([]
)을 반환했습니다. R2023a부터는 get
함수가 오류를 발생시키고 더 이상 출력 인수를 반환하지 않습니다.
Simulink.SimulationOutput
객체에 지정된 속성이 있는지 여부를 쿼리하려면 find
함수를 사용하십시오. find
함수는 객체에 속성이 없는 경우 빈 값([]
)을 반환하고 진단을 실행하지 않습니다.
R2020a: 지정된 객체에 지정된 속성이 없는 경우 경고가 표시됨
지정된 Simulink.SimulationOutput
객체에 지정된 속성이 없으면 get
함수는 경고를 발생시키고 빈 값([]
)을 반환합니다.
MATLAB 명령
다음 MATLAB 명령에 해당하는 링크를 클릭했습니다.
명령을 실행하려면 MATLAB 명령 창에 입력하십시오. 웹 브라우저는 MATLAB 명령을 지원하지 않습니다.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)