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