Simulink add Transferfunction as binominal equation

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 日

0 投票

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 日

0 投票

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.

カテゴリ

ヘルプ センター および File ExchangeProgrammatic Model Editing についてさらに検索

製品

リリース

R2023b

質問済み:

2023 年 11 月 30 日

コメント済み:

2023 年 12 月 1 日

Community Treasure Hunt

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

Start Hunting!

Translated by