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?
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 Exchange에서 Programmatic 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