В этом примере показано, как задать информацию для отображения для системного object™.
Вы можете определить свои собственные info метод для отображения конкретной информации для вашего Системного объекта. Значение по умолчанию infoImpl метод возвращает пустой struct. Этот infoImpl метод возвращает подробную информацию, когда info вызывается с использованием info(x,'details') или только подсчитать информацию, если она вызывается с помощью info(x).
methods (Access = protected) function s = infoImpl(obj,varargin) if nargin>1 && strcmp('details',varargin(1)) s = struct('Name','Counter', 'Properties', struct('CurrentCount',obj.Count, ... 'Threshold',obj.Threshold)); else s = struct('Count',obj.Count); end end end
InfoImplclassdef Counter < matlab.System % Counter Count values above a threshold properties Threshold = 1 end properties (DiscreteState) Count end methods (Access = protected) function setupImpl(obj) obj.Count = 0; end function resetImpl(obj) obj.Count = 0; end function y = stepImpl(obj,u) if (u > obj.Threshold) obj.Count = obj.Count + 1; end y = obj.Count; end function s = infoImpl(obj,varargin) if nargin>1 && strcmp('details',varargin(1)) s = struct('Name','Counter',... 'Properties', struct('CurrentCount', ... obj.Count,'Threshold',obj.Threshold)); else s = struct('Count',obj.Count); end end end end