MATLAB: I don’t understand the concept of sample time in simulink

confihuration parameterconstant blocksample timesimulationsimulation timesimulinkstep size

I had a simulink block(a constant block=2) connected to an output port(yout). I set a 'fixed step size' of 0.2 in the 'configuration parameters' dialogue box. I was thinking that if i set the constant block to a sample time of 0.4, the constant block should execute at every second sumulation time step since 'fixed step size' is 0.2. But when i ran the model for a stop time of 0.8(ie for 5 'time steps' including 0) i got yout=[0;2;2;2;2] meaning that the block executed 5 times. What i was expecting was for the block to execute only 3 times so that yout=[2;2;2].
So I concluded that I do not understand the concept of sample time. I will appreciate it if anyone could help explaining the above result and the general concept of sample time.
Thanks you in advance. Bethel

Best Answer

In this case, since you are looking at the logged data yout, the sample time is determined by the sample time specification of the Outport block. If you change the sample time of the Outport block, you'll see the difference.
For general information regarding sample time in Simulink, see Sample Times
Related Question