How to find f(t-1) if f(t) is given using simulink

4 views (last 30 days)
I have an equation, something like this
lambda = sign [f(t)]*f(t-1)]
I am computing f(t) from the function block. So, it can be said that f(t) is the output of some function block in simulink. Now I need to find f(t-1), and then of course, find the lambda, which is based on the sign of the product. My doubt is, given f(t) as an output from the function block of simulink, how can I find f(t-1), and finally how to find the lambda.
As it can be seen from the simulink model screenshot, I have delE_by_delW_1 (call it f(t)) as an output of the function block. I want delE_by_delW_1 at time t-1 to find the lambda. Here, I am using unit delay block. But, the output it gives is as if unit delay block is not there. So, how should I solve this problem?
  3 Comments
Rakesh Jain
Rakesh Jain on 13 Jul 2018
@Birdman Please check. I have attached the .mdl file. It might appear quite involved, but my primary doubt is that given in the question

Sign in to comment.

Answers (1)

Nanditha Nirmal
Nanditha Nirmal on 13 Jul 2018
Hi,
According to the documentation, the unit delay block is for discrete signals. I am guessing your function f(t) is a continuous time signal and hence you should try using the Memory Block. Then, to calculate lambda you can input the product to the Sign Block. I have included a rough picture below.
  1 Comment
Rakesh Jain
Rakesh Jain on 14 Jul 2018
As far as I know (though I am not sure), the memory block doesn't provide a delay. But I had tried using the memory block too. It gives the same output, as if the memory block does not exist at all

Sign in to comment.

Categories

Find more on Modeling in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!