Включите поддержку каждой подсистемы при помощи системной object™ в Simulink® Для каждой подсистемы. Включите supportsMultipleInstanceImpl
метод в файле определения класса. Этот метод применяется только, когда системный объект используется в Simulink через блок MATLAB System.
Используйте supportsMultipleInstanceImpl
метод и иметь его возврат true
чтобы указать, что системный объект поддерживает несколько вызовов в подсистеме Simulink For Each.
methods (Access = protected) function flag = supportsMultipleInstanceImpl(obj) flag = true; end end
Просмотрите метод в полном файле определения класса.
classdef RandSeed < matlab.System % RANDSEED Random noise with seed for use in For Each subsystem properties (DiscreteState) count; end properties (Nontunable) seed = 20; useSeed (1,1) logical = false; end methods (Access = protected) function y = stepImpl(obj,u1) % Initial use after reset/setup % and use the seed if (obj.useSeed && ~obj.count) rng(obj.seed); end obj.count = obj.count + 1; [m,n] = size(u1); % Uses default rng seed y = rand(m,n) + u1; end function setupImpl(obj) obj.count = 0; end function resetImpl(obj) obj.count = 0; end function flag = supportsMultipleInstanceImpl(obj) flag = obj.useSeed; end end end