MATLAB: What is the difference between the sample-and-hold block and a delay

blockdelaydifferenceMATLABmodelsample and holdsimlinsimulink

The sample and hold block holds a value for a certain time and outputs it.
A delay takes a previous value from a certain time ago and outputs it.
What are their theoretical and practical differences?

Best Answer

The Sample and Hold block holds the acquired input value at the signal port whenever it receives a trigger event and outputs the value until the next triggering event occurs. The Delay block holds and delays its input by the sample time specified.
You may refer to the example in the simulink model attached where the outputs of both blocks can be viewed. The sample period of the Delay block is 0.1s and can be viewed by double-clicking the Delay block.