How to Delay matlab function block?
3 次查看(过去 30 天)
显示 更早的评论
Hello everyone,
I have a system that is shown below.
Inside the Sensor Block I have some initial values and basic calculations like below;
function [distance,sensorID] = fcn(trig)
sensorID = 1;
distance = (trig/2)*(17.15);
with the current structure I can display all the values correctly.However, my aim is to display distances with delays from each other.
For instances I want to display;
Display[Distance] at the beginning
Display[Distance]2 after 3 seconds
Display[Distance]1 after 6 seconds
I have already tried pause function but it makes the function in the block to restart constantly and that is something I avoid. All I need to display values once and after a second turn back to zero,if possible.
If not values can remain on the display,as well.
I hope I could have explained the issue clear enough.Please let me know if there is any other point that I need to clarify.
Thanks in advance!
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/338626/image.png)
0 个评论
采纳的回答
maiaL
2020-7-29
Have you tried Delay blocks?
3 个评论
maiaL
2020-8-4
编辑:maiaL
2020-8-4
You can place a Delay block before each of the inputs of the second and third sensor blocks. The delay length would depend on your step size. For example:
If your step size is 0.1, and you want a 3s delay, the delay length (in samples) would need to be 30.![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/341059/image.png)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/341059/image.png)
Maybe not the most elegant solution but it might be enough for you.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Discontinuities 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!