Main Content

MATLAB Function 블록 파라미터 변수 구성하기

MATLAB Function 블록에서 파라미터 변수를 사용하여 MATLAB Function 블록의 여러 인스턴스에 있는 같은 데이터에 액세스할 수 있습니다. 작업 공간의 데이터에 파라미터 변수를 할당하거나, 블록 마스크를 생성하고 변수를 마스크 파라미터에 할당할 수 있습니다.

작업 공간 데이터에 파라미터 변수 할당하기

MATLAB Function 블록 파라미터 변수는 작업 공간 변수 또는 Simulink.Parameter 객체에서 값을 가져옵니다. 파라미터 변수를 생성하기 전에 다음 공간 중 하나에 작업 공간 변수 또는 Simulink.Parameter 객체를 생성해야 합니다.

  • Simulink® 모델 작업 공간.

  • 데이터 사전. 자세한 내용은 What Is a Data Dictionary? 항목을 참조하십시오.

  • MATLAB® 작업 공간. MATLAB을 닫으면 데이터를 재정의해야 합니다.

작업 공간에 직접 작업 공간 변수 또는 객체를 만들거나, MAT 파일 또는 MATLAB 파일에 있는 변수를 불러오거나, 사용자 지정 MATLAB 코드를 사용하여 변수를 만들 수 있습니다. 다음 표에 다양한 공간 간의 차이점이 나와 있습니다.

데이터 저장 공간가시성
모델 작업 공간모델 내로 한정
데이터 사전지정된 Simulink 모델과 공유
기본 작업 공간모든 Simulink 모델에서 사용 가능.

자세한 내용은 Determine Where to Store Variables and Objects for Simulink Models 항목을 참조하십시오.

작업 공간 변수 또는 객체를 만든 후에는 MATLAB Function 블록에 파라미터 변수를 만들 수 있습니다.

  1. MATLAB Function 블록을 엽니다.

  2. MATLAB Function 블록 편집기함수 탭에 있는 준비 섹션에서 데이터 편집을 클릭합니다.

  3. 기호 창에서 데이터 만들기 버튼 을 클릭합니다.

  4. 변수를 선택하고 범위 속성을 설정합니다. 유형 열에서 해당하는 유형 아이콘을 클릭하고 파라미터 데이터를 선택합니다. 기호 창에 있는 파라미터 데이터 아이콘 은 변수의 범위파라미터로 설정되어 있음을 나타냅니다.

  5. 이름 열에서 파라미터 변수의 이름을 작업 공간 변수 또는 Simulink.Parameter 객체의 이름으로 설정합니다.

MATLAB Function 블록의 변수 정의에 대한 자세한 내용은 Create and Define MATLAB Function Block Variables 항목을 참조하십시오.

MATLAB Function 블록 파라미터 변수 예제

이 예제에서는 파라미터 변수를 포함하는 MATLAB Function 블록을 사용합니다. 이 예제에서는 기본 작업 공간의 변수가 파라미터 값을 정의합니다.

MATLAB 함수는 파라미터 변수 const에 Sine Wave 블록 신호의 값을 곱합니다. MATLAB Function 블록을 열어 코드를 확인합니다.

function y = fcn(u, const)
y = const*u;

모델을 불러오면 PreLoadFnc 콜백이 실행되어 기본 작업 공간 변수인 const가 정의됩니다. 콜백을 보려면 모델링 탭에서 모델 설정 > 모델 속성을 클릭합니다. 모델 속성 창의 콜백 탭에서 PreLoadFnc를 클릭합니다.

MATLAB® 명령 창에서 변수를 재정의하여 조정할 수 있습니다.

MATLAB Function 블록의 함수 탭에서 데이터 편집을 클릭합니다. 기호 창에서 const를 클릭합니다. 속성 인스펙터와 기호 창에 const가 파라미터 변수임이 표시됩니다.

파라미터 변수와 작업 공간 변수는 같은 이름을 가져야 합니다. 이 예제에서 작업 공간 변수 이름을 변경하지 않고 파라미터 변수 이름을 변경하면 오류가 발생합니다.

마스크 파라미터에 파라미터 변수 할당하기

블록 마스크를 만들고 마스크의 파라미터 값을 설정하여 MATLAB Function 블록의 파라미터 변수에 값을 할당할 수 있습니다. 파라미터 변수를 마스크 파라미터에 할당하려면 다음을 수행하십시오.

  1. MATLAB Function 블록을 엽니다.

  2. MATLAB Function 블록 편집기함수 탭에 있는 준비 섹션에서 데이터 편집을 클릭합니다.

  3. 기호 창에서 데이터 만들기 버튼 을 클릭합니다.

  4. 변수를 선택하고 범위 속성을 설정합니다. 유형 열에서 해당하는 유형 아이콘을 클릭하고 파라미터 데이터를 선택합니다.

  5. 이름 열에서 파라미터 변수의 이름을 설정하고 블록을 종료합니다.

  6. 모델에서 MATLAB Function 블록을 마스크 처리합니다. 블록의 마스크 생성에 대한 자세한 내용은 마스크 처리 기본 사항 항목을 참조하십시오.

  7. 마스크 편집기 창의 파라미터 및 대화 상자 창에서 파라미터를 추가하고 파라미터 변수와 같은 이름을 사용합니다.

  8. 마스크를 저장하고 마스크 편집기 창을 종료합니다.

마스크 처리된 MATLAB Function 블록 파라미터 변수 예제

이 예제에서는 마스크를 사용하여 파라미터 변수의 값을 설정합니다.

MATLAB 함수는 파라미터 변수 const에 Sine Wave 블록 신호의 값을 곱합니다. MATLAB Function 블록의 화살표 아이콘을 클릭하여 코드를 확인합니다.

function y = fcn(u, const)
y = const*u;

MATLAB Function 블록을 더블 클릭하여 const 값을 조정할 수 있습니다.

블록 마스크는 Set sine wave multiplier 파라미터를 정의하며 이는 마스크 편집기에서 편집할 수 있습니다. MATLAB Function 블록은 const를 속성 인스펙터에서 범위Parameter로 설정된 데이터로 정의합니다. 기호 창에서 const를 선택하면 속성 인스펙터에서 이 속성을 볼 수 있습니다.

파라미터 변수와 마스크 파라미터는 같은 이름을 가져야 합니다. 이 예제에서 마스크 파라미터 이름을 변경하지 않고 파라미터 변수 이름을 변경하면 오류가 발생합니다. 조정 불가형 파라미터를 사용하는 경우 속성 인스펙터에서 조정 가능형 속성이 선택 해제되었는지 확인하십시오.

파라미터 변수 계층 구조

Simulink는 파라미터 변수를 정의할 때 기호 연결 확인에서와 동일한 규칙을 사용하여 변수 할당을 검색하고 선택합니다. Symbol Resolution 항목을 참조하십시오. 블록에서 볼 수 있는 작업 공간 중 둘 이상의 작업 공간에 같은 이름을 가진 변수가 있으면 블록은 작업 공간 계층 구조 내에서 블록에 가장 가까운 데이터를 사용합니다. MATLAB Function 블록이 마스크 처리된 서브시스템에 있는 경우, 블록은 서브시스템 작업 공간의 데이터를 사용합니다. 그렇지 않은 경우, 블록은 모델 작업 공간에 있는 데이터를 사용하며, 그다음으로 MATLAB 기본 작업 공간에 있는 데이터, 연결된 Simulink 데이터 사전에 있는 데이터 순으로 사용합니다.

참고 항목

관련 항목