exponenta event banner

Вставка кода системного объекта с помощью редактора MATLAB

Определение системных объектов с помощью вставки кода

Системные объекты можно определить в редакторе MATLAB ® с помощью опций вставки кода. При выборе этих опций редактор MATLAB добавляет предопределенные свойства, методы, состояния, входные или выходные данные к системному object™. Эти инструменты используются для более быстрого создания и изменения системных объектов, а также для повышения точности за счет уменьшения количества ошибок ввода.

Чтобы получить доступ к параметрам редактирования системных объектов, создайте новый системный объект или откройте существующий.

Чтобы добавить предопределенный код в системный объект, выберите код в соответствующем меню. Например, при выборе команды «Вставить свойство» > «Числовое» редактор MATLAB добавляет следующий код:

    properties(Nontunable)
        Property
    end

Редактор MATLAB вставляет новое свойство с именем по умолчанию Property, которую можно переименовать. Если существует группа свойств с Nontunable , редактор MATLAB вставляет новое свойство в эту группу. Если группа свойств отсутствует, редактор MATLAB создает группу с правильным атрибутом.

Параметры вставки

Свойства

Свойства объекта System: числовое, логическое, перечисление, положительное целое, настраиваемое числовое, частное, защищенное и пользовательское. Если выбрать Перечисление (Enumeration) или Пользовательские свойства (Custom Properties), откроется отдельное диалоговое окно, которое поможет создать эти свойства.

Методы

Методы, обычно используемые в определениях системных объектов. Редактор MATLAB создает только структуру метода. Вы указываете действия этого метода.

Меню Вставить метод (Insert Method) организует методы по категориям, таким как Алгоритм (Algorithm), Входы и выходы (Inputs and Outputs), Свойства и состояния (Properties and States При выборе метода из меню редактор MATLAB вставляет шаблон метода в код объекта System. В этом примере при выборе команды «Вставить метод» > «Освободить ресурсы» вставляется следующий код:

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

Если в коде объекта System присутствует метод из меню Insert Method, этот метод отображается закрашенным в меню Insert Method:

Государства

Свойства, содержащие 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.

  2. В редакторе MATLAB выберите «Вставить свойство» > «Перечисление».

  3. В диалоговом окне «Перечисление» введите:

    1. Имя свойства с TemperatureUnit.

    2. Имя перечисления с TemperatureUnitValues.

  4. Установите флажок Создать новое перечисление.

  5. Удалите существующие значения перечисления с помощью кнопки - (минус).

  6. Добавьте три значения перечисления с помощью кнопки + (плюс) и следующих значений:

    • Fahrenheit

    • Celsius

    • Kelvin

  7. Выбрать Fahrenheit в качестве значения по умолчанию, щелкнув По умолчанию (Default).

    Теперь диалоговое окно выглядит следующим образом:

  8. Чтобы создать это перечисление и связанный класс, нажмите кнопку Вставить.

  9. В редакторе MATLAB создается дополнительный файл класса с определением перечисления. Сохранить файл определения класса перечисления как TemperatureUnitValues.m.

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

    В определении класса системных объектов был добавлен следующий код:

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

Дополнительные сведения о перечислениях см. в разделе Ограничение значений свойств конечным списком.

Создание пользовательского свойства для точки замораживания

  1. Откройте новый или существующий объект System.

  2. В редакторе MATLAB выберите «Вставить свойство» > «Пользовательское свойство».

  3. В диалоговом окне «Пользовательское свойство» в разделе «Атрибуты системного объекта» выберите «Неперестраиваемый». В разделе Атрибуты свойства MATLAB (MATLAB Property Attributes) выберите Константа (Constant). Оставить GetAccess как public. SetAccess отображается серым цветом, поскольку свойства константы типа не могут быть заданы с помощью методов объекта System.

  4. Щелкните Вставить (Insert), и в определение объекта Система (System) будет вставлен следующий код:

        properties(Nontunable, Constant)
            Property
        end
  5. Заменить Property со своей собственностью.

        properties(Nontunable, Constant)
            FreezingPointFahrenheit = 32;
        end

Добавить метод для проверки входных данных

  1. Откройте новый или существующий объект System.

  2. В редакторе MATLAB выберите «Вставить метод» > «Проверить входные данные».

    Редактор MATLAB вставляет этот код в объект System:

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

Связанные темы