Можно задать системные объекты из 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 | Свойства, содержащие |
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.
В диалоговом окне «Пользовательское свойство» в разделе «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