Use Simulink time variable in a Matlab Function

135 visualizaciones (últimos 30 días)
Thomas Schütz
Thomas Schütz el 23 de Sept. de 2020
Editada: Matthew Mishrikey el 10 de Dic. de 2021
Hello everybody,
I want to implement a Matlab function into my Simulink Model, where I upconvert a signal to 24 GHz. I therefore want to implement the function y = real(u*exp(i*2*pi*24e9*t) as a Matlab function, where u is a complex time signal which is created in Simulink and t stands for the time in Simulink. I now somehow need to get the variable t of my Simulink project into my Matlab function in order to calculate the given function, but I dont know how to implement the variable t.
Thanks in advance for helping.

Respuesta aceptada

Ameer Hamza
Ameer Hamza el 23 de Sept. de 2020
Editada: Ameer Hamza el 23 de Sept. de 2020
You can directly create MATLAB function inside Simulink using MATLAB function block: https://www.mathworks.com/help/simulink/ug/creating-an-example-model-that-uses-a-matlab-function-block.html. To feed the simulation time, use the clock block: https://www.mathworks.com/help/simulink/slref/clock.html.
  3 comentarios
Ameer Hamza
Ameer Hamza el 23 de Sept. de 2020
I am glad to be of help!
Matthew Mishrikey
Matthew Mishrikey el 10 de Dic. de 2021
Editada: Matthew Mishrikey el 10 de Dic. de 2021
I tried to do something like your suggestion using a function block, but Matlab says it contains a block that updates persistent or state variables while computing outputs and is not supported in an algebraic loop.
function switch_control = current_monitor(current, clock)
persistent starttime;
persistent tripped;
if isempty(starttime)
starttime = 0;
end
if isempty(tripped)
tripped = false;
end
if (current > 10)
starttime = clock;
if ((clock - starttime) > 0.2)
tripped = true;
end
end
if(tripped)
switch_control = 0;
else
switch_control = 1;
end
end

Iniciar sesión para comentar.

Más respuestas (0)

Productos


Versión

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by