Вставка кода системного объекта Используя редактора MATLAB

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

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

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

Чтобы добавить предопределенный код в ваш Системный объект, выберите код из соответствующего меню. Например, когда вы нажимаете Insert Property> Numeric, MATLAB Editor добавляет следующий код:

    properties(Nontunable)
        Property
    end

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

Вставьте опции

Properties

Свойства Системного объекта: Числовой, Логический, Перечисление, Положительное Целое число, Настраиваемое Числовой, Частный, Защищенный, и Пользовательский. Когда вы выбираете Enumeration или Custom Properties, отдельное диалоговое окно открывается, чтобы вести вас в создании этих свойств.

Methods

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

Меню Insert Method организует методы категориями, такими как Algorithm, Inputs and Outputs и Properties and States. Когда вы выбираете метод из меню, редактор MATLAB вставляет шаблон метода в ваш код Системного объекта. В этом примере выбор Insert Method> Release resources вводит следующий код:

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

Если метод в меню Insert Method присутствует в коде Системного объекта, тот метод показывают заштрихованный в меню Insert Method:

States

Свойства, содержащие DiscreteState атрибут.

Inputs / Outputs

Входные параметры, выходные параметры и связанные методы, такие как Validate inputs и Disallow input size changes.

Когда вы выбираете ввод или вывод, редактор MATLAB вводит заданный код в stepImpl метод. В этом примере выбор Insert > Input заставляет редактор 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. Откройте новый или существующий Системный объект.

  2. В редакторе MATLAB выберите Insert Property> Enumeration.

  3. В диалоговом окне Enumeration, введите:

    1. Property Name с TemperatureUnit.

    2. Enumeration Name с TemperatureUnitValues.

  4. Установите флажок Create new enumeration.

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

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

    • Fahrenheit

    • Celsius

    • Kelvin

  7. Выберите Fahrenheit как значение по умолчанию путем нажатия на Default.

    Диалоговое окно теперь смотрит как показано:

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

  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. Откройте новый или существующий Системный объект.

  2. В редакторе MATLAB выберите Insert Property> Custom Property.

  3. В диалоговом окне Custom Property, под System Object Attributes, выбирают Nontunable. Под MATLAB Property Attributes выберите Constant. Оставьте GetAccess как public. SetAccess отображается серым, потому что свойства постоянного типа не могут быть установлены с помощью методов Системного объекта.

  4. Нажмите Insert, и следующий код введен в определение Системного объекта:

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

        properties(Nontunable, Constant)
            FreezingPointFahrenheit = 32;
        end

Добавьте метод, чтобы подтвердить входные параметры

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

  2. В редакторе MATLAB выберите Insert Method> Validate inputs.

    Редактор MATLAB вводит этот код в Системный объект:

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

Похожие темы