MATLAB: Discrete systems using s-function

discretes-function level 2

Hi,
i have this discrete function, and try to simulate it using s-function level 2, where k represent simulation length from 1 to 50sec.
x(k) = 0.5*x(k-1) + 25*x(k-1) /(1 + x(k-1)^2) + 8 cos(1.2(k-1))
here how i put it in the s-function level 2:
function Update(block)
Q=1;
xplus = 0.5 * xminus + 25 * xminus / (1 + xminus^2) + 8 * cos(1.2*(k-1))
block.Dwork(1).Data = xplus;
where xplus = x(k) xminus=x(k-1)
but i am not sure about cos(1.2*(k-1)). Can anyone pls advise how should i implement this? Thanks.

Best Answer

Is (k-1) basically "t" at the previous step, where t is the current simulation time-step? If yes, you can store "t" in a Dwork by using block.CurrentTime and use it in the next time step as (k-1).