Fixing parameters when estimation of transfer function
조회 수: 9 (최근 30일)
이전 댓글 표시
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?
댓글 수: 0
답변 (1개)
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
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 Exchange에서 Transfer Function Models에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!