How to update a signal in Simulink

4 visualizaciones (últimos 30 días)
Nishant Kumar
Nishant Kumar el 30 de Mzo. de 2020
Comentada: Nishant Kumar el 31 de Mzo. de 2020
I essentially need to do 'x = x + a*b' operation at every time-step in my simulation. The value of b is changing throughout the simulation and the value of x is given initially. I tried using 'memory' block for the same but wasn't able to get the desired result due to sample time mis-match. The values are getting updated every 0.2 seconds whereas the step-time is 1s.
Please suggest what blocks I should use; if possible a diagram too. I think I need a block which can act as a source but also have an option to be updated. Or any other way to carry out the above task would suffice.
I have done this in Matlab script and it was very easy there, but I need a Simulink model solution.

Respuesta aceptada

Fangjun Jiang
Fangjun Jiang el 30 de Mzo. de 2020
The true meaning of the equation is x=previous_x+a*b. Use the "Delay One Step" block (also called z-delay, unit delay, 1/z). The input is x, the output is previous_x, then construct your model.
  3 comentarios
Fangjun Jiang
Fangjun Jiang el 31 de Mzo. de 2020
You can specify the initial value for the z-delay block. It "gets updated everytime" when the simulation is run.
Nishant Kumar
Nishant Kumar el 31 de Mzo. de 2020
Thanks a lot for help. This worked out fine for me.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Simulink Functions en Help Center y File Exchange.

Etiquetas

Productos


Versión

R2019b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by