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.

请先登录,再进行评论。

提问:

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