Property attributes, которые добавляют детали в свойство, обеспечивает слой управления к вашим свойствам. В дополнение к MATLAB® атрибуты свойства и валидация свойства, Системные объекты могут использовать Nontunable
или DiscreteState
. Чтобы задать несколько атрибутов, разделите их запятыми.
По умолчанию все свойства являются настраиваемыми, означая, что значение свойства может измениться в любое время.
Используйте Nontunable
припишите для свойства, когда алгоритм зависит от значения, являющегося постоянным, если обработка данных запускается. Определение свойства как ненастраиваемое может повысить эффективность вашего алгоритма путем устранения необходимости проверять на или реагировать на значения то изменение. Для генерации кода, задавая свойство как ненастраиваемое позволяет памяти, сопоставленной с тем свойством быть оптимизированной. Необходимо задать все свойства, которые влияют на количество портов ввода или вывода как ненастраиваемое.
Когда вы используете Систему object™, можно только изменить ненастраиваемые свойства прежде, чем вызвать объект или после вызова release
функция. Например, вы задаете InitialValue
свойство как ненастраиваемое и установленное его значение к 0.
properties (Nontunable)
InitialValue = 0;
end
Если ваш алгоритм использует свойства, что состояние удержания, можно присвоить те свойства DiscreteState
атрибут. Свойства с этим атрибутом отображают свои значения состояния через getDiscreteStateImpl
когда пользователи вызывают getDiscreteState
. Следующие ограничения применяются к свойству с DiscreteState
припишите,
Числовое, логическое, или fi значение, но не масштабированное двойное fi значение
Не имеет ни одного из этих атрибутов: Nontunable
, Dependent
, Abstract
, Constant
.
Никакое значение по умолчанию
Не публично устанавливаемый
GetAccess = Public
по умолчанию
Если вы задаете свойство как дискретное состояние, вы не должны вручную сохранять или перезаписывать объект с помощью saveObjectImpl
или loadObjectImpl
.
Например, вы задаете Count
свойство как дискретное состояние:
properties (DiscreteState)
Count;
end
Этот пример показывает два ненастраиваемых свойства, свойство дискретного состояния, и также валидацию свойства класса MATLAB, чтобы установить атрибуты свойства.
classdef Counter < matlab.System % Counter Increment a counter to a maximum value % These properties are nontunable. They cannot be changed % after the setup method has been called or while the % object is running. properties (Nontunable) % The initial value of the counter InitialValue = 0 % The maximum value of the counter, must be a positive integer scalar MaxValue (1, 1) {mustBePositive, mustBeInteger} = 3 end properties % Whether to increment the counter, must be a logical scalar Increment (1, 1) logical = true end properties (DiscreteState) % Count state variable Count end methods (Access = protected) % Increment the counter and return its value % as an output function c = stepImpl(obj) if obj.Increment && (obj.Count < obj.MaxValue) obj.Count = obj.Count + 1; else disp(['Max count, ' num2str(obj.MaxValue) ' ,reached']) end c = obj.Count; end % Setup the Count state variable function setupImpl(obj) obj.Count = 0; end % Reset the counter to one. function resetImpl(obj) obj.Count = obj.InitialValue; end end end