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

Задайте системные объекты с вставкой кода

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

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

Чтобы добавить предопределенный код к Системному объекту, выберите код из соответствующего меню. Для примера при нажатии кнопки Insert Property > Numeric РЕДАКТОРА MATLAB добавляет следующий код:

    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. В диалоговом окне «Пользовательское свойство» в разделе «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

Похожие темы