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

Answers (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 Comments

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.

Sign in to comment.

Asked:

on 16 Apr 2017

Edited:

on 18 Apr 2017

Community Treasure Hunt

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

Start Hunting!