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

Illustration
hardikisharma2 - 2020-12-18T10:34:49+00:00
Question: How can I set the initial value for the output, "y[1]",

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 answered . 2025-11-20

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')


Not satisfied with the answer ?? ASK NOW

Get a Free Consultation or a Sample Assignment Review!