이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.
generateSimulationEnsemble
Simulink 모델을 실행하여 앙상블 데이터 생성
구문
설명
[
은 status
,E
] = generateSimulationEnsemble(simin
)simin
으로 지정된 Simulink® 모델을 실행하여 시뮬레이션 앙상블 데이터를 생성합니다. 이 입력 인수는 Simulink.SimulationInput
객체로 구성된 벡터로, 앙상블을 생성하기 위해 매 시뮬레이션마다 바뀌어야 하는 다른 파라미터도 지정합니다. 함수는 현재 폴더에 시뮬레이션 데이터 로그 파일을 씁니다. 각 파일에는 대응되는 Simulink.SimulationInput
객체가 포함되어 있으며 시뮬레이션할 때 모델이 기록하도록 구성된 모든 변수가 포함되어 있습니다. 출력 인수는 시뮬레이션에서 오류가 발생했는지 여부와 해당 오류를 반환합니다. 시뮬레이션 데이터와 상호 작용하는 앙상블 데이터저장소를 만들려면 simulationEnsembleDatastore
를 사용합니다.
데이터 앙상블에 대한 일반적인 정보는 상태 모니터링 및 예측 정비를 위한 데이터 앙상블 항목을 참조하십시오.
[
는 하나 이상의 status
,E
] = generateSimulationEnsemble(simin
,location
,Name,Value
)Name,Value
쌍의 인수로 지정된 추가 옵션을 사용합니다.
예제
결함 데이터의 앙상블 생성하기
결함 파라미터를 바꿔가면서 기계의 Simulink® 모델을 시뮬레이션하여 결함 상태에서 작동하는 기계를 나타내는 데이터의 시뮬레이션 앙상블 데이터저장소를 생성합니다.
Simulink 모델을 불러옵니다. 이 모델은 Simulink를 사용하여 결함 데이터 생성하기에서 설명한 기어박스 모델을 단순화한 것입니다. 이 예제에서는 기어 톱니 결함 하나만 모델링합니다.
mdl = 'TransmissionCasingSimplified';
open_system(mdl)
기어 톱니 결함은 Gear Tooth fault
서브시스템에서 외란으로 모델링됩니다. 외란의 크기는 모델 변수 ToothFaultGain
에 의해 제어됩니다. 여기서 ToothFaultGain = 0
은 기어 톱니 결함이 없는 상태(정상 작동)에 해당합니다. 결함 데이터의 앙상블을 생성하려면 generateSimulationEnsemble
을 사용하여 -2~0 사이의 ToothFaultGain
값에서 모델을 시뮬레이션하십시오. 이 함수는 Simulink.SimulationInput
객체로 구성된 배열을 사용하여 앙상블의 각 멤버에 대해 Simulink 모델을 구성합니다. 각 시뮬레이션은 서로 다른 앙상블 멤버를 각각의 파일에 생성합니다. 이러한 배열을 만든 다음 setVariable
을 사용하여 각 실행에 대해 톱니 결함 이득 값을 할당합니다.
toothFaultValues = -2:0.5:0; % 5 ToothFaultGain values for ct = numel(toothFaultValues):-1:1 simin(ct) = Simulink.SimulationInput(mdl); simin(ct) = setVariable(simin(ct),'ToothFaultGain',toothFaultValues(ct)); end
이 예제에서 모델은 Vibration
, Tacho
와 같은 특정 신호 값을 기록하도록 이미 구성되어 있습니다(Save Signal Data Using Signal Logging (Simulink) 참조). generateSimulationEnsemble
은 다음과 같은 작업을 수행하도록 모델을 추가로 구성합니다.
기록된 데이터를 사용자가 지정하는 폴더의 파일에 저장.
신호 기록에
timetable
형식 사용.저장된 파일에 각
Simulink.SimulationInput
객체와 이에 대응하는 기록된 데이터를 함께 저장.
생성된 데이터의 위치를 지정합니다. 이 예제에서는 현재 폴더 내의 Data
폴더에 데이터를 저장합니다. 모든 시뮬레이션이 오류 없이 완료되면 지표 status
는 1(true)입니다.
mkdir Data location = fullfile(pwd,'Data'); [status,E] = generateSimulationEnsemble(simin,location);
[13-May-2023 13:15:18] Running simulations... [13-May-2023 13:15:23] Completed 1 of 5 simulation runs [13-May-2023 13:15:26] Completed 2 of 5 simulation runs [13-May-2023 13:15:29] Completed 3 of 5 simulation runs [13-May-2023 13:15:32] Completed 4 of 5 simulation runs [13-May-2023 13:15:35] Completed 5 of 5 simulation runs
Data
폴더에서 파일 중 하나를 검토합니다. 각 파일은 다음 MATLAB® 변수를 포함하는 MAT 파일입니다.
SimulationInput
— 파일의 데이터를 생성하도록 모델을 구성하는 데 사용된Simulink.SimulationInput
객체입니다. 이 객체를 사용하여 시뮬레이션이 실행된 상태(결함 또는 정상)에 대한 정보를 추출할 수 있습니다.logsout
— Simulink 모델이 기록하도록 구성된 모든 데이터를 포함하는Dataset
객체입니다.PMSignalLogName
— 기록된 데이터를 포함하는 변수의 이름(이 예제에서는'logsout'
)입니다.simulationEnsembleDatastore
명령은 이 이름을 사용하여 파일의 데이터를 구문 분석합니다.SimulationMetadata
— 파일에 기록된 데이터를 생성한 시뮬레이션에 대한 기타 정보입니다.
이제 생성된 데이터를 사용하여 시뮬레이션 앙상블 데이터저장소를 만들 수 있습니다. 결과로 생성되는 simulationEnsembleDatastore
객체는 생성된 데이터를 가리킵니다. 이 객체는 앙상블에 있는 데이터 변수를 나열하며, 기본적으로 모든 변수가 읽어 올 대상으로 선택됩니다. 앙상블의 DataVariables
속성과 SelectedVariables
속성을 검사하여 이러한 지정을 확인합니다.
ensemble = simulationEnsembleDatastore(location)
ensemble = simulationEnsembleDatastore with properties: DataVariables: [4x1 string] IndependentVariables: [0x0 string] ConditionVariables: [0x0 string] SelectedVariables: [4x1 string] ReadSize: 1 NumMembers: 5 LastMemberRead: [0x0 string] Files: [5x1 string]
ensemble.DataVariables
ans = 4x1 string
"SimulationInput"
"SimulationMetadata"
"Tacho"
"Vibration"
ensemble.SelectedVariables
ans = 4x1 string
"SimulationInput"
"SimulationMetadata"
"Tacho"
"Vibration"
이제 ensemble
을 사용하여 앙상블 데이터저장소에서 생성된 데이터를 읽고 분석할 수 있습니다. 자세한 내용은 simulationEnsembleDatastore
항목을 참조하십시오.
입력 인수
simin
— 시뮬레이션 구성
Simulink.SimulationInput
객체로 구성된 벡터
시뮬레이션 구성으로, Simulink.SimulationInput
(Simulink) 객체로 구성된 벡터로 지정됩니다. 시뮬레이션 구성은 생성된 각 앙상블 멤버에 대해 다음과 같은 파라미터를 지정합니다.
실행할 Simulink 모델
모델 변수의 값
블록 파라미터
모델 초기 상태
예를 들어 시스템 내 결함의 존재와 심각도를 모델링하는 파라미터를 제외하고는 모든 시뮬레이션 구성이 동일한 Simulink.SimulationInput
객체로 구성된 벡터를 만들 수 있습니다. 그런 다음 이 벡터를 사용하여 정상 작동 상태와 결함 작동 상태의 범위를 나타내는 시뮬레이션 데이터의 앙상블을 생성할 수 있습니다.
location
— 폴더 경로
pwd
(디폴트 값) | string형 | 문자형 벡터
시뮬레이션 데이터를 저장할 폴더 경로로, string형 또는 문자형 벡터로 지정됩니다. location
을 제공하지 않으면 함수는 현재 폴더(pwd
로 반환되는 경로)를 사용합니다.
지정된 폴더에, 함수는 시뮬레이션당 하나의 MAT 파일을 작성합니다. 각 파일에는 다음 변수가 포함되어 있습니다.
SimulationInput
— 이 파일의 데이터를 생성하도록 모델을 구성하는 데 사용된Simulink.SimulationInput
객체입니다. 이 객체를 사용하여 이 시뮬레이션이 실행된 상태(결함 또는 정상)에 대한 정보를 추출할 수 있습니다.SimulationMetadata
— 파일에 기록된 데이터를 생성한 시뮬레이션에 대한 기타 정보입니다.Simulink 모델이 기록하도록 구성된 모든 신호 데이터와 상태 데이터를 포함하는
Dataset
객체입니다. 기본적으로 이 변수는logsout
이라고 하지만 모델에서 이름을 구성할 수 있습니다.PMSignalLogName
— 기록된 데이터를 포함하는 변수의 이름(기본적으로'logsout'
)입니다.simulationEnsembleDatastore
명령은 이 이름을 사용하여 파일의 데이터를 구문 분석합니다.
데이터 기록에 대한 자세한 내용은 Save Signal Data Using Signal Logging (Simulink) 항목을 참조하십시오.
예: pwd + "\simResults"
이름-값 인수
선택적 인수 쌍을 Name1=Value1,...,NameN=ValueN
으로 지정합니다. 여기서 Name
은 인수 이름이고 Value
는 대응값입니다. 이름-값 인수는 다른 인수 뒤에 와야 하지만, 인수 쌍의 순서는 상관없습니다.
R2021a 이전 릴리스에서는 쉼표를 사용하여 각 이름과 값을 구분하고 Name
을 따옴표로 묶으십시오.
예: 'UseParallel',true
UseParallel
— 시뮬레이션을 병렬로 실행할지 여부
false
(디폴트 값) | true
시뮬레이션을 병렬로 실행할지 여부로, 'UseParallel'
과 함께 다음 중 하나가 쉼표로 구분되어 지정됩니다.
false
— 시뮬레이션을 병렬로 실행하지 않습니다.true
— 병렬 풀을 사용하여 여러 시뮬레이션을 병렬로 실행합니다(Parallel Computing Toolbox™가 필요함).
ShowProgress
— 시뮬레이션 진행률 표시 여부
true
(디폴트 값) | false
MATLAB® 명령 창에 시뮬레이션 진행률을 표시할지 여부로, 'ShowProgress'
와 함께 다음 중 하나가 쉼표로 구분되어 지정됩니다.
true
— 개별 시뮬레이션 실행이 완료될 때마다 시뮬레이션 진행률을 한 줄씩 표시합니다.false
— 시뮬레이션 진행률을 표시하지 않습니다.
출력 인수
status
— 시뮬레이션 오류 상태
논리값
시뮬레이션 오류 상태로, 다음과 같이 논리값으로 반환됩니다.
모든 시뮬레이션의 실행이 오류 없이 완료될 경우 1(true)
그렇지 않으면 0(false)
E
— 시뮬레이션 오류
구조체형 배열
시뮬레이션 오류로, 다음 필드를 포함하는 구조체형 배열로 반환됩니다.
'SimulationInput'
— 오류를 생성한 시뮬레이션 실행의Simulink.SimulationInput
'ErrorDiagnostic'
— 오류를 포함하는 문자열
확장 기능
자동 병렬 지원
Parallel Computing Toolbox™를 사용해 자동 병렬 계산을 실행하여 코드 실행 속도를 높일 수 있습니다.
병렬로 실행하려면 'UseParallel'
옵션을 true로 설정하십시오.
버전 내역
R2018a에 개발됨
참고 항목
simulationEnsembleDatastore
| Simulink.SimulationInput
(Simulink)
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)