Базовый класс для системных объектов
matlab.System
является базовым классом для системных объектов. В файле определения класса необходимо подклассифицировать объект из этого базового класса (или из другого класса, производного от этого базового класса). Подклассирование позволяет использовать методы реализации и сервисные методы, предоставляемые этим базовым классом, для построения объекта. Введите этот синтаксис как первую линию файла определения класса, который непосредственно наследуется от matlab.System
базовый класс, где ObjectName
- имя вашего объекта:
classdef ObjectName < matlab.System
Примечание
Вы должны задать Access = protected
для каждого matlab.System
метод, который вы используете в коде.
The matlab.System
класс является handle
класс.
Abstract | true |
HandleCompatible | true |
StrictDefaults | false |
Для получения информации об атрибутах класса см. раздел «Атрибуты класса».
setupImpl | Инициализация системного объекта |
stepImpl | Выходной параметр системы и уравнения обновления состояния |
resetImpl | Сброс состояний системного объекта |
releaseImpl | Релиз ресурсов |
getDiscreteStateImpl | Значения дискретных свойств состояний |
infoImpl | Информация о Системном объекте |
isDoneImpl | Флаг конца данных |
isInactivePropertyImpl | Состояние неактивного свойства |
isTunablePropertyDataTypeMutableImpl | Установите, могут ли настраиваемые свойства изменять тип данных |
isDiscreteStateSpecificationMutableImpl | Управляйте, могут ли дискретные состояния изменять тип данных |
processTunedPropertiesImpl | Действие при изменении настраиваемых свойств |
setProperties | Установите значения свойств с помощью пар "имя-значение" при создании Системного объекта |
validatePropertiesImpl | Проверьте значения свойств системного объекта |
getNumInputsImpl | Количество входов для системного объекта |
getNumOutputsImpl | Количество выходов от системного объекта |
getNumInputs | Количество входов, необходимых для вызова системного объекта |
getNumOutputs | Количество выходов от вызова Системного объекта |
getInterfaceImpl (Simulink) | Установите Системный объект как сообщение или данные |
isInputComplexityMutableImpl | Установите, может ли сложность входного сигнала системного объекта измениться |
isInputDataTypeMutableImpl | Установите, может ли тип входных данных системного объекта измениться |
isInputSizeMutableImpl | Установите, может ли размер входного сигнала системного объекта измениться |
nargin | Количество входных параметров для системного объекта |
nargout | Количество выходных аргументов для системного объекта |
processInputSpecificationChangeImpl | Выполните действия, когда изменится размер, сложность или тип данных |
validateInputsImpl | Проверьте входы системного объекта |
loadObjectImpl | Загрузка Системного объекта из файла MAT |
saveObjectImpl | Сохраните системный объект в файле MAT |
allowModelReferenceDiscreteSampleTimeInheritanceImpl | Модель-ссылка статус наследования шага расчета для дискретных шагов расчета |
getSimulateUsingImpl | Задайте значение для параметра Simulate using |
getSimulinkFunctionNamesImpl | Зарегистрируйте имена функции Simulink, используемые в вашем системном объекте |
showFiSettingsImpl | Видимость на вкладке Тип данных фиксированной точки для системных объектов |
supportsMultipleInstanceImpl | Системный объект поддержки в Simulink For Each подсистемы |
getSimulateUsingImpl | Задайте значение для параметра Simulate using |
supportsMultipleInstanceImpl | Системный объект поддержки в Simulink For Each подсистемы |
isInputDirectFeedthroughImpl | Состояние прямой передачи входа |
outputImpl | Выход вычисления из входного или внутреннего состояния системного объекта |
updateImpl | Обновляйте состояния объектов на основе входов |
getDiscreteStateSpecificationImpl | Дискретный размер, тип данных и сложность |
getOutputDataTypeImpl | Типы данных портов выхода |
getOutputSizeImpl | Размеры выхода портов |
isOutputComplexImpl | Комплексность выхода портов |
isOutputFixedSizeImpl | Выходные порты фиксированного или переменного размера |
propagatedInputComplexity | Комплексность входов во время распространения Simulink |
propagatedInputDataType | Тип данных входа во время распространения Simulink |
propagatedInputFixedSize | Статус фиксированного размера входа во время распространения Simulink |
propagatedInputSize | Размер входа во время распространения Simulink |
getIconImpl | Имя для отображения в виде значка блока |
getHeaderImpl | Заголовок для отображения системного объекта |
matlab.system.display.Action | Настраиваемая кнопка |
matlab.system.display.Header | Заголовок для свойств системных объектов |
matlab.system.display.Icon | Пользовательское изображение значка |
matlab.system.display.Section | Раздел группы свойств для системных объектов |
matlab.system.display.SectionGroup | Группа сечений для системных объектов |
getInputNamesImpl | Имена входных портов блоков MATLAB System |
getOutputNamesImpl | Имена выходных портов блоков MATLAB System |
getGlobalNamesImpl | Глобальные имена переменных для системного блока MATLAB |
showSimulateUsingImpl | Видимость Симуляции с использованием параметра |
createSampleTime | Создайте шаг расчета объект спецификации |
getSampleTime | Запрос шага расчета |
getSampleTimeImpl | Задайте тип шага расчета, время смещения и время расчета |
getCurrentTime | Текущее время симуляции в блоке MATLAB System |
allowModelReferenceDiscreteSampleTimeInheritanceImpl | Модель-ссылка статус наследования шага расчета для дискретных шагов расчета |
getImpulseResponseLengthImpl | Задайте длину входа эффектов для подсистем dataflow |
getInputDimensionConstraintImpl | Задайте входные ограничения размерности для подсистем dataflow |
getOutputDimensionConstraintImpl | Задайте выходыразмерности для подсистем dataflow |
В этом примере показано, как создать базовый системный объект AddOne
.
В MATLAB выберите New > Системный объект > Basic. Откроется новое окно редактора с синтаксисом по умолчанию и комментариями для нового системного объекта.
Переименуйте класс AddOne
. Измените шаблон по умолчанию, чтобы ваш класс выглядел следующим образом:
classdef AddOne < matlab.System % ADDONE Compute an output value that increments the input by one methods (Access = protected) % Implement algorithm. Calculate y as a function of input x. function y = stepImpl(~,x) y = x + 1; end end end
Используйте этот объект путем создания образца AddOne
и выполнение объекта с входом.
addingObject = AddOne; x = 5; addingObject(x)
ans = 6
Можно применить атрибуты к классу и свойствам System object™. Дополнительные сведения об атрибутах см. в разделе Атрибуты класса или Атрибуты свойства.
В этой таблице показаны атрибуты, которые можно применить к классу объектов MATLAB System.
Имя атрибута | Описание |
StrictDefaults | Управляйте значениями по умолчанию для методов, которые ограничивают изменения спецификаций:
По умолчанию эти методы возвращаются Для системных объектов, используемых в Simulink®, этот атрибут ограничивает только изменения размера входного сигнала, потому что Simulink уже ограничивает сложность и тип данных для настраиваемых свойств, входов и состояний. |
Задайте значение атрибута класса в круглых скобках, за которым следует имя класса, например:
classdef (StrictDefaults) MySystemObject < matlab.System
Можно применить следующие атрибуты к любому свойству пользовательского системного объекта.
Nontunable | Использование Nontunable чтобы предотвратить изменения значения свойства во время использования объекта. По умолчанию все свойства настраиваются. The Nontunable атрибут полезен, чтобы заблокировать свойство, которое имеет побочные эффекты при изменении. Этот атрибут также полезен для блокировки значения свойства, которое принято постоянным во время обработки. Вы всегда должны задавать свойства, которые влияют на количество входных или выходных портов как Nontunable . |
DiscreteState | Использование DiscreteState чтобы пометить свойство, чтобы оно отображало его значение состояния при использовании getDiscreteState способ. |
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.