Main Content

MATLAB 편집기를 사용하여 System object 코드 삽입하기

코드 삽입으로 System object 정의하기

코드 삽입 옵션을 사용하여 MATLAB® 편집기에서 System object를 정의할 수 있습니다. 이러한 옵션을 선택하면 MATLAB 편집기가 미리 정의된 속성, 메서드, 상태, 입력값 또는 출력값을 System object™에 추가합니다. 이러한 툴을 사용하면 System object 생성 및 수정 속도를 향상시키고, 입력 오류를 줄여 정확도를 높일 수 있습니다. GUI는 MATLAB Online에서 약간 차이가 있지만 기능은 동일합니다.

System object 편집 옵션에 액세스하려면 기존 System object를 열거나 새로 만드십시오.

Toolstrip with System object editing options

미리 정의된 코드를 System object에 추가하려면 적절한 메뉴에서 코드를 선택하십시오. 예를 들어, 속성 삽입 > 숫자를 클릭하면 MATLAB 편집기가 다음 코드를 추가합니다.

    properties(Nontunable)
        Property
    end

MATLAB 편집기는 디폴트 이름 Property를 가진 새 속성을 삽입하는데, 이 디폴트 이름은 바꿀 수 있습니다. Nontunable 특성을 가진 속성 그룹이 기존에 있는 경우 MATLAB 편집기는 해당 그룹에 새 속성을 삽입합니다. 속성 그룹이 없을 경우 MATLAB 편집기는 올바른 특성을 가진 속성 그룹을 생성합니다.

삽입 옵션

속성

System object의 속성: 숫자, 논리, 열거형, 양의 정수, 조정 가능형 숫자, 프라이빗, 보호, 사용자 지정. 열거형 또는 사용자 지정 속성을 선택하면 이러한 속성을 생성하는 과정을 안내하는 별도의 대화 상자가 열립니다.

메서드

System object 정의에 일반적으로 사용되는 메서드입니다. MATLAB 편집기는 메서드 구조만 생성합니다. 해당 메서드의 동작을 지정할 수 있습니다.

메서드 삽입 메뉴에는 알고리즘, 입력값과 출력값, 속성과 상태와 같이 범주별로 메서드가 구성되어 있습니다. 메뉴에서 메서드를 선택하면 MATLAB 편집기가 System object 코드에 메서드 템플릿을 삽입합니다. 이 예제에서는 메서드 삽입 > 리소스 해제를 선택하면 다음 코드가 삽입됩니다.

   function releaseImpl(obj)
       % Release resources, such as file handles
   end

메서드 삽입 메뉴의 메서드가 System object 코드에 있는 경우 해당 메서드가 메서드 삽입 메뉴에 음영으로 표시됩니다.

Insert Method menu with existing methods in code shown with a shaded bar

상태

DiscreteState 특성을 포함한 속성입니다.

입력값/출력값

입력값, 출력값 및 관련 메서드입니다(예: 입력값의 유효성 검사, 입력값 크기 변경 허용 안 함).

입력값이나 출력값을 선택하면 MATLAB 편집기가 stepImpl 메서드에 지정된 코드를 삽입합니다. 이 예제에서는 삽입 > 입력값을 선택하면 MATLAB 편집기가 필수 입력 변수 u2를 삽입하게 됩니다. MATLAB 편집기에서 변수 이름이 결정되지만 변수가 삽입된 후 이 이름을 변경할 수 있습니다.

      function y = stepImpl(obj,u,u2)
          % Implement algorithm. Calculate y as a function of
          % input u and discrete states.
          y = u;
      end

온도 열거형 생성하기

  1. 신규 또는 기존 System object를 엽니다.

  2. MATLAB 편집기에서, 속성 삽입 > 열거형을 선택합니다.

  3. 열거형 대화 상자에서 다음을 입력합니다.

    1. 속성 이름TemperatureUnit을 입력합니다.

    2. 열거형 이름TemperatureUnitValues를 입력합니다.

  4. 새 열거형 만들기 체크박스를 선택합니다.

  5. -(마이너스) 버튼을 사용하여 기존 열거형 값을 제거합니다.

  6. +(플러스) 버튼을 사용하여 다음 값을 가지는 세 개의 열거형 값을 추가합니다.

    • Fahrenheit

    • Celsius

    • Kelvin

  7. 디폴트를 클릭하여 Fahrenheit를 디폴트 값으로 선택합니다.

    이제 대화 상자가 다음과 같이 표시됩니다.

    Created enumeration dialog for temperature units

  8. 삽입을 클릭하여 이 열거형과 연결된 클래스를 생성합니다.

  9. MATLAB 편집기에서 열거형 정의가 포함된 추가 클래스 파일이 생성됩니다. 열거형 클래스 정의 파일을 TemperatureUnitValues.m으로 저장합니다.

    classdef TemperatureUnitValues < int32
        enumeration
            Fahrenheit (0)
            Celsius (1)
            Kelvin (2)
        end
    end

    System object 클래스 정의에 다음 코드가 추가됩니다.

      properties(Nontunable)
        TemperatureUnit (1, 1) TemperatureUnitValues = TemperatureUnitValues.Fahrenheit
      end

열거형에 대한 자세한 내용은 속성값을 유한한 목록으로 제한하기 항목을 참조하십시오.

어는점에 대한 사용자 지정 속성 생성하기

  1. 신규 또는 기존 System object를 엽니다.

  2. MATLAB 편집기에서 속성 삽입 > 사용자 지정 속성을 선택합니다.

  3. 사용자 지정 속성 대화 상자의 System object 특성에서 Nontunable을 선택합니다. MATLAB 속성 특성에서 Constant를 선택합니다. GetAccesspublic으로 둡니다. SetAccess는 회색으로 표시되는데, 상수 유형의 속성은 System object 메서드를 사용하여 설정할 수 없기 때문입니다.

  4. 삽입을 클릭합니다. 그러면 다음 코드가 System object 정의에 삽입됩니다.

        properties(Nontunable, Constant)
            Property
        end
  5. Property를 원하는 속성으로 바꿉니다.

        properties(Nontunable, Constant)
            FreezingPointFahrenheit = 32;
        end

입력값의 유효성을 검사하는 메서드 추가하기

  1. 신규 또는 기존 System object를 엽니다.

  2. MATLAB 편집기에서 메서드 삽입 > 입력값의 유효성 검사를 선택합니다.

    MATLAB 편집기가 System object에 다음 코드를 삽입합니다.

        function validateInputsImpl(obj,u)
           % Validate inputs to the step method at initialization
        end

관련 항목