What function in Matlab is equivalent to the block in Simulink "Transport Delay"?

2 vues (au cours des 30 derniers jours)
Ismaeel
Ismaeel le 28 Mar 2017
Modifié(e) : Ismaeel le 1 Avr 2017
I want to use a delay function that does exactly what the block in Simulink "Transport Delay" does. I tried to use the function "delayseq" but that requires sampling frequency along the time delay. Any idea? Thanks in advance
  2 commentaires
Walter Roberson
Walter Roberson le 28 Mar 2017
What is the input that is to be delayed? What does your code use as its clock?
Ismaeel
Ismaeel le 28 Mar 2017
Modifié(e) : Ismaeel le 28 Mar 2017
Hi Walter, thanks for your reply. I use ode15s for solving DAEs system. I have one of the states (only one of them, the rest of states don't include any delay) needs to be delayed by a certain amount of time. The clock is the time that ode15s handles as an output, so I am not using the time variable directly but the states in DAEs are functions of time.

Connectez-vous pour commenter.

Réponses (1)

Walter Roberson
Walter Roberson le 28 Mar 2017
ode15s is the wrong function for solving delay differential equations. Have a look at https://www.mathworks.com/help/matlab/delay-differential-equations.html
  1 commentaire
Ismaeel
Ismaeel le 1 Avr 2017
Modifié(e) : Ismaeel le 1 Avr 2017
Thanks Walter, I have been working on the problem using the function you suggested (dde23 or ddesd) but I realized that these solvers can not solve stiff delay DAEs problems even when I give a very small amount of delay (1e-15). The problem can be solved easily without delay using ode15s function. I hope Mathworks works on stiff delay DE for the future versions of Matlab.

Connectez-vous pour commenter.

Community Treasure Hunt

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

Start Hunting!

Translated by