Transfer Function in Simulink

5 次查看(过去 30 天)
Samson
Samson 2014-10-19
回答: Orion 2014-10-21
I have created a model for muscle stimulus in Simulink which takes a stimulus (S) and inputs it through a transfer function block, 1/(tau*s + 1) and outputs muscle activation (A).
S --> 1/(tau*s+1) --> A
I am trying to implement a model where tau = 0.030s when A is rising and tau = 0.08s when A is falling.
How can I vary tau within the Simulink model of the transfer function with my two parameters?

回答(3 个)

Orion
Orion 2014-10-20
Hi,
you can try something like
you may need to add a second switch for the falling case.
  1 个评论
Samson
Samson 2014-10-20
Doesn't this already take care of the falling case where if output A is not increasing, the switch will change from T to F?

请先登录,再进行评论。


Orion
Orion 2014-10-20
Actually, the simple model I made just takes care of the detect increase. it computes :
if U>U/Z % if current value > precedent value
A = fcn(0.03)
else % all other case : decrease OR S is constant
A = fcn(0.08)
end
So, as you see if S becomes constant, instantly, the function with 0.08 is used.
it depends on what you need to compute, but you may have to implement
if U>U/Z % if current value > precedent value
A = fcn(0.03)
elseif U<U/Z % if current value < precedent value
A = fcn(0.08)
else % all other case : S is constant
A = last_value_of_A;
end
and in simulink, you need 2 switch to do that.
  1 个评论
Samson
Samson 2014-10-21
Hmm, would you mind showing me how to implement the second switch? I keep running into issues with having multiple signals going into A.

请先登录,再进行评论。


Orion
Orion 2014-10-21
here is a model which computes with 2 swicth. Note : i made a change using S instead of A to detect increase and decrease (I don't think it can really work using the ouput A)

类别

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

Community Treasure Hunt

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

Start Hunting!

Translated by