Main Content

블록을 사용하여 시뮬레이션 데이터 출력하기

이 예제에서는 To Workspace 블록과 To File 블록이 작업 공간과 파일에 각각 데이터를 작성하는 방법을 보여줍니다.

예제 모델 열기

open_system('ex_ToWorkspace_ToFile');

디폴트 파라미터 값으로 시뮬레이션하기

1. 블록 파라미터 대화 상자 또는 명령줄에서 변수 이름파일 이름 블록 파라미터 값을 수정하여 출력 변수와 파일의 이름을 지정합니다.

set_param('ex_ToWorkspace_ToFile/To Workspace',...
    'VariableName','simoutToWorkspace')

set_param('ex_ToWorkspace_ToFile/To File',...
    'FileName','simoutToFile.mat',...
    'MatrixName','simoutToFileVariable')

2. 모델을 시뮬레이션합니다.

out = sim('ex_ToWorkspace_ToFile');

3. To Workspace 블록과 To File 블록의 입력 신호를 보기 위해 Scope 뷰어를 엽니다.

4. To File 블록을 통해 저장된 데이터에 액세스하기 위해 출력 파일을 불러옵니다.

load('simoutToFile.mat')

5. To Workspace 블록과 To File 블록을 통해 저장된 데이터를 플로팅합니다.

subplot(2,1,1)
plot(out.simoutToWorkspace,'-o')
legend('simoutToWorkspace')

subplot(2,1,2)
plot(simoutToFileVariable,'-o')
legend('simoutToFileVariable')

플롯에 표시된 것처럼, 각 블록을 통해 저장된 데이터는 디폴트 블록 파라미터 값을 고려할 때 동일합니다.

사용자 지정 파라미터 값으로 시뮬레이션하기

1. 이전 시뮬레이션의 데이터를 유지하기 위해 출력 변수와 파일에 대한 새 이름을 지정합니다.

set_param('ex_ToWorkspace_ToFile/To Workspace',...
    'VariableName','simoutToWorkspace2')

set_param('ex_ToWorkspace_ToFile/To File',...
    'FileName','simoutToFile2.mat',...
    'MatrixName','simoutToFileVariable2')

2. 기록할 마지막 데이터 점 개수, 데시메이션샘플 시간 블록 파라미터 값을 수정하여 수집되는 데이터의 양을 변경합니다.

set_param('ex_ToWorkspace_ToFile/To Workspace',...
    'MaxDataPoints','3',...
    'Decimation','20',...
    'SampleTime','0.5')

set_param('ex_ToWorkspace_ToFile/To File',...
    'Decimation','20',...
    'SampleTime','1')

To File 블록은 데이터 점을 수집되는 마지막 데이터 점으로 제한하는 옵션을 제공하지 않습니다.

3. 단일 시뮬레이션 출력을 선택한 다음, 기록 구간 구성 파라미터 값을 수정합니다.

set_param('ex_ToWorkspace_ToFile',...
    'ReturnWorkspaceOutputs','on',...
    'LoggingIntervals','[20,90]')

4. 모델을 시뮬레이션합니다.

out = sim('ex_ToWorkspace_ToFile');

5. To File 블록을 통해 저장된 데이터에 액세스하기 위해 출력 파일을 불러옵니다.

load('simoutToFile2.mat')

6. To Workspace 블록과 To File 블록을 통해 저장된 데이터를 플로팅합니다.

subplot(2,1,1)
hold on
plot(out.simoutToWorkspace2,'-*','DisplayName','simoutToWorkspace2')
hold off

subplot(2,1,2)
hold on
plot(simoutToFileVariable2,'-*','DisplayName','simoutToFileVariable2')
hold off

이 예제에서 To Workspace 블록은 20초, 30초, 40초, ..., 90초의 데이터를 수집합니다. 데이터는 기록 구간 내의 매 20번째 샘플 시간을 나타냅니다. 시뮬레이션이 완료되거나 일시 중지되면 To Workspace 블록은 마지막으로 수집된 3개의 샘플 점(70초, 80초, 90초)을 작업 영역에 씁니다.

To File 블록은 20초, 40초, 60초, 80초의 데이터를 수집합니다. 마찬가지로 데이터는 기록 구간 내의 매 20번째 샘플 시간을 나타냅니다. 하지만 To File 블록의 샘플 시간은 To Workspace 블록의 샘플 시간의 두 배입니다.

참고 항목

|