Fixing parameters when estimation of transfer function
9 views (last 30 days)
Show older comments
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 Comments
Answers (1)
Sebastian Castro
on 19 Jun 2017
Edited: Sebastian Castro
on 19 Jun 2017
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 Comments
Sebastian Castro
on 19 Jun 2017
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
See Also
Categories
Find more on Transfer Function Models in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!