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 件)

Sebastian Castro
Sebastian Castro 2017 年 4 月 17 日

0 投票

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 日
Thank you Castro, for your reply. Unfortunately, it gives me negative values in the numerator as shown in the figure below.
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.

サインインしてコメントする。

カテゴリ

質問済み:

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