Fixing parameters when estimation of transfer function

9 ビュー (過去 30 日間)
Narayanan V Baradwaj
Narayanan V Baradwaj 2017 年 6 月 19 日
コメント済み: Sebastian Castro 2017 年 6 月 19 日
I am working on a closed loop control of a robotic arm. I have input data and output data and would like to find the transfer function. It is a MISO system and i am using tfest to find the transfer function. However, when I estimate the transfer function, I would like to put conditions on the denominator such that the denominators of all three transfer functions are the same. How do i fix two different parameters to be the same in the transfer function while estimation? this is my code.
num={[1],[2 3],[3 5 2 3]};
den={[1 2 3 0],[1 2 3 0],[1 2 3 0]};
sys_init=idtf(num,den);
sys=tfest(soliddrive,sys_init);
I couldnt specify that sys_init.structure(1,1).Denominator=sys_init.structure(1,2).Denominator while estimation. How can this be done?

回答 (1 件)

Sebastian Castro
Sebastian Castro 2017 年 6 月 19 日
編集済み: Sebastian Castro 2017 年 6 月 19 日
There is a setpar function that lets you set whether or not the variables are free.
For example, to have only the first 3 parameters in your model be modifiable:
>> sys_init_mod = setpar(sys_init,'free',[zeros(16,1);ones(3,1)])
- Sebastian
  2 件のコメント
Narayanan V Baradwaj
Narayanan V Baradwaj 2017 年 6 月 19 日
Hi. This is to fix the variable to a fixed number. Is it possible to make the denominator of 3 transfer functions of a MISO system same? Because if I set it as fixed, it doesn't change the value
Sebastian Castro
Sebastian Castro 2017 年 6 月 19 日
Oh... my bad, I don't think you can do that with tfest.
Only way I could think about that is to use the Optimization Toolbox functionality such as fmincon and write the constraint function in yourself...
- Sebastian

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

カテゴリ

Help Center および File ExchangeTransfer Function Models についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by