Tuning transfer function to get only positive parameters using Simulink

9 次查看(过去 30 天)
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 个)

Sebastian Castro
Sebastian Castro 2017-4-17
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 个评论
Ismaeel
Ismaeel 2017-4-18
编辑:Ismaeel 2017-4-18
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]
Ismaeel
Ismaeel 2017-4-18
编辑:Ismaeel 2017-4-18
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.

请先登录,再进行评论。

Community Treasure Hunt

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

Start Hunting!

Translated by