Simulink add Transferfunction as binominal equation

13 ビュー (過去 30 日間)
Gunnar Schmidt
Gunnar Schmidt 2023 年 11 月 30 日
コメント済み: Sam Chak 2023 年 12 月 1 日
Hello,
Could you guide me on how to create a custom transfer function within a Simulink block?
I prefer not to expand each parameter individually.
Ideally, I am looking to implement a function similar to a binomial expression. For instance:
TF = p(1) / (1 + p(2)*s)^p(3)
Or, specifically:
TF = p(1) / (1 + p(2)*s)^3

回答 (2 件)

Sam Chak
Sam Chak 2023 年 11 月 30 日
編集済み: Sam Chak 2023 年 12 月 1 日
Technically, if the parameters do not change during the simulation in Simulink, then the Zero-Pole block should achieve what you are looking for because the denominator contains only repeated poles.
Edit: The zpk() function in the MATLAB Function block doesn't work.
  2 件のコメント
Paul
Paul 2023 年 11 月 30 日
編集済み: Paul 2023 年 11 月 30 日
The zero-pole block is a very good idea. The poles are obviously at -1/p(2), but keep in mind that the gain k is not p(1). The gain needs to be adjusted to k = p(1)/p(2)^p(3) (I think).
How can the zpk command be used in a Matlab Function to implement this model?
Sam Chak
Sam Chak 2023 年 12 月 1 日
Hi @Paul, thanks for enlightening me on the zpk(). I didn't think this through. Your proposed LTI System block should work nicely. I admit that I rarely explore the blocks in the Control System Toolbox library.

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


Paul
Paul 2023 年 11 月 30 日
Hi Gunnar,
You can use the LTI System block and enter as the block parameter: p(1)*tf(1,[p(2) 1])^p(3)
assuming that only the denominator is raised to the power p(3) as shown in the question.

カテゴリ

Help Center および File ExchangeProgrammatic Model Editing についてさらに検索

製品


リリース

R2023b

Community Treasure Hunt

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

Start Hunting!

Translated by