Базовый класс для системных объектов
matlab.System является базовым классом для системных объектов. В файле определения класса необходимо выполнить подкласс объекта из этого базового класса (или из другого класса, производного от этого базового класса). Подкласс позволяет использовать методы реализации и сервисные методы, предоставляемые этим базовым классом, для построения объекта. Введите этот синтаксис в качестве первой строки файла определения класса для прямого наследования от matlab.System базовый класс, где ObjectName - имя объекта:
classdef ObjectName < matlab.SystemПримечание
Необходимо установить Access = protected для каждого matlab.System метод, используемый в коде.
matlab.System класс является handle класс.
Abstract | true |
HandleCompatible | true |
StrictDefaults | false |
Сведения об атрибутах класса см. в разделе Атрибуты класса.
setupImpl | Инициализация объекта System |
stepImpl | Уравнения вывода и обновления состояния системы |
resetImpl | Сброс состояний объекта System |
releaseImpl | Высвобождать ресурсы |
getDiscreteStateImpl | Дискретные значения свойств состояния |
infoImpl | Сведения об объекте System |
isDoneImpl | Флаг окончания данных |
isInactivePropertyImpl | Состояние неактивного свойства |
isTunablePropertyDataTypeMutableImpl | Укажите, могут ли настраиваемые свойства изменять тип данных |
isDiscreteStateSpecificationMutableImpl | Управление возможностью изменения типа данных в дискретных состояниях |
processTunedPropertiesImpl | Действие при изменении настраиваемых свойств |
setProperties | Задание значений свойств с помощью пар «имя-значение» при создании объекта System |
validatePropertiesImpl | Проверка значений свойств объекта System |
getNumInputsImpl | Количество входов в объект System |
getNumOutputsImpl | Количество выходов из объекта System |
getNumInputs | Количество входов, необходимых для вызова объекта System |
getNumOutputs | Количество выходов при вызове объекта System |
getInterfaceImpl (Симулинк) | Установка системного объекта в качестве сообщения или данных |
isInputComplexityMutableImpl | Определение возможности изменения сложности ввода системных объектов |
isInputDataTypeMutableImpl | Укажите, может ли тип входных данных объекта системы изменяться |
isInputSizeMutableImpl | Укажите, может ли размер ввода системного объекта изменяться |
nargin | Количество входных аргументов для объекта System |
nargout | Количество выходных аргументов для объекта System |
processInputSpecificationChangeImpl | Выполнение действий при изменении размера, сложности ввода или типа данных |
validateInputsImpl | Проверка входных данных для объекта System |
loadObjectImpl | Загрузить объект System из файла MAT |
saveObjectImpl | Сохранить системный объект в MAT-файле |
allowModelReferenceDiscreteSampleTimeInheritanceImpl | Статус наследования эталонного времени выборки модели для дискретного времени выборки |
getSimulateUsingImpl | Укажите значение для Simulate с помощью параметра |
getSimulinkFunctionNamesImpl | Регистрация имен функций Simulink, используемых в объекте System |
showFiSettingsImpl | Видимость вкладки «Тип данных фиксированной точки» для системных объектов |
supportsMultipleInstanceImpl | Объект Support System в Simulink для каждой подсистемы |
getSimulateUsingImpl | Укажите значение для Simulate с помощью параметра |
supportsMultipleInstanceImpl | Объект Support System в Simulink для каждой подсистемы |
isInputDirectFeedthroughImpl | Состояние прямого прохождения входного сигнала |
outputImpl | Расчет выходных данных из входного или внутреннего состояния объекта System |
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 |
getOutputNamesImpl | Имена выходных портов системных блоков MATLAB |
getGlobalNamesImpl | Имена глобальных переменных для системного блока MATLAB |
showSimulateUsingImpl | Видимость Simulate с использованием параметра |
createSampleTime | Создать объект спецификации времени образца |
getSampleTime | Время запроса образца |
getSampleTimeImpl | Укажите тип времени выборки, время смещения и время выборки |
getCurrentTime | Текущее время моделирования в системном блоке MATLAB |
allowModelReferenceDiscreteSampleTimeInheritanceImpl | Статус наследования эталонного времени выборки модели для дискретного времени выборки |
getImpulseResponseLengthImpl | Определение длины входных эффектов для подсистем потока данных |
getInputDimensionConstraintImpl | Определение ограничений входных размеров для подсистем потока данных |
getOutputDimensionConstraintImpl | Определение ограничений выходных размеров для подсистем потока данных |
В этом примере показано, как создать базовый объект System с именем AddOne.
В MATLAB выберите New > System object > Basic. Откроется новое окно редактора с синтаксисом по умолчанию и комментариями для нового объекта System.
Переименование класса 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
Следующие атрибуты можно применить к любому свойству пользовательского объекта System.
Nontunable | Использовать Nontunable для предотвращения изменения значения свойства во время использования объекта. По умолчанию все свойства настраиваются. Nontunable используется для блокировки свойства, которое имеет побочные эффекты при изменении. Этот атрибут также полезен для блокировки значения свойства, которое считается постоянным во время обработки. Необходимо всегда указывать свойства, влияющие на количество входных или выходных портов, как Nontunable. |
DiscreteState | Использовать DiscreteState чтобы отметить свойство так, чтобы оно отображало свое значение состояния при использовании getDiscreteState способ. |
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.