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 CenterFile Exchange에서 Transfer Function Models에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by