How can I set the initial value for the output, "y[1]",

hardikisharma2 · Dec 18, 2020 · 2.2K views
Question
How can I set the initial value for the output, "y[1]", when using the LSIM function in  Control Systems Toolbox 8.1 (R2008a)? I am using the function LSIM with a transfer function model. The following code produces an output that initializes at zero even when the x0 argument is set to three:   t = linspace(0,100*pi,1024); u = 3 + sin(t); H = tf([1 1],[1 3 3 2]); lsim(H,u,t,3,'foh')
Expert Answer
Profile picture of Neeta Dsouza
Neeta Dsouza PhD Expert
Answered Nov 20, 2025
When using a transfer function system model, the ability to set an initial value for the output is not available in Control System Toolbox 8.1 (R2008a).
To work around this issue, use a state-space system model. Set the initial state "x0" so that your initial output takes the desired value based on the following state-space equation:
y[0] = C*x[0] + D*u[0]
Consider the following example:
 
t = linspace(0,100*pi,1024);

u = 3 + sin(t);

H = tf([1 1],[1 3 3 2]);

sys = ss(H)

The model "sys" has vales [0 0.5 0.5] for "C" and zero for "D". To achieve an initial output of "3", you can use an initial state of [0;3;3].

 

lsim(H,u,t,[0;3;3],'foh')
Have a different question? Ask here

Get a Free Consultation or a Sample Assignment Review!