Можно задать Системные объекты из Редактора MATLAB® с помощью опций вставки кода. Когда вы выбираете эти опции, редактор MATLAB добавляет предопределенные свойства, методы, состояния, входные параметры или выходные параметры к вашей Системе object™. Используйте эти инструменты, чтобы создать и изменить Системные объекты быстрее и увеличить точность путем сокращения опечаток.
Чтобы получить доступ к опциям редактирования Системного объекта, создайте новый Системный объект или откройте существующий.
Чтобы добавить предопределенный код в ваш Системный объект, выберите код из соответствующего меню. Например, когда вы нажимаете 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 | Свойства, содержащие атрибут |
Inputs / Outputs | Входные параметры, выходные параметры и связанные методы, такие как Validate inputs и Disallow input size changes. Когда вы выбираете ввод или вывод, редактор MATLAB вводит заданный код в методе function y = stepImpl(obj,u,u2) % Implement algorithm. Calculate y as a function of % input u and discrete states. y = u; end |
Откройте новый или существующий Системный объект.
В редакторе MATLAB выберите Insert Property> Enumeration.
В диалоговом окне Enumeration, введите:
Property Name с TemperatureUnit
.
Enumeration Name с TemperatureUnitValues
.
Установите флажок Create new enumeration.
Удалите существующие перечислимые величины с - (минус) кнопка.
Добавьте три перечислимые величины с + (плюс) кнопка и следующие значения:
Fahrenheit
Celsius
Kelvin
Выберите Fahrenheit
как значение по умолчанию путем нажатия на Default.
Диалоговое окно теперь смотрит как показано:
Чтобы создать это перечисление и связанный класс, нажмите Insert.
В редакторе MATLAB создается дополнительный файл класса с определением перечисления. Сохраните файл определения класса перечисления как TemperatureUnitValues.m
.
classdef TemperatureUnitValues < int32 enumeration Fahrenheit (0) Celsius (1) Kelvin (2) end end
В определении класса Системного объекта был добавлен следующий код:
properties(Nontunable)
TemperatureUnit (1, 1) TemperatureUnitValues = TemperatureUnitValues.Fahrenheit
end
Для получения дополнительной информации о перечислениях смотрите Предельные Значения свойств к Конечному Списку.
Откройте новый или существующий Системный объект.
В редакторе MATLAB выберите Insert Property> Custom Property.
В диалоговом окне Custom Property, под System Object Attributes, выбирают Nontunable. Под MATLAB Property Attributes выберите Constant. Оставьте GetAccess как public
. SetAccess отображается серым, потому что свойства постоянного типа не могут быть установлены с помощью методов Системного объекта.
Нажмите Insert, и следующий код введен в определение Системного объекта:
properties(Nontunable, Constant)
Property
end
Замените Property
на свое свойство.
properties(Nontunable, Constant)
FreezingPointFahrenheit = 32;
end
Откройте новый или существующий Системный объект.
В редакторе MATLAB выберите Insert Method> Validate inputs.
Редактор MATLAB вводит этот код в Системный объект:
function validateInputsImpl(obj,u) % Validate inputs to the step method at initialization end