Obtain sample time in Embedded Matlab block
Show older comments
Sorry if this has been asked many times before, but I couldn't find an answer.
If I have an embedded Matlab block with inherited sample time, can I somehow obtain the evaluated sample time in the code of the embedded block at runtime? This is possible for an S-function and it would be really sweet if it was possible for embedded blocks as well.
Answers (3)
Ryan G
on 30 Jul 2012
I don't believe you can do this directly but you could use this code in the EML block with a clock as an input:
function y = fcn(u)
%#codegen
persistent time12
if isempty(time12)
time12 = 0;
end
deltaT = u - time12;
time12 = u;
y = deltaT;
Where the block is at the same inherited sample rate.
Azzi Abdelmalek
on 30 Jul 2012
Edited: Azzi Abdelmalek
on 30 Jul 2012
0 votes
you can use a "zoh" block (simulink/discret/Zero Order Holder), with a sample time of your choice. You place it at the inputs (or/and) outputs of the embedded matlab function block
Anders
on 31 Jul 2012
0 votes
Categories
Find more on Schedule Model Components in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!