MATLAB: Doesn’t a model that has been made discrete by adding a “Zero Order Hold” Block get linearized when using the Linear Analysis Tool

4.0analysislinearr12simulink

Why doesn't a model that has been made discrete by adding a "Zero Order Hold" Block get linearized when using the Linear Analysis Tool in Simulink 4.0 (R12)?
I have a model that uses the "Zero Order Hold" Block to sample and create a discrete model. However, when I do linear analysis on it using the Linear Analysis Tool in Simulink, it seems that the block is ignored and a linear continous system is used.

Best Answer

Currently, the Linear Analysis Tool looks for discrete-time states and returns a model with a sample time equal to the largest sample time over all discrete states. Because the "Zero Order Hold" block has no states, the resulting model is continuous.
A simple fix is to drop in a disconnected block (e.g. Unit Delay) with the desired sampling rate to force the linearized model to have this sample time. Another solution is to use the DLINMOD command. Type "help dlinmod" at the MATLAB prompt for information regarding this command.
Note that the "ZeroOrder Hold" block is a mere sampler, not a sample-and-hold device as described in most Controls books.