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

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

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

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

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

    properties(Nontunable)
        Property
    end

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

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

Свойства

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

Методы

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

Меню Insert Method организует методы категориями, такими как Алгоритм, Вводы и выводы, и Свойства и состояния. Когда вы выбираете метод из меню, редактор MATLAB вставляет шаблон метода в ваш код Системного объекта. В этом примере, выбор Insert Method> высвобождают средства, вводит следующий код:

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

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

Состояния

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

Вводы / Выходные параметры

Вводы, выходные параметры и связанные методы, те, которые Подтверждают входные параметры и Запрещают входные изменения размера.

Когда вы выбираете ввод или вывод, редактор 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. Имя свойства с TemperatureUnit.

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

  4. Выберите Create новый флажок перечисления.

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

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

    • Fahrenheit

    • Celsius

    • Kelvin

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

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

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

  9. В редакторе MATLAB создается дополнительный файл класса с определением перечисления. Сохраните файл определения класса перечисления как TemperatureUnitValues.m 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, под Атрибутами Системного объекта, выбирают Nontunable. Под MATLAB Атрибуты свойств выберите 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.

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

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

Похожие темы

Была ли эта тема полезной?