주요 콘텐츠

sim

R2026b

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

설명

Simulink.SimulationInput 객체 구문

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

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

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

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

  • 시뮬레이션할 모델

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

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

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

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

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

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

예제

out = sim(simin,Name=Value)는 하나 이상의 이름-값 인수로 지정된 추가 옵션을 사용하여 시뮬레이션을 실행합니다.

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

예제

모델 구문

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

예제

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

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

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

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

예제

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

예제

예제

모두 축소

Sine Wave 블록의 출력을 적분하고 Outport 블록을 사용하여 결과를 기록하는 IntegrateSine이라는 모델이 있다고 가정하겠습니다. Scope 블록이 사인파 입력과 적분된 출력을 표시합니다. 모델을 열고, 모델에 저장된 파라미터 값을 사용하여 모델을 시뮬레이션하고자 합니다.

Block diagram of the model IntegrateSine.

모델 이름을 sim 함수의 입력값으로 지정하여 모델을 시뮬레이션합니다.

out = sim(mdl);

시뮬레이션은 모델에 지정된 현재 모델 구성 파라미터와 블록 파라미터를 사용하여 실행됩니다. 여기서 모델의 중지 시간은 10초이고 Sine Wave 블록의 진폭은 1입니다.

The sine wave input and integrated output displayed on a Scope block.

시뮬레이션을 위해 모델의 파라미터를 수정하면서도 모델의 변경 사항을 미저장 상태로 만들지 않으려면 Simulink.SimulationInput 객체를 사용하여 시뮬레이션을 구성합니다. Simulink.SimulationInput 객체를 사용하여 시뮬레이션을 구성할 때 모델 구성 파라미터, 블록 파라미터 및 변수 값을 구성할 수 있습니다. sim 함수는 시뮬레이션 중에 Simulink.SimulationInput 객체에 지정된 구성을 적용하고 시뮬레이션이 완료되면 모델에 대한 변경 사항을 되돌립니다.

현재 파라미터 값을 사용하여 시뮬레이션 실행하기에 설명된 모델 IntegrateSine을 사인파 입력의 서로 다른 진폭에 대해 시뮬레이션한다고 가정하겠습니다.

Block diagram of the model IntegrateSine.

모델을 파라미터화하기 위해 Sine Wave 블록의 진폭 파라미터 값을 변수로 지정합니다. 모델을 엽니다. 그런 다음 기본 작업 공간에서 변수를 정의하고 모델의 블록 파라미터 값을 변수로 지정합니다.

mdl = "IntegrateSine";
open_system(mdl)
a = 1;
set_param(mdl + "/Sine Wave",Amplitude="a")

Simulink.SimulationInput 객체를 생성하여 시뮬레이션 구성을 저장합니다. 다음 특징을 갖는 시뮬레이션을 구성하도록 Simulink.SimulationInput 객체에 파라미터 및 변수 값을 지정합니다.

  • 솔버 ode45를 사용함

  • 중지 시간 20초까지 실행됨

  • 시뮬레이션되는 사인파 입력의 진폭을 2로 설정함

mdl = "IntegrateSine";
simin = Simulink.SimulationInput(mdl);
simin = setModelParameter(simin,Solver="ode45",StopTime="20");
simin = setVariable(simin,"a",2);

Simulink.SimulationInput 객체를 sim 함수의 입력값으로 지정하여 모델을 시뮬레이션합니다.

out = sim(simin);

이 모델은 솔버 ode45와 사인파 진폭 2를 사용하여 20초 동안 시뮬레이션됩니다.

The sine wave input and integrated output displayed on a Scope block.

시뮬레이션이 완료되면 작업 공간의 변수와 솔버 파라미터, 중지 시간 파라미터가 원래 값으로 되돌아갑니다.

빠른 재시작에서는 첫 번째 시뮬레이션의 실행 단계 전에 모델을 한 번만 컴파일하여 파라미터 스윕 속도를 높입니다. 각 후속 시뮬레이션에서는 모델 재컴파일 없이 지정된 파라미터 값으로 모델을 다시 초기화하므로, 파라미터 스윕 실행에 필요한 전반적인 시간이 크게 줄어들 수 있습니다. sim 함수를 한 번 호출하여 실행되는 파라미터 스윕에 대해 빠른 재시작을 활성화하려면 UseFastRestart 이름-값 인수를 "on"으로 지정합니다.

현재 파라미터 값을 사용하여 시뮬레이션 실행하기에 설명된 모델 IntegrateSine을 사인파 입력의 서로 다른 진폭에 대해 시뮬레이션한다고 가정하겠습니다.

Block diagram of the model IntegrateSine.

모델을 파라미터화하기 위해 Sine Wave 블록의 진폭 파라미터 값을 변수로 지정합니다. 모델을 엽니다. 그런 다음 기본 작업 공간에서 변수를 정의하고 모델의 블록 파라미터 값을 변수로 지정합니다.

mdl = "IntegrateSine";
open_system(mdl)
a = 1;
set_param(mdl + "/Sine Wave",Amplitude="a")

시뮬레이션하려는 파라미터 값으로 구성된 벡터를 만듭니다. 그런 다음, 파라미터 스윕의 각 시뮬레이션에 대한 구성을 나타내는 Simulink.SimulationInput 객체 배열을 만듭니다. for 루프에서 각 Simulink.SimulationInput 객체에 대해 해당 파라미터를 정의하는 변수 값을 지정합니다.

mdl = "IntegrateSine";
amps = [1 2 3 4 5 6];
n = length(amps);
simin(1:n) = Simulink.SimulationInput(mdl);

for k = n:-1:1
    simin(k) = setVariable(simin(k),"a",amps(k));
end

UseFastRestart 이름-값 인수를 "on"으로 지정하여 빠른 재시작을 활성화하고 sim 함수를 한 번 호출하여 파라미터 스윕을 실행합니다.

out = sim(simin,UseFastRestart="on");
[14-Apr-2026 17:31:23] Running simulations...
[14-Apr-2026 17:31:24] Completed 1 of 6 simulation runs
[14-Apr-2026 17:31:25] Completed 2 of 6 simulation runs
[14-Apr-2026 17:31:25] Completed 3 of 6 simulation runs
[14-Apr-2026 17:31:25] Completed 4 of 6 simulation runs
[14-Apr-2026 17:31:26] Completed 5 of 6 simulation runs
[14-Apr-2026 17:31:26] Completed 6 of 6 simulation runs

sim 함수가 시뮬레이션 결과를 Simulink.SimulationOutput 객체로 구성된 배열로 반환합니다. 배열의 각 Simulink.SimulationOutput 객체에는 입력 배열에서 동일한 인덱스를 갖는 Simulink.SimulationInput 객체를 사용하여 구성된 시뮬레이션 결과가 포함됩니다. 예를 들어 출력 배열의 인덱스 1에 있는 Simulink.SimulationOutput 객체에는 입력 배열의 인덱스 1에 있는 Simulink.SimulationInput 객체를 사용한 시뮬레이션 실행 결과가 포함됩니다.

진폭 1을 사용한 첫 번째 시뮬레이션에 기록된 출력 데이터에 액세스합니다.

yout1 = out(1).yout
yout1 = 
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.

진행률 메시지를 표시하지 않으려면 ShowProgress 이름-값 인수를 "off"로 지정합니다. 시뮬레이션 관리자를 사용하여 진행률을 모니터링하려면 ShowSimulationManager 이름-값 인수를 "on"으로 지정하십시오. 자세한 내용은 시뮬레이션 관리자 항목을 참조하십시오.

모델에 미저장된 변경 사항을 만들지 않으면서 시뮬레이션을 구성하려면 하나 이상의 이름-값 인수를 지정하면 됩니다. sim 함수는 시뮬레이션 중에 파라미터를 수정하고 시뮬레이션이 완료되면 모델에 대한 변경 사항을 되돌립니다. 이름-값 인수는 모델 구성 파라미터만 지정할 수 있습니다. 변수 및 블록 파라미터 값과 같은 추가 파라미터를 구성하려면 Simulink.SimulationInput 객체를 대신 사용하십시오.

현재 파라미터 값을 사용하여 시뮬레이션 실행하기에 설명된 모델 IntegrateSine을 솔버 ode45를 사용하여 20초 동안 시뮬레이션한다고 가정하겠습니다.

Block diagram of the model IntegrateSine.

모델을 시뮬레이션합니다. 이름-값 인수를 사용하여 시뮬레이션에 대한 중지 시간 및 솔버 파라미터를 지정합니다.

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

시뮬레이션에 사용된 파라미터 값을 보려면 시뮬레이션 결과와 함께 반환된 시뮬레이션 메타데이터를 확인합니다.

slvr = out.SimulationMetadata.ModelInfo.SolverInfo.Solver
slvr =

    'ode45'
tstop = out.SimulationMetadata.ModelInfo.StopTime
tstop =

    20

모델에 미저장된 변경 사항을 만들지 않으면서 시뮬레이션을 구성하려면, 수정할 각 파라미터의 이름과 값을 정의하는 구조체를 지정하면 됩니다. sim 함수는 시뮬레이션 중에 지정된 파라미터를 수정하고 시뮬레이션이 완료되면 모델에 대한 변경 사항을 되돌립니다. 구조체는 모델 구성 파라미터만 지정할 수 있습니다. 변수 및 블록 파라미터 값과 같은 추가 파라미터를 구성하려면 Simulink.SimulationInput 객체를 대신 사용하십시오.

현재 파라미터 값을 사용하여 시뮬레이션 실행하기에 설명된 모델 IntegrateSine을 솔버 ode45를 사용하여 20초 동안 시뮬레이션한다고 가정하겠습니다.

Block diagram of the model IntegrateSine.

필드 Solver와 StopTime을 포함하는 구조체를 만듭니다.

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

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

mdl = "IntegrateSine";
out = sim(mdl,simconfig);

시뮬레이션에 사용된 파라미터 값을 보려면 시뮬레이션 결과와 함께 반환된 시뮬레이션 메타데이터를 확인합니다.

slvr = out.SimulationMetadata.ModelInfo.SolverInfo.Solver
slvr =

    'ode45'
tstop = out.SimulationMetadata.ModelInfo.StopTime
tstop =

    20

모델에 미저장된 변경 사항을 만들지 않으면서 구성 세트를 시뮬레이션에 적용하려면 Simulink.ConfigSet 객체를 사용하여 시뮬레이션을 구성합니다. sim 함수는 시뮬레이션 중에 구성 세트를 모델에 적용하고 시뮬레이션이 완료되면 변경 사항을 되돌립니다. 구성 세트는 모델 구성 파라미터 값만 지정합니다. 변수 및 블록 파라미터 값과 같은 추가 값을 지정하려면 Simulink.SimulationInput 객체를 대신 사용하십시오.

현재 파라미터 값을 사용하여 시뮬레이션 실행하기에 설명된 모델 IntegrateSine을 솔버 ode45를 사용하여 20초 동안 시뮬레이션한다고 가정하겠습니다.

Block diagram of the model IntegrateSine.

시뮬레이션에 사용할 파라미터 값을 지정하기 위해 Simulink.ConfigSet 객체를 만들고 구성합니다. 모델을 열고 현재 구성 세트를 가져옵니다. 그런 다음, 구성 세트 복사본을 만들고 그 복사본에 중지 시간과 솔버를 지정합니다.

mdl = "IntegrateSine";
open_system(mdl)
mdlconfig = getActiveConfigSet(mdl);
simconfig = copy(mdlconfig);
set_param(simconfig,StopTime="20");
set_param(simconfig,Solver="ode45");

구성 세트 simconfig를 사용하여 모델을 시뮬레이션합니다.

out = sim(mdl,simconfig);

시뮬레이션에 사용된 파라미터 값을 보려면 시뮬레이션 결과와 함께 반환된 시뮬레이션 메타데이터를 확인합니다.

slvr = out.SimulationMetadata.ModelInfo.SolverInfo.Solver
slvr =

    'ode45'
tstop = out.SimulationMetadata.ModelInfo.StopTime
tstop =

    20

입력 인수

모두 축소

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

  • 시뮬레이션할 모델

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

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

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

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

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

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

데이터형: char | string

시뮬레이션에 사용할 모델 파라미터 값으로, 구조체로 지정됩니다. 파라미터 값을 지정하려면, 프로그래밍 방식의 모델 파라미터 이름과 일치하는 필드를 구조체에 추가합니다. 예를 들어 시작 시간을 5초, 중지 시간을 10초로 지정하려면 다음 구조체를 만듭니다.

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

데이터형: struct

시뮬레이션에 사용할 구성 세트로, Simulink.ConfigSet 객체로 지정됩니다.

이름-값 인수

모두 확장

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

예: out = sim(simin,UseFastRestart="on")은 빠른 재시작을 사용하여 시뮬레이션 세트를 실행합니다.

예: out = sim(mdl,FastRestart="on")은 빠른 재시작을 활성화하고 모델 mdl의 시뮬레이션을 실행합니다.

참고

sim 함수는 첫 번째 입력을 하나 이상의 Simulink.SimulationInput 객체로 지정하는지 또는 시뮬레이션할 모델 이름 또는 핸들로 지정하는지에 따라 다른 이름-값 인수를 지원합니다.

Simulink.SimulationInput 객체 구문

모두 확장

빠른 재시작 활성화 옵션으로, "off" 또는 "on"으로 지정됩니다. 빠른 재시작을 사용하면 첫 번째 시뮬레이션의 실행 단계 전에 모델을 한 번만 컴파일하여 시뮬레이션 세트 실행에 필요한 시간을 줄입니다. 자세한 내용은 How Fast Restart Improves Iterative Simulations 항목을 참조하십시오.

Simulink.SimulationInput 객체로 구성된 배열을 지정하여 모델에 대해 여러 시뮬레이션을 실행하는 경우 빠른 재시작을 사용해 보십시오. 자세한 내용은 Script Iterative or Batch Simulations Using Fast Restart 항목을 참조하십시오.

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

스칼라 Simulink.SimulationInput 객체를 지정하는 경우 이 인수는 아무런 영향을 미치지 않습니다. 빠른 재시작을 활성화하려면 setModelParameter 함수를 사용하여 Simulink.SimulationInput 객체에 FastRestart 파라미터를 지정하십시오. 스칼라 Simulink.SimulationInput 객체를 사용하여 빠른 재시작을 활성화하면, 시뮬레이션이 완료될 때 빠른 재시작은 모델에서 활성화된 상태로 유지됩니다.

예: out = sim(simin,UseFastRestart="on");

데이터형: char | string

시뮬레이션 오류 발생 시 이후 시뮬레이션을 건너뛰는 옵션으로, "off" 또는 "on"으로 지정됩니다.

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

    예를 들어 Simulink.SimulationInput 객체로 구성된 배열을 사용하여 시뮬레이션을 5번 실행한다고 가정하겠습니다. 두 번째 시뮬레이션 중에 오류가 발생합니다. sim 함수는 두 번째 시뮬레이션의 출력에서 오류를 캡처하고 세 번째, 네 번째, 다섯 번째 시뮬레이션을 계속 실행합니다.

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

    예를 들어 Simulink.SimulationInput 객체 5개로 구성된 배열을 사용하여 시뮬레이션을 5번 실행한다고 가정하겠습니다. 두 번째 시뮬레이션 중에 오류가 발생합니다. 두 번째 시뮬레이션의 출력에서 오류가 캡처되며 세 번째, 네 번째, 다섯 번째 시뮬레이션은 실행되지 않습니다. sim 함수는 실행되지 않는 각 시뮬레이션에 대해 빈 Simulink.SimulationOutput 객체를 반환합니다.

sim 함수의 첫 번째 입력값을 스칼라 Simulink.SimulationInput 객체로 지정하는 경우 이 인수는 아무런 영향을 미치지 않습니다. (R2024a 이후)

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

예: out = sim(simin,StopOnError="on");

팁

  • 첫 번째 입력값이 Simulink.SimulationInput 객체로 구성된 배열이면 sim 함수는 항상 각 시뮬레이션에 대해 CaptureErrors를 활성화합니다.

  • 시뮬레이션 출력과 메타데이터에서 캡처된 오류 정보를 확인하십시오.

    • sim 함수는 Simulink.SimulationOutput 객체의 ErrorMessage 속성에 오류를 캡처합니다.

      msg = out.ErrorMessage;
    • 진단 뷰어에서 오류 메시지를 보려면 sldiagviewer.reportSimulationMetadataDiagnostics 함수를 사용하십시오.

      sldiagviewer.reportSimulationMetadataDiagnostics(out)
    • 시뮬레이션에서 반환된 Simulink.SimulationMetadata 객체에는 오류가 발생한 시뮬레이션 단계와 같은 추가 오류 정보가 포함되어 있습니다. 오류 정보는 ExecutionInfo 속성의 ErrorDiagnostic 필드에 저장됩니다.

      e = out.SimulationMetadata.ExecutionInfo.ErrorDiagnostic;

데이터형: char | string

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

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

  • "on" — 시뮬레이션이 실행될 때 진행률 업데이트가 표시됩니다.

이 파라미터의 디폴트 값은 sim 함수의 첫 번째 입력값의 차원에 따라 다릅니다.

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

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

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

예: out = sim(simin,ShowProgress="on");

시뮬레이션 관리자를 사용하여 진행률을 모니터링하는 옵션으로, "off" 또는 "on"으로 지정됩니다. sim 함수에 대한 단일 호출을 사용하여 여러 시뮬레이션을 실행하는 경우 시뮬레이션 관리자를 사용해 보십시오.

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

예: out = sim(simin,ShowSimulationManager="on");

모델 구문

모두 확장

시뮬레이션에 사용할 모델 구성 파라미터 값으로, 프로그래밍 방식의 구성 파라미터 이름과 파라미터 값으로 구성된 이름-값 인수로 지정됩니다.

예를 들어 중지 시간 파라미터를 구성하려면, 이름 StopTime과 파라미터 값을 사용하여 이름-값 인수를 지정합니다. 다음 명령은 이름이 MyModel인 모델의 시뮬레이션을 100초간 실행합니다.

mdl = "MyModel";
out = sim(mdl,StopTime="100");

sim 함수를 사용하여 실행하는 시뮬레이션에서 모델 구성 파라미터의 값을 지정하기 위해 이름-값 인수를 사용할 수 있습니다. 지정한 구성 파라미터 값은 시뮬레이션에 적용되며 시뮬레이션이 종료되면 되돌려집니다. 모델 계층 구조를 시뮬레이션하는 경우 지정한 구성 파라미터 값은 최상위 모델에 적용됩니다.

모델 구성 파라미터 값을 이름-값 인수로 지정하는 것은 sim 함수의 첫 번째 입력값을 시뮬레이션할 모델의 이름이나 핸들로 지정하는 경우에만 지원됩니다.

예: out = sim("MyModel",SaveOutput="on");

팁

  • Simulink.SimulationInput 객체에 구성 파라미터 값을 지정하려면 setModelParameter 함수를 사용하십시오.

    simin = Simulink.SimulationInput("MyModel");
    simin = setModelParameter(simin,StopTime="100");
  • 모델 구성 파라미터의 목록을 가져오려면 getActiveConfigSet 함수와 get_param 함수를 사용하십시오.

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

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

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

  • "on" — 시뮬레이션이 모델 내 FastRestart 파라미터를 활성화하고 빠른 재시작을 사용하여 실행됩니다. 시뮬레이션이 끝난 후 FastRestart 파라미터는 모델에서 활성화된 상태로 유지됩니다.

    빠른 재시작에서 모델이 아직 초기화되지 않은 경우 소프트웨어는 시뮬레이션을 실행하기 전에 모델을 컴파일합니다. 시뮬레이션이 끝나면 모델은 빠른 재시작에서 초기화된 상태로 유지됩니다. 시뮬레이션을 종료하려면 빠른 재시작을 비활성화하십시오. 자세한 내용은 Script Iterative or Batch Simulations Using Fast Restart 항목을 참조하십시오.

  • "off" — 시뮬레이션이 모델 내 FastRestart 파라미터를 비활성화하고 빠른 재시작을 사용하지 않고 실행됩니다. 시뮬레이션마다 모델이 컴파일됩니다.

    빠른 재시작에서 모델이 이미 초기화된 경우 sim 함수는 모델을 컴파일하기 전에 이전 시뮬레이션을 종료합니다.

기본적으로 모델에서 빠른 재시작은 비활성화되어 있으며, sim 함수를 사용하여 실행하는 시뮬레이션은 빠른 재시작을 활성화하지 않습니다. 이 인수를 지정하지 않는 경우 sim 함수는 모델의 파라미터 값을 사용합니다.

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

예: out = sim("MyModel",FastRestart="on");

팁

  • Simulink.SimulationInput 객체에 이 파라미터를 지정하려면 setModelParameter 함수를 사용하십시오. (R2024a 이후)

    simin = Simulink.SimulationInput("MyModel");
    simin = setModelParameter(simin,FastRestart="on");
  • 빠른 재시작을 사용하여 시뮬레이션 세트를 실행하려면, 첫 번째 입력 인수를 Simulink.SimulationInput 객체로 구성된 배열로 지정하고 UseFastRestart 이름-값 인수를 대신 사용하십시오.

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

  • 단일 시뮬레이션 출력 구성 파라미터가 비활성화되어 있더라도 빠른 재시작 시뮬레이션은 결과를 단일 Simulink.SimulationOutput 객체로 반환합니다.

데이터형: char | string

시뮬레이션 모드로, "normal", "accelerator" 또는 "rapid-accelerator"로 지정됩니다. 이 인수를 지정하지 않으면 시뮬레이션은 모델에 지정된 시뮬레이션 모드를 사용합니다.

값설명
"normal"

표준 모드를 사용하여 시뮬레이션을 실행합니다.

표준 모드 시뮬레이션은 전체 모델 표현을 사용하며 시뮬레이션 중에 모델과 상호 작용하기 위한 최상의 지원을 제공합니다.

시뮬레이션 간에 모델의 구조를 수정하는 워크플로에는 표준 모드를 사용하십시오. 최상의 결과를 얻으려면 시뮬레이션 디버그에 표준 모드를 사용하십시오.

"accelerator"

액셀러레이터 모드를 사용하여 시뮬레이션을 실행합니다.

액셀러레이터 모드 시뮬레이션은 시뮬레이션 타깃이라고 하는 모델의 최적화된 표현을 생성하여 시뮬레이션에서 사용합니다. 시뮬레이션 성능을 향상하는 최적화로 인해 시뮬레이션 중에 모델과 상호 작용하는 기능이 감소할 수 있습니다. 액셀러레이터 모드 시뮬레이션 간에 모델을 수정하려면 시뮬레이션 타깃을 다시 생성해야 할 수 있습니다.

시뮬레이션 간에 모델을 구조적으로 변경하지 않는 워크플로에서 시뮬레이션 속도를 높이려면 액셀러레이터 모드를 사용하십시오.

"rapid-accelerator"

고속 액셀러레이터 모드를 사용하여 시뮬레이션을 실행합니다.

고속 액셀러레이터 모드 시뮬레이션은 시뮬레이션 타깃을 생성하여 시뮬레이션에 사용합니다. 시뮬레이션 타깃은 시뮬레이션 중에 모델과 상호 작용하기 위한 최소한의 지원을 제공합니다. 고속 액셀러레이터 시뮬레이션 간에 모델을 수정하려면 시뮬레이션 타깃을 재빌드해야 할 수 있습니다.

변수와 파라미터 값만 조정하여 시뮬레이션 간에 모델을 수정하는 경우 가장 빠른 시뮬레이션 실행을 위해 고속 액셀러레이터 모드를 사용하십시오. 특정 파라미터 값을 조정하려면 시뮬레이션 타깃을 재빌드해야 할 수 있습니다.

자세한 내용은 Choosing a Simulation Mode 항목과 Code Regeneration in Accelerated Models 항목을 참조하십시오.

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

예: out = sim("MyModel",SimulationMode="accelerator");

팁

  • Simulink.SimulationInput 객체에 시뮬레이션 모드를 지정하려면 setModelParameter 함수를 사용하십시오.

    simin = Simulink.SimulationInput("MyModel");
    simin = setModelParameter(simin,SimulationMode="accelerator");
  • 시각화 블록은 Simulink 편집기와 같은 UI에서 시뮬레이션을 실행할 때는 시뮬레이션 중에 업데이트되지만, 프로그래밍 방식으로 고속 액셀러레이터 시뮬레이션을 실행할 때는 시뮬레이션 중에 업데이트되지 않습니다.

  • 시뮬레이션 타깃의 재빌드를 방지하려면 RapidAcceleratorUpToDateCheck 파라미터 값을 "off"로 지정하여 고속 액셀러레이터 최신 검사를 비활성화할 수 있습니다. 최신 검사가 비활성화되면 시뮬레이션 타깃을 재빌드해야 하는 변경 내용은 무시됩니다.

  • 고속 액셀러레이터 모드를 사용하여 시뮬레이션하기 위해 "rapid-accelerator"의 부분 일치 스트링인 "rapid"를 지정할 수 있습니다. MATLAB®의 이름-값 인수에 대한 자세한 내용은 이름-값 인수의 유효성 검사하기 항목을 참조하십시오.

데이터형: char | string

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

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

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

예외로 인해 오류가 발생한 시뮬레이션과 시뮬레이션을 호출한 스크립트 또는 함수가 모두 중지됩니다(해당하는 경우).

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

스크립트 또는 다른 함수가 시뮬레이션을 호출한 경우 오류로 인해 시뮬레이션이 중지되지만, 스크립트 또는 함수의 실행은 중지되지 않습니다.

오류 보고

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

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

시뮬레이션 결과

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

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

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

예: out = sim("MyModel",CaptureErrors="on");

팁

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

  • Simulink.SimulationInput 객체에 이 파라미터를 지정하려면 setModelParameter 함수를 사용하십시오. (R2024a 이후)

    simin = Simulink.SimulationInput("MyModel");
    simin = setModelParameter(simin,CaptureErrors="on");
  • 시뮬레이션 출력과 메타데이터에서 캡처된 오류 정보를 확인하십시오.

    • sim 함수는 Simulink.SimulationOutput 객체의 ErrorMessage 속성에 오류를 캡처합니다.

      msg = out.ErrorMessage;
    • 진단 뷰어에서 오류 메시지를 보려면 sldiagviewer.reportSimulationMetadataDiagnostics 함수를 사용하십시오.

      sldiagviewer.reportSimulationMetadataDiagnostics(out)
    • 시뮬레이션에서 반환된 Simulink.SimulationMetadata 객체에는 오류가 발생한 시뮬레이션 단계와 같은 추가 오류 정보가 포함되어 있습니다. 오류 정보는 ExecutionInfo 속성의 ErrorDiagnostic 필드에 저장됩니다.

      e = out.SimulationMetadata.ExecutionInfo.ErrorDiagnostic;

데이터형: char | string

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

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

예: out = sim("MyModel",Debug="on");

데이터형: char | string

고속 액셀러레이터 타깃의 재빌드를 비활성화하는 옵션으로, "on" 또는 "off"로 지정됩니다.

  • "on" — 각 시뮬레이션 전에 소프트웨어는 모델 변경 사항으로 인해 고속 액셀러레이터 타깃을 재빌드해야 하는지 여부를 확인합니다. 변경 사항으로 인해 고속 액셀러레이터 타깃을 재빌드해야 하는 경우 소프트웨어는 시뮬레이션을 실행하기 전에 타깃을 재빌드합니다.

  • "off" — 소프트웨어는 모델 변경 사항으로 인해 고속 액셀러레이터 타깃을 재빌드해야 하는지 여부를 확인하지 않으며 항상 타깃을 재빌드하지 않고 시뮬레이션을 실행합니다. 고속 액셀러레이터 타깃을 재빌드해야 하는 모델 변경 사항은 무시되며 시뮬레이션에 반영되지 않습니다.

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

예: out = sim("MyModel",RapidAcceleratorUpToDateCheck="off");

팁

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

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

데이터형: char | string

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

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

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

예: out = sim("MyModel",Timeout=60);은 제한 시간 60초로 시뮬레이션을 실행합니다.

팁

  • 가변 스텝 솔버를 사용하는 경우 제한 시간을 지정해 보십시오. 시뮬레이션 조건에 따라 스텝 크기가 제한되는 경우 솔버가 매우 작은 시간 스텝을 수행하기 시작하고 이로 인해 시뮬레이션 속도가 느려집니다.

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

    simin = Simulink.SimulationInput("MyModel");
    simin = setModelParameter(simin,Timeout=60);

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

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

예: out = sim("MyModel",Trace="siminfo");

데이터형: char | string

출력 인수

모두 축소

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

sim이 모든 구문에 대해 일관된 형식으로 결과를 반환하도록 하려면 단일 시뮬레이션 출력 구성 파라미터를 활성화하고 모델을 저장하십시오.

다음 조건이 모두 충족되는 경우 sim 함수는 시뮬레이션 시간 스텝으로 구성된 벡터를 반환합니다.

  • 모델 이름이 유일한 입력 인수입니다.

  • 단일 시뮬레이션 출력 파라미터가 비활성화되어 있습니다.

  • 빠른 재시작이 비활성화되어 있습니다.

팁

  • 모든 구문에 대해 동일한 형식으로 결과를 반환하려면 단일 시뮬레이션 출력 파라미터를 활성화하고 모델을 저장하십시오. 모든 시뮬레이션 데이터와 메타데이터를 단일 객체로 반환하면 여러 시뮬레이션의 결과를 쉽게 분석할 수 있습니다.

  • 실행을 제어하고 스크립트로 작성된 시뮬레이션 중에 파라미터 값을 조정하려면 Simulation 객체를 사용하십시오. (R2024a 이후) 자세한 내용은 프로그래밍 방식으로 시뮬레이션 실행하기 항목을 참조하십시오.

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

  • sim 함수를 사용하여 시뮬레이션을 실행하면 오류가 발생하거나 시뮬레이션이 지정된 중지 시간에 도달할 때까지 실행됩니다.

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

  • StopFcn 모델 콜백이 실행되는 경우 프로그래밍 방식의 시뮬레이션에 대한 결과는 제공되지 않습니다. 시뮬레이션 결과를 처리하려면 Simulink.SimulationInput 객체의 PostSimFcn 콜백을 대신 사용하십시오.

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

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

버전 내역

R2006a 이전에 개발됨

모두 확장