simulink transfer function with time constant changing during simulation

12 ビュー (過去 30 日間)
Marian
Marian 2011 年 12 月 17 日
回答済み: Marian 2020 年 3 月 26 日
I'm trying to create in Simulink a transfer function, say 1/(T1*s+1), with T1 changing during simulation depending on various conditions. Since I cannot change manually the value for T1 the use of Transfer Fcn block is not possible. My question is how can I implement this transfer function?

採用された回答

Fangjun Jiang
Fangjun Jiang 2011 年 12 月 17 日
Assume your input is x and output is y:
y=x/(T1*s+1)
y*T1*s+y=x
y*T1*s=x-y
y=(x-y)*(1/s)*(1/T1)
1/s is an integrator, use a negative feedback to get (x-y), 1/T1 is the gain, or can be a multiplication block. You can construct your transfer function now.
  7 件のコメント
Marian
Marian 2018 年 7 月 24 日
Is it a transfer function, such as k/((T1*s+1)(T2*s+1)) or is it another situation?
Molly Brun
Molly Brun 2020 年 3 月 25 日
How would you acheive this with the function looking more like this: K/(T1s^2+T2s+1) ? I am trying to keep it all in the transfer function block and change the denominator coefficient to include these variables.

サインインしてコメントする。

その他の回答 (1 件)

Marian
Marian 2020 年 3 月 26 日
The transfer function K/(T1s^2+T2s+1) is associated with the differential equation T1*y'' + T2*y' + y = K*u.
It can be written: y'' = (K*u - T2*y' - y)/T1
So the transfer function can be implemented like in the figure
This is a subsystem like
The transfer function is implemented as a subsystem with its parameters (K, T1, T2) available for change from external blocks.
You can compare the answer of this subsytem with the answer of a transfer function block. In this example, the transfer function is 2/(12s^2+7s+1). You will see that are the same.
I hope this is what you looking for.

カテゴリ

Help Center および File ExchangeAdditional Math and Discrete についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by