В этом примере показано, как задать информацию для отображения для системного 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
InfoImpl
classdef 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