Fixing parameters when estimation of transfer function
15 次查看(过去 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!