Main Content

sim

Simulink 모델의 프로그래밍 방식 시뮬레이션 실행 및 스크립트 작성

설명

Simulink.SimulationInput 객체 구문

예제

simout = sim(simin)은 하나 이상의 Simulink.SimulationInput 객체에 정의된 속성에 따라 Simulink® 모델의 시뮬레이션을 한 번 이상 실행합니다.

  • simin이 스칼라 Simulink.SimulationInput 객체이면 simout은 스칼라 Simulink.SimulationOutput 객체입니다.

  • simin이 벡터, 행렬, 또는 Simulink.SimulationInput 객체로 구성된 배열이면 simoutsimin과 동일한 차원을 갖는 벡터, 행렬, 또는 Simulink.SimulationOutput 객체로 구성된 배열입니다.

SimulationInput 객체를 사용하여 다음과 같은 시뮬레이션의 옵션과 입력을 구성할 수 있습니다.

  • 시뮬레이션할 모델

  • 소스 변수 또는 외부 입력 데이터용 파일

  • 시뮬레이션에 사용할 블록 파라미터 값

  • 시뮬레이션에 사용할 모델 구성 파라미터 값

SimulationInput 객체의 속성이 모델이나 블록 파라미터 값을 수정하면 그 값은 시뮬레이션 중에 수정되고 시뮬레이션이 끝날 때 되돌려집니다.

SimulationInput 객체를 사용하여 프로그래밍 방식의 시뮬레이션을 구성하면 sim 함수에서 parsim 또는 batchsim과 같은 다른 함수로 쉽게 전환할 수 있습니다.

자세한 내용은 프로그래밍 방식으로 시뮬레이션 실행하기 항목을 참조하십시오.

simout = sim(simin,Name=Value)Simulink.SimulationInput 객체인 simin에 정의된 속성과 하나 이상의 이름-값 인수를 사용하여 지정된 추가 옵션에 따라 모델을 시뮬레이션합니다.

Simulink.SimulationInput 구문에 지원되는 이름-값 인수 목록은 Simulink.SimulationInput 객체 구문 항목을 참조하십시오.

모델 구문

예제

simout = sim(mdl)은 모델 mdl을 모델의 현재 구성 파라미터 값과 블록 파라미터 값을 사용하여 시뮬레이션합니다.

simout = sim(mdl,Name=Value)는 하나 이상의 이름-값 인수로 지정된 옵션을 사용하여 모델 mdl을 시뮬레이션합니다. 예를 들어, 파라미터 이름과 값을 이름-값 인수로 지정하여 시뮬레이션의 모델 구성 파라미터 값을 수정할 수 있습니다.

sim 함수에 입력값을 제공하여 모델 구성 파라미터를 수정하면 변경 사항은 시뮬레이션 중에 적용되고 시뮬레이션이 끝날 때 되돌려집니다.

모델 구문에 지원되는 이름-값 인수 목록은 모델 구문 항목을 참조하십시오.

예제

simout = sim(mdl,paramstruct)paramstruct 구조체로 지정한 모델 구성 파라미터 값을 사용하여 모델 mdl을 시뮬레이션합니다.

예제

simout = sim(mdl,configset)configset 구성 세트의 모델 구성 파라미터 값을 사용하여 모델 mdl을 시뮬레이션합니다.

예제

모두 축소

Simulink.SimulationInput 객체를 사용하여 시뮬레이션하는 모델과 별개로 시뮬레이션 구성을 저장할 수 있습니다. Simulink.SimulationInput 객체의 구성은 시뮬레이션을 위해 모델에 적용됩니다. 시뮬레이션 후에는 변경된 모든 모델 설정이 원래 값으로 되돌아갑니다.

모델 IntegrateSine을 엽니다. 이 모델은 Integrator 블록을 사용하여 Sine Wave 블록의 출력을 적분합니다. Integrator 블록의 출력은 Outport 블록에 연결됩니다.

The model IntegrateSine.

mdl = "IntegrateSine";
open_system(mdl)

Simulink.SimulationInput 객체를 만들어 모델 IntegrateSine의 시뮬레이션 구성을 저장합니다.

simIn = Simulink.SimulationInput(mdl);

setModelParameter 함수를 사용하여 ode45 솔버를 사용하고 20초의 중지 시간을 시뮬레이션하도록 SimulationInput 객체를 구성합니다.

simIn = setModelParameter(simIn,"Solver","ode45",...
    "StopTime","20");

setBlockParameter 함수를 사용하여 Sine Wave 블록의 진폭 파라미터를 2로 설정하도록 SimulationInput 객체를 구성합니다.

blk = strcat(mdl,"/Sine Wave");
simIn = setBlockParameter(simIn,blk,"Amplitude","2");

Simulink.SimulationInput 객체 simIn에 저장된 구성을 사용하여 모델을 시뮬레이션합니다.

out = sim(simIn);

이 모델은 ode45 솔버와 Sine Wave 블록의 진폭 2를 사용하여 20초 동안 시뮬레이션합니다.

A Dashboard Scope block displays the input and output of the Integrator block.

Simulink.SimulationInput 객체로 구성된 배열을 사용하여 시뮬레이션 세트를 구성하는 경우 sim 함수에 대한 단일 호출을 통해 빠른 재시작을 사용하여 시뮬레이션 세트를 실행할 수 있습니다. 빠른 재시작은 시뮬레이션 실행 사이에 컴파일된 모델을 유지하여 시뮬레이션 시간을 절약합니다.

모델 IntegrateSine을 엽니다. 이 모델은 Integrator 블록을 사용하여 Sine Wave 블록의 출력을 적분합니다. Integrator 블록의 출력은 Outport 블록에 연결됩니다.

mdl = "IntegrateSine";
open_system(mdl)

The model IntegrateSine.

Sine Wave 블록에 대해 서로 다른 주파수 값을 사용하는 시뮬레이션이 6개 있는 시뮬레이션 세트를 실행한다고 가정하겠습니다. 시뮬레이션의 주파수 값이 포함된 벡터를 만듭니다.

freqs = [0.5 1 1.5 2 2.5 3];

블록 파라미터를 조정하고 싶다면 변수를 사용하여 파라미터 값을 정의할 수 있습니다. 그런 다음 블록 파라미터를 조정하기 위해 변수 값을 변경합니다.

Sine Wave 블록의 주파수 파라미터 값으로 사용할 변수 freq를 정의합니다. 초기 변수 값에는 현재 파라미터 값을 사용합니다.

blk = mdl + "/Sine Wave";
freq = str2double(get_param(blk,"Frequency"));

Sine Wave 블록의 Frequency 파라미터 값을 freq로 설정합니다.

set_param(blk,"Frequency","freq")

for 루프에서 6개의 Simulink.SimulationInput 객체로 구성된 배열을 만들고 setVariable 함수를 사용하여 주파수 벡터의 값을 사용하도록 각 객체를 구성합니다.

for k = length(freqs):-1:1
    simIn(k) = Simulink.SimulationInput(mdl);
    simIn(k) = setVariable(simIn(k),"freq",freqs(k));
end

sim 함수를 사용하여 SimulationInput 객체 simIn으로 구성된 배열로 정의된 시뮬레이션을 실행합니다. UseFastRestart 이름-값 인수를 사용하여 빠른 재시작을 활성화합니다. UseFastRestart 이름-값 인수는 첫 번째 입력 인수가 Simulink.SimulationInput 객체인 경우에만 지원됩니다. 첫 번째 인수가 모델 이름일 때 빠른 재시작을 사용하려면 FastRestart 이름-값 인수를 사용하십시오.

out = sim(simIn,"UseFastRestart","on");
[28-Feb-2023 11:45:06] Running simulations...
[28-Feb-2023 11:45:11] Completed 1 of 6 simulation runs
[28-Feb-2023 11:45:12] Completed 2 of 6 simulation runs
[28-Feb-2023 11:45:12] Completed 3 of 6 simulation runs
[28-Feb-2023 11:45:12] Completed 4 of 6 simulation runs
[28-Feb-2023 11:45:12] Completed 5 of 6 simulation runs
[28-Feb-2023 11:45:12] Completed 6 of 6 simulation runs

진행률 메시지를 표시하지 않고 같은 시뮬레이션 세트를 실행하려면 ShowProgress 이름-값 인수를 off로 지정하십시오.

out = sim(simIn,"UseFastRestart","on","ShowProgress","off");

시뮬레이션 관리자를 사용하여 시뮬레이션 진행률을 모니터링하려면 ShowSimulationManager 이름-값 인수를 on으로 지정하십시오. 시뮬레이션 관리자에 대한 자세한 내용은 Simulation Manager 항목을 참조하십시오.

out = sim(simIn,"UseFastRestart","on",...
    "ShowProgress","off","ShowSimulationManager","on");

시뮬레이션 출력 out은 각 시뮬레이션의 메타데이터 및 결과를 포함하는 Simulink.SimulationOutput 객체로 구성된 배열입니다. 출력 배열에 있는 SimulationOutput 객체의 순서는 입력 배열에 있는 SimulationInput 객체의 순서와 일치합니다. 예를 들어 인덱스 1SimulationOutput 객체에는 인덱스 1SimulationInput 객체를 사용하여 구성된 시뮬레이션 결과가 포함됩니다.

기록된 출력 신호에 액세스하여 주파수 값 0.5를 사용한 첫 번째 시뮬레이션 결과를 확인합니다.

youtPt5 = out(1).yout
youtPt5 = 
Simulink.SimulationData.Dataset 'yout' with 1 element

                         Name    BlockPath             
                         ______  _____________________ 
    1  [1x1 Signal]      output  IntegrateSine/Outport

  - Use braces { } to access, modify, or add elements using index.

모델 IntegrateSine을 엽니다. 이 모델은 Integrator 블록을 사용하여 Sine Wave 블록의 출력을 적분합니다. Integrator 블록의 출력은 Outport 블록에 연결됩니다.

mdl = "IntegrateSine";
open_system(mdl);

The model IntegrateSine.

현재 구성 파라미터 값을 사용하여 모델을 시뮬레이션합니다.

out = sim(mdl);

시뮬레이션은 10초 동안 실행되며 진폭 1의 사인파를 적분합니다.

A Dashboard Scope block displays the input and output of the Integrator block.

set_param 함수를 사용하여 모델의 모델 구성 파라미터 값과 블록 파라미터 값을 수정할 수 있습니다.

ode45 솔버와 20초의 중지 시간을 사용하도록 모델을 구성합니다.

set_param(mdl,"Solver","ode45","StopTime","20")

Sine Wave 블록의 진폭 파라미터를 2로 설정합니다.

blk = strcat(mdl,"/Sine Wave");
set_param(blk,"Amplitude","2")

set_param 함수를 사용하여 구성 파라미터 값이나 블록 파라미터 값을 수정하는 경우 변경 내용이 블록 다이어그램에 적용되고 모델 파일에 미저장 변경 사항이 생깁니다. sim 함수를 다시 호출하면 모델을 저장하지 않아도 시뮬레이션에서 현재 모델 구성의 일부인 새 파라미터 값을 사용합니다.

out2 = sim(mdl);

시뮬레이션은 20초 동안 실행되며 진폭 2의 사인파를 적분합니다.

A Dashboard Scope block displays the input and output of the Integrator block.

모델의 시뮬레이션에 대한 구성 파라미터를 sim 함수의 이름-값 인수로 지정하여 모델 구성 파라미터 값에 각기 다른 값을 사용하도록 모델 시뮬레이션을 구성할 수 있습니다. 여기서 지정한 파라미터 값은 시뮬레이션에 적용되고 시뮬레이션이 완료되면 되돌려집니다.

sim 함수의 이름-값 인수로 블록 파라미터 값이 아닌 모델 구성 파라미터 값만 지정할 수 있습니다. 단일 입력에서 시뮬레이션에 대한 모델 구성 파라미터 값, 블록 파라미터 값 및 변수 값을 지정하려면 Simulink.SimulationInput 객체를 대신 사용하십시오.

모델 IntegrateSine을 엽니다. 이 모델은 Integrator 블록을 사용하여 Sine Wave 블록의 출력을 적분합니다. Integrator 블록의 출력은 Outport 블록에 연결됩니다.

mdl = "IntegrateSine";
open_system(mdl);

The model IntegrateSine.

솔버 ode4520초의 중지 시간을 사용하여 모델을 시뮬레이션한다고 가정하겠습니다. 시뮬레이션의 Solver 값 및 StopTime 값을 sim 함수의 이름-값 인수로 지정합니다.

out = sim(mdl,"Solver","ode45","StopTime","20");

솔버 ode45를 사용하여 20초의 시뮬레이션 시간 동안 모델이 시뮬레이션됩니다.

A Dashboard Scope block displays the input and output of the Integrator block.

모델 구성 파라미터 이름과 값으로 이루어진 구조체를 사용하여 모델 시뮬레이션을 구성할 수 있습니다. 구조체의 구성 파라미터 값은 시뮬레이션을 위해 모델에 적용됩니다. 시뮬레이션 후에는 변경된 모든 모델 설정이 원래 값으로 되돌아갑니다.

구조체 입력은 모델 구성 파라미터 값만 지정할 수 있으며 시뮬레이션에 사용할 다른 블록 파라미터나 변수 값을 지정할 수 없습니다. 단일 입력에서 시뮬레이션에 대한 모델 구성 파라미터 값, 블록 파라미터 값 및 변수 값을 지정하려면 Simulink.SimulationInput 객체를 대신 사용하십시오.

모델 IntegrateSine을 엽니다. 이 모델은 Integrator 블록을 사용하여 Sine Wave 블록의 출력을 적분합니다. Integrator 블록의 출력은 Outport 블록에 연결됩니다.

mdl = "IntegrateSine";
open_system(mdl)

The model IntegrateSine.

ode45 솔버와 20초의 중지 시간을 사용하도록 시뮬레이션을 구성하는 구조체 SimConfig를 만듭니다. 이 구조체는 시뮬레이션에서 수정할 각 구성 파라미터의 필드를 포함합니다. 각 필드의 이름은 각 파라미터에 대한 프로그래밍 방식의 이름과 일치합니다. 각 필드의 값은 시뮬레이션에서 해당 파라미터에 사용할 값을 지정합니다.

simConfig.Solver = "ode45";
simConfig.StopTime = "20";

구조체의 모델 구성 파라미터 값을 사용하여 모델을 시뮬레이션합니다.

out = sim(mdl,simConfig);

ode45 솔버를 사용하여 20초의 시뮬레이션 시간 동안 모델이 시뮬레이션됩니다.

A Dashboard Scope block displays the input and output of the Integrator block.

Simulink.ConfigSet 객체는 모델 구성 파라미터 값 세트를 저장합니다. Simulink.ConfigSet 객체를 sim 함수에 대한 입력값으로 지정할 수 있습니다. 객체의 구성 세트는 시뮬레이션을 위해 모델에 적용됩니다. 시뮬레이션 후 원래 구성 세트가 모델에 복원됩니다.

Simulink.Configset 객체는 모델 구성 파라미터 값만 저장합니다. 단일 입력에서 시뮬레이션에 대한 모델 구성 파라미터 값, 블록 파라미터 값 및 변수 값을 지정하려면 Simulink.SimulationInput 객체를 대신 사용하십시오.

모델 IntegrateSine을 엽니다. 이 모델은 Integrator 블록을 사용하여 Sine Wave 블록의 출력을 적분합니다. Integrator 블록의 출력은 Outport 블록에 연결됩니다.

mdl = "IntegrateSine";
open_system(mdl)

The model IntegrateSine.

getActiveConfigSet 함수를 사용하여 현재 모델 구성에 대한 Simulink.ConfigSet 객체를 가져옵니다.

mdlConfig = getActiveConfigSet(mdl);

copy 함수를 사용하여 수정할 Simulink.ConfigSet 객체의 복사본을 만듭니다.

simConfig = copy(mdlConfig);

솔버 ode4520초의 중지 시간을 사용하도록 Simulink.ConfigSet 객체 simConfig를 수정합니다.

set_param(simConfig,"Solver","ode45","StopTime","20");

Simulink.Configset 객체 simConfig의 구성 파라미터를 사용하여 모델을 시뮬레이션합니다.

out = sim(mdl,simConfig);

ode45 솔버를 사용하여 20초의 시뮬레이션 시간 동안 모델이 시뮬레이션됩니다.

A Dashboard Scope block displays the input and output of the Integrator block.

입력 인수

모두 축소

시뮬레이션 입력 및 구성으로, Simulink.SimulationInput 객체 또는 Simulink.SimulationInput 객체로 구성된 배열로 지정됩니다. SimulationInput 객체의 속성은 다음과 같은 옵션과 파라미터 값을 지정하여 시뮬레이션에서 사용합니다.

  • 시뮬레이션할 모델

  • 소스 변수 또는 외부 입력 데이터용 파일

  • 시뮬레이션에 사용할 블록 파라미터 값

  • 시뮬레이션에 사용할 모델 구성 파라미터 값

SimulationInput 객체의 속성에 정의된 값은 시뮬레이션을 위해 모델에 적용되고 시뮬레이션이 끝날 때 되돌려집니다.

시뮬레이션할 모델로, 모델 이름을 정의하는 string형이나 문자형 벡터 또는 모델 핸들 (R2024a 이후)로 지정됩니다.

예: simOut = sim("vdp")는 현재 모델에 구성된 파라미터 값을 사용하여 모델 vdp를 시뮬레이션합니다.

데이터형: char | string

시뮬레이션할 모델 구성으로, 구조체로 지정됩니다. 구조체의 필드는 모델 구성 파라미터의 이름입니다. 각 필드의 값은 시뮬레이션에서 사용할 파라미터 값을 나타냅니다. 예를 들어, 시작 시간 5에서 중지 시간 10까지 모델을 시뮬레이션하려면 다음과 같은 구조체를 만듭니다.

paramStruct.StartTime = "5";
paramStruct.StopTime = "10";

데이터형: struct

시뮬레이션할 모델 구성으로, Simulink.ConfigSet 객체로 지정됩니다.

이름-값 인수

선택적 인수 쌍을 Name1=Value1,...,NameN=ValueN으로 지정합니다. 여기서 Name은 인수 이름이고 Value는 대응값입니다. 이름-값 인수는 다른 인수 뒤에 와야 하지만, 인수 쌍의 순서는 상관없습니다.

R2021a 이전 릴리스에서는 쉼표를 사용하여 각 이름과 값을 구분하고 Name을 따옴표로 묶으십시오.

예: simout = sim(simin,UseFastRestart="on")Simulink.SimulationInput 객체로 구성된 배열을 사용하는 시뮬레이션 세트를 빠른 재시작을 사용하여 실행합니다.

예: simout = sim(mdl,Solver="ode15s",StopTime="30")은 중지 시간이 30초인 솔버 ode15s를 사용하도록 모델 mdl의 시뮬레이션을 구성합니다.

sim 함수는 첫 번째 입력을 하나 이상의 Simulink.SimulationInput 객체로 지정하는지 또는 시뮬레이션할 모델 이름 또는 핸들로 지정하는지에 따라 다른 이름-값 인수를 지원합니다. 이 페이지에 나열된 인수 외에도 sim 함수의 입력값을 사용하여 모델 구성 파라미터의 값을 지정할 수 있습니다.

  • 첫 번째 입력 인수가 하나 이상의 Simulink.SimulationInput 객체이면 setModelParameter 함수를 사용하여 입력 객체에 시뮬레이션에 대한 모델 파라미터 값을 구성합니다.

  • 첫 번째 입력 인수가 모델 이름 또는 핸들이면 모델 구성 파라미터를 이름-값 인수로 지정합니다.

Simulink.SimulationInput 객체 구문

모두 축소

빠른 재시작 활성화 옵션으로, "off" 또는 "on"으로 지정됩니다. 빠른 재시작은 가능한 경우 컴파일과 종료 단계를 건너뛰어 시뮬레이션 세트를 실행하는 데 드는 시간을 줄입니다. 자세한 내용은 How Fast Restart Improves Iterative Simulations 항목을 참조하십시오.

SimulationInput 객체로 구성된 배열을 지정하여 sim 함수에 대한 단일 호출을 통해 동일한 모델에 대해 여러 시뮬레이션을 실행하는 경우 빠른 재시작을 사용해 보십시오.

스칼라 SimulationInput 객체를 지정하는 경우 이 인수는 아무런 영향을 미치지 않습니다.

이 인수는 sim 함수의 첫 번째 입력 인수를 하나 이상의 Simulink.SimulationInput 객체로 지정하는 경우에만 지원됩니다.

예: sim(simIn,UseFastRestart="on")

데이터형: char | string

시뮬레이션 오류 발생 시 이후 시뮬레이션을 건너뛰는 옵션으로, "off" 또는 "on"으로 지정됩니다. 이 인수는 Simulink.SimulationInput 객체로 구성된 배열을 첫 번째 인수로 지정하여 sim 함수에 대한 단일 호출을 통해 여러 시뮬레이션을 실행하는 경우에만 영향을 미칩니다.

  • "off" — 시뮬레이션 오류가 발생하면 시뮬레이션 출력에서 오류가 캡처되고 이후 시뮬레이션이 계속 실행됩니다.

    예를 들어, 5개의 SimulationInput 객체가 포함된 벡터를 지정하고 두 번째 시뮬레이션 중에 오류가 발생하는 경우, 두 번째 시뮬레이션의 출력에서 오류가 캡처되고 세 번째, 네 번째, 다섯 번째 시뮬레이션이 계속 실행됩니다.

  • "on" — 시뮬레이션 오류가 발생하면 시뮬레이션 출력에서 오류가 캡처되고, 이후 시뮬레이션은 실행되지 않습니다.

    예를 들어, 5개의 SimulationInput 객체가 포함된 벡터를 지정하고 두 번째 시뮬레이션 중에 오류가 발생하는 경우, 두 번째 시뮬레이션의 출력에서 오류가 캡처되며 세 번째, 네 번째, 다섯 번째 시뮬레이션은 실행되지 않습니다. sim 함수는 실행되지 않는 각 시뮬레이션에 대해 빈 Simulink.SimulationOutput 객체를 반환합니다.

스칼라 SimulationInput 객체를 지정하여 단일 시뮬레이션을 실행하는 경우 이 인수는 아무런 영향을 미치지 않습니다. (R2024a 이후)

이 인수는 sim 함수의 첫 번째 입력 인수를 하나 이상의 Simulink.SimulationInput 객체로 지정하는 경우에만 지원됩니다.

예: sim(simIn,StopOnError="on")

  • SimulationInput 객체로 구성된 배열을 지정하여 여러 시뮬레이션을 실행하면 각 시뮬레이션에 대해 CaptureErrors 파라미터가 항상 활성화합니다. sim 함수를 사용하여 실행하는 개별 시뮬레이션의 경우 CaptureErrors는 기본적으로 꺼져 있습니다.

  • 스칼라 SimulationInput 객체를 지정하여 실행하는 단일 시뮬레이션에 대해 시뮬레이션 출력에서 오류를 캡처할지 여부를 제어하려면 setModelParameter 함수를 사용하여 시뮬레이션에 대해 CaptureErrors 파라미터를 지정합니다. (R2024a 이후)

  • sim 함수에 대한 단일 호출을 사용하여 여러 시뮬레이션을 실행하거나 시뮬레이션 출력에서 시뮬레이션 오류를 캡처하도록 개별 시뮬레이션을 구성하는 경우 시뮬레이션 출력에서 오류 및 시뮬레이션에 대한 정보를 볼 수 있습니다.

    • 이 메시지를 보려면 SimulationOutput 객체의 ErrorMessage 속성을 사용하십시오.

    • 오류에 관한 자세한 내용을 알아보려면 Simulink.SimulationMetadata 객체의 ExecutionInfo 속성을 사용하십시오. ErrorDiagnostic 필드에는 오류가 발생한 시뮬레이션 단계를 포함하여 오류에 대한 정보가 포함됩니다.

데이터형: char | string

시뮬레이션 진행률을 나타내는 옵션으로, "off" 또는 "on"으로 지정됩니다.

  • "off" — 진행률 메시지를 표시하지 않고 시뮬레이션이 실행됩니다.

  • "on" — 시뮬레이션 진행률에 따라 진행률 업데이트가 표시됩니다.

이 파라미터의 디폴트 값은 첫 번째 입력 인수의 크기에 따라 다릅니다.

  • 첫 번째 입력 인수가 스칼라 Simulink.SimulationInput 객체이면 디폴트 값은 "off"입니다.

  • 첫 번째 입력 인수가 Simulink.SimulationInput 객체로 구성된 배열이면 디폴트 값은 "on"입니다.

이 인수는 sim 함수의 첫 번째 입력 인수를 하나 이상의 Simulink.SimulationInput 객체로 지정하는 경우에만 지원됩니다.

예: sim(simIn,ShowProgress="on")

시뮬레이션 관리자를 여는 옵션으로, "off" 또는 "on"으로 지정됩니다. 실행한 시뮬레이션의 진행률을 시뮬레이션 관리자를 사용하여 모니터링할 수 있습니다. Simulink.SimulationInput 객체로 구성된 배열을 지정하여 여러 시뮬레이션을 실행하는 경우 시뮬레이션 관리자를 사용해 보십시오.

이 인수는 sim 함수의 첫 번째 입력 인수를 하나 이상의 Simulink.SimulationInput 객체로 지정하는 경우에만 지원됩니다.

예: sim(simIn,ShowSimulationManager="on")

모델 구문

모두 축소

빠른 재시작 활성화 옵션으로, "on" 또는 "off"로 지정됩니다.

  • "on" — 시뮬레이션을 위한 빠른 재시작을 활성화합니다. 빠른 재시작은 빠른 재시작을 활성화한 뒤에 실행하는 첫 번째 시뮬레이션을 위해 모델을 컴파일한 후, 이후의 컴파일 및 종료를 건너뛰어 반복적인 시뮬레이션 워크플로에서 시간을 절약합니다.

    이 이름-값 인수를 사용하여 빠른 재시작을 활성화하면, 빠른 재시작에서 모델이 아직 초기화되지 않은 경우 소프트웨어는 시뮬레이션을 실행하기 전에 모델을 컴파일합니다. 시뮬레이션이 끝나면 모델은 빠른 재시작에서 초기화된 상태로 유지됩니다.

  • "off" — 시뮬레이션에 대한 빠른 재시작을 비활성화합니다. 빠른 재시작을 비활성화하면 시뮬레이션을 실행할 때마다 모델이 컴파일되고, 시뮬레이션이 초기화되고, 시뮬레이션이 실행된 다음 시뮬레이션이 종료됩니다.

기본적으로 빠른 재시작은 비활성화되어 있으며, sim 함수를 사용하여 실행하는 시뮬레이션에서는 빠른 재시작이 활성화되어 있지 않습니다. 자세한 내용은 How Fast Restart Improves Iterative Simulations 항목을 참조하십시오.

이 인수는 sim 함수의 첫 번째 입력 인수를 모델 이름 또는 핸들로 지정하는 경우에만 지원됩니다.

예: sim("myModel",FastRestart="on")

  • 스칼라 SimulationInput 객체를 sim 함수에 대한 첫 번째 입력으로 지정하는 경우 setModelParameter 함수를 사용하여 SimulationInput 객체에 이 파라미터를 지정합니다. (R2024a 이후)

  • SimulationInput 객체로 구성된 배열을 sim 함수에 대한 첫 번째 입력으로 지정하는 경우 UseFastRestart 이름-값 인수를 지정하여 배치 시뮬레이션에 대한 빠른 재시작을 활성화합니다.

  • 빠른 재시작에서 초기화된 모델을 시뮬레이션할 때 이 이름-값 인수를 "off"로 지정하면, 현재 시뮬레이션을 실행하기 전에 이전 시뮬레이션이 종료되고 모델이 컴파일됩니다.

  • Simulink 편집기 또는 set_param 함수를 사용하여 빠른 재시작을 활성화하면 sim 함수를 사용하여 실행하는 시뮬레이션은 FastRestart 이름-값 인수를 지정하지 않아도 빠른 재시작을 사용합니다.

데이터형: char | string

시뮬레이션 오류 발생 시 오류를 캡처하고 시뮬레이션 출력을 반환하는 옵션으로, "off" 또는 "on"으로 지정됩니다.

동작CaptureErrors="off"(디폴트 값)CaptureErrors="on"
시뮬레이션 오류에 대한 예외 발생

시뮬레이션 오류에 대해 예외가 발생합니다.

예외로 인해 오류가 발생한 시뮬레이션과 시뮬레이션을 호출한 프로세스 모두 중지됩니다.

시뮬레이션 오류에 대해 예외가 발생하지 않습니다.

시뮬레이션 오류로 인해 시뮬레이션이 중지됩니다. 그러나 다른 함수 또는 스크립트가 시뮬레이션을 호출한 경우 함수 또는 스크립트 실행은 계속됩니다.

오류 보고

시뮬레이션 중에 발생하는 오류가 MATLAB® 명령 창에 보고됩니다.

메시지 및 오류가 발생한 시뮬레이션 단계를 포함하여 시뮬레이션 오류에 대한 정보가 시뮬레이션 출력에 캡처됩니다.

시뮬레이션 결과

예외가 발생하면 시뮬레이션이 즉시 중지됩니다. sim 함수는 시뮬레이션 결과를 반환하지 않습니다.

sim 함수는 오류가 발생한 시뮬레이션 시간까지의 시뮬레이션 결과와 메타데이터를 반환합니다.

이 인수는 sim 함수의 첫 번째 입력 인수를 모델 이름 또는 핸들로 지정하는 경우에만 지원됩니다.

예: sim("myModel",CaptureErrors="on")

  • 이 옵션은 SIL(Software-in-the-Loop) 시뮬레이션과 PIL(Processor-in-the-Loop) 시뮬레이션에서는 지원되지 않습니다.

  • 스칼라 SimulationInput 객체를 sim 함수에 대한 입력으로 지정하는 경우 setModelParameter 함수를 사용하여 SimulationInput 객체에 이 파라미터를 지정합니다. (R2024a 이후)

  • 시뮬레이션 오류를 캡처하도록 개별 시뮬레이션을 구성하는 경우와 SimulationInput 객체로 구성된 배열을 지정하여 여러 시뮬레이션을 실행하는 경우, 시뮬레이션 결과에서 오류 및 시뮬레이션에 대한 정보를 볼 수 있습니다.

    • 이 메시지를 보려면 SimulationOutput 객체의 ErrorMessage 속성을 사용하십시오.

    • 오류에 관한 자세한 내용을 알아보려면 Simulink.SimulationMetadata 객체의 ExecutionInfo 속성을 사용하십시오. ErrorDiagnostic 필드에는 오류가 발생한 시뮬레이션 단계를 포함하여 오류에 대한 정보가 포함됩니다.

데이터형: char | string

프로그래밍 방식의 시뮬레이션 디버그 세션을 시작하는 옵션으로, "off" 또는 "on"으로 지정됩니다.

이 인수는 sim 함수의 첫 번째 입력 인수를 모델 이름 또는 핸들로 지정하는 경우에만 지원됩니다.

예: sim("modelName",Debug="on")

데이터형: char | string

고속 액셀러레이터 타깃의 재빌드를 비활성화하는 옵션으로, "on" 또는 "off"로 지정됩니다. 이 인수를 "on"으로 지정하면 고속 액셀러레이터 타깃을 재빌드하는 데 필요한 변경 사항이 무시됩니다. 이 옵션을 사용하면 고속 액셀러레이터 타깃을 재빌드하는 데 필요하지 않은 옵션만 수정할 수 있습니다.

이 인수는 sim 함수의 첫 번째 입력 인수를 모델 이름 또는 핸들로 지정하는 경우에만 지원됩니다.

예: sim("modelName",RapidAcceleratorUpToDateCheck="off")

Simulink.SimulationInput 객체를 사용하여 구성된 시뮬레이션에 이 옵션을 지정하려면 setModelParameter 함수를 사용하십시오.

simIn = Simulink.SimulationInput("MyModel");
simIn = setModelParameter(simIn,RapidAcceleratorUpToDateCheck="off");

데이터형: char | string

최대 시뮬레이션 실행 시간으로, 양의 스칼라로 지정됩니다. 시뮬레이션 실행을 허용할 시간을 초 단위로 지정하십시오. 시뮬레이션이 지정한 값보다 오래 실행되면 소프트웨어에서 경고가 발생하고 시뮬레이션이 중지됩니다. 예를 들어, TimeOut30으로 지정한 경우 시뮬레이션 결과를 계산하는 데 30초 넘게 소요되면 소프트웨어에서 시뮬레이션을 중지하고 경고를 발생시킵니다.

TimeOut 파라미터는 시뮬레이션 실행에 소요되는 클록 시간에 대한 제한값을 지정합니다. 시뮬레이션할 최대 시간 값을 지정하려면 중지 시간 파라미터를 사용하십시오.

이 인수는 sim 함수의 첫 번째 입력 인수를 모델 이름 또는 핸들로 지정하는 경우에만 지원됩니다.

예: sim("MyModel",TimeOut=60)은 최대 실행 시간 60초 동안 실행되는 시뮬레이션을 구성합니다.

  • 여러 가변 스텝 시뮬레이션을 직렬로 실행하는 경우 제한 시간을 지정해 보십시오. 시뮬레이션 조건에 따른 스텝 크기 제한 때문에 솔버가 다수의 매우 작은 시간 스텝을 수행하기 시작할 경우, 제한 시간을 초과할 때 해당 시뮬레이션이 만료되도록 함으로써 후속 시뮬레이션이 실행되게 할 수 있습니다.

  • Simulink.SimulationInput 객체를 사용하여 구성된 시뮬레이션에 이 옵션을 지정하려면 setModelParameter 함수를 사용하십시오.

    simIn = Simulink.SimulationInput("MyModel");
    simIn = setModelParameter(simIn,TimeOut=60);

시뮬레이션 전에 파라미터 요약을 표시하는 옵션으로, "siminfo"로 지정됩니다.

이 인수는 sim 함수의 첫 번째 입력 인수를 모델 이름 또는 핸들로 지정하는 경우에만 지원됩니다.

예: sim("modelName",Trace="siminfo")

데이터형: char | string

출력 인수

모두 축소

시뮬레이션 결과 및 메타데이터로, Simulink.SimulationOutput 객체, Simulink.SimulationOutput 객체로 구성된 배열 또는 벡터로 반환됩니다. Simulink.SimulationOutput 객체에는 시뮬레이션에서 기록된 모든 데이터와 시뮬레이션에 관한 메타데이터(예: 시간 설정 정보 및 진단)가 포함됩니다.

모델 이름이나 핸들을 유일한 입력 인수로 지정했고 시뮬레이션할 모델의 단일 시뮬레이션 출력 파라미터가 비활성화되어 있다면 sim 함수의 출력은 시뮬레이션에서 발생한 주 시간 적중으로 구성된 벡터입니다. sim 함수가 모든 구문에 대해 일관된 형식으로 결과를 반환하도록 하려면 단일 시뮬레이션 출력 파라미터를 활성화하고 모델을 저장하십시오.

  • sim 함수가 모든 구문에 대해 동일한 형식으로 결과를 반환하도록 하려면 단일 시뮬레이션 출력 파라미터를 활성화하고 모델을 저장하십시오. 이 옵션이 활성화되면 시뮬레이션 결과는 시뮬레이션에 대해 시간 설정 정보 및 진단을 포함하여 기록된 모든 데이터 및 시뮬레이션 메타데이터를 각각 포함하는 하나 이상의 Simulink.SimulationOutput 객체로 반환됩니다. 모든 시뮬레이션 데이터와 메타데이터를 단일 객체로 반환하면 여러 시뮬레이션의 결과를 쉽게 분석할 수 있습니다.

  • 모델 구성 파라미터의 목록을 가져오려면 getActiveConfigSet 함수와 get_param 함수를 사용하십시오. 예를 들어, 모델 vdp의 구성 파라미터를 보려면 MATLAB 명령 창에 다음 명령을 입력합니다.

    configSet = getActiveConfigSet("vdp");
    configSetNames = get_param(configSet,"ObjectParameters")

    get_param 함수는 StopTime, SaveTime, SaveState, SaveOutputSignalLogging과 같은 모든 모델 구성 파라미터의 목록을 반환합니다.

  • 모델 계층 구조를 시뮬레이션하는 경우 sim 함수에 입력 인수로 지정한 모델 구성 파라미터는 최상위 모델에 적용됩니다.

  • sim 함수를 사용하여 시뮬레이션을 실행하면 오류가 발생하거나 시뮬레이션이 지정된 중지 시간에 도달할 때까지 실행됩니다. 시뮬레이션 실행을 제어하고 시뮬레이션 중에 파라미터 값을 조정할 수 있는 프로그래밍 방식의 시뮬레이션을 실행하거나 스크립트를 작성하려면 Simulation 객체를 사용하십시오. (R2024a 이후) 자세한 내용은 프로그래밍 방식으로 시뮬레이션 실행하기 항목을 참조하십시오.

  • set_param 함수를 사용하여 시뮬레이션 명령을 실행하면 MATLAB 명령 창과 Simulink 편집기를 모두 사용하여 시뮬레이션과 상호 작용할 수 있습니다. 자세한 내용은 프로그래밍 방식으로 시뮬레이션 실행하기 항목을 참조하십시오.

  • 중지 시간을 무한대로 설정하여 모델을 시뮬레이션할 때 시뮬레이션을 중지하려면 MATLAB 명령 창에서 Ctrl+C를 눌러야 합니다. 그러면 시뮬레이션이 중단되고 시뮬레이션 결과는 MATLAB 작업 공간에 저장되지 않습니다.

  • 구성 파라미터 대화 상자를 사용하여 시간, 상태, 출력 기록을 구성합니다. 모델링 탭의 설정 아래에서 모델 설정을 클릭합니다. 그런 다음, 구성 파라미터 대화 상자에서 데이터 가져오기/내보내기를 선택합니다.

  • 모델 전체에 걸쳐 신호를 기록하려면, 신호 기록을 사용하거나 To Workspace 블록 또는 Record 블록과 같은 기록 블록을 사용하십시오. 신호 기록에 대한 자세한 내용은 Save Signal Data Using Signal Logging 항목을 참조하십시오.

버전 내역

R2006a 이전에 개발됨

모두 확장