Tuning transfer function to get only positive parameters using Simulink

I have a transfer function with order three in both numerator and denominator. I am tuning the block using the control system tuner to find the best coefficients for the block for a desired function. My question is how to tell the tuner that the coefficients to be found must be positive values?
ex: tf=(a1*s+1)(a2*s+1)(a3*s+1)/((b1*s+1)(b2*s+1)(b3*s+1))
I want to find the values of the parameters all a & b to be positive values. Any idea? Thanks

回答(1 个)

For all tuned blocks, you can expand the variable name and set their "Minimum" and "Maximum" values. If you set a minimum of 0, does it work?
Sebastian

3 个评论

Thank you Castro, for your reply. Unfortunately, it gives me negative values in the numerator as shown in the figure below.
Apparently, there is a technical issue to upload the picture. Anyway, this is what I got:
Numerator coefficients:
[-0.17873835660206 -0.241501688056885]
Denominator coefficients:
[1 0.372855801788186]
I have soled my problem by changing the transfer function to multiple simple blocks (integral, gain, and sum) using the rules from control theory. Thanks Castro.

请先登录,再进行评论。

类别

帮助中心File Exchange 中查找有关 Control System Toolbox 的更多信息

提问:

2017-4-16

编辑:

2017-4-18

Community Treasure Hunt

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

Start Hunting!

Translated by