Is there a MATLAB simulation time command supported by Simulink Design Verifier?

11 次查看(过去 30 天)
I am working on a Simulink model with a MATLAB Function block. The function in the function block requires the current simulation time. At the moment this is solved via an input with a Digital Clock block.
Is there a MATLAB command that could do this and is compatible with the Simulink Design Verifier?
  4 个评论
Pat Canny
Pat Canny 2024-10-18
I got several options from some internal experts:
  • To get the simulation time at the MATLAB prompt: "get_param(bdroot,'SimulationTime')"
  • To get the simulation time inside a MATLAB System block: matlab.system.getcurrenttime
  • To get the simulation time inside a Stateflow chart (MATLAB action language): getSimulationTime();
  • To get the simulation time inside a MATLAB Function block: we don't think there is a function for that. If the block is fixed-step discrete, the recommendation is to take the sample time as a parameter and count the time in the code.
Hopefully that helps. If so, let me know and I can submit this as an Answer.

请先登录,再进行评论。

采纳的回答

TED MOSBY
TED MOSBY 2024-10-19
Hi @Joshua,
In a MATLAB Function block in Simulink, you can access the current simulation time without needing a Digital Clock block. You can do this by passing the simulation time as an input to your function.
Add a Clock Block:
  • In your Simulink model, add a Clock block from the Simulink library (found under Sources).
Connect the Clock Block:
  • Connect the output of the Clock block to the input of your MATLAB Function block. This will pass the current simulation time to the function.
Define the MATLAB Function:
  • Edit your MATLAB Function block to accept the simulation time as an input. Here’s an example of how to define your function:
function output = myFunction(time)
% Use the current simulation time
currentTime = time;
% Example operation using current time
output = currentTime^2; % Replace with your desired computation
end
Hope this helps!
Here is the documentation for the “clock block”:

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 General Applications 的更多信息

标签

产品


版本

R2024b

Community Treasure Hunt

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

Start Hunting!

Translated by