Simulink transfer function with sinusoidal parameter

2 次查看(过去 30 天)
Hi
I need to design a transfer function in the following form: K/ (Ts + 1) where the numerator K is scalar and varies sinusoidal
I tried adding and event listener on the start callback
iev = add_exec_event_listener('main\le_block','PostOutputs', @vary_me)
the vary_me function looks like:
function vary_me
a=evaluatevars('tout');
a=a(end);
a=sin(a);
set_param('main/le_block','Numerator',num2str ( sin(a) ) );
I noticed the following error
Warning: Error occurred while evaluating listener callback.
Error using vary_me
Too many input arguments.
How should I solve this issue? Is there any easier way to implement the same behavior (sinusoidal-varying numerator of transfer function) ?
Thanks for any reply

采纳的回答

Azzi Abdelmalek
Azzi Abdelmalek 2012-11-11
编辑:Azzi Abdelmalek 2012-11-11
You can multiply your transfer function by sin(t)

更多回答(1 个)

River Rock
River Rock 2012-11-11
Your answer does solve the initial problem.
Now how about modifying the parameters of the denominator?

类别

Help CenterFile Exchange 中查找有关 Model, Block, and Port Callbacks 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by