Using an empty vector as a parameter in a user-defined block
Mostra commenti meno recenti
I am new to coding my own blocks, and quickly ran into something I do not understand. When I simply add an empty vector as a property to my block as in the code below, I get an error (Invalid setting in block 'Dataflow/MATLAB Discrete-Event System' for parameter 'InputRateVector') but only after I try to run a simulation. It seems that having an empty vector as a property is okay, but having an empty vector as block parameter is not. Why is that? (For my purpose, having an empty vector really makes sense in some situations...)
PS. The code below is simply the standard "MatlabBlock" definition for discrete event systems, with one line added to create the property and two functions added to make sure there are no inputs or outputs to this block (that will change later when I understand what happened here...).
Thnx. Pieter
classdef MyBlock < matlab.DiscreteEventSystem & matlab.system.mixin.Propagates
% Public, tunable properties.
properties
InputRateVector = [ ];
end
properties (DiscreteState)
end
% Pre-computed constants.
properties (Access = private)
end
methods (Access = protected)
function num = getNumInputsImpl(obj)
num = 0;
end
function num = getNumOutputsImpl(obj)
num = 0;
end
function setupImpl(obj,u)
% Implement tasks that need to be performed only once,
% such as pre-computed constants.
end
function [entity, events] = entryImpl(obj, storage, entity, source)
% Specify event action in response to entity entry to a storage.
events = [];
end
function resetImpl(obj)
% Initialize discrete-state properties.
end
end
end
Risposta accettata
Più risposte (0)
Categorie
Scopri di più su Discrete-Event Simulation in Centro assistenza e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!