![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/336553/image.png)
How to estimate the parameter in a customized transfer function
7 ビュー (過去 30 日間)
古いコメントを表示
Hey guys
Currently I'm using system identification toolbox to estimte the transfer function of a set of data. However, I want my transfer function in a particular form:
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/336517/image.png)
where
and
are fitting parameters. Both
and
are known polynomials (unfortunately I cannot provide any details about them). In this case, this transfer function model cannot be written in a standard form as shown below:
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/336520/image.png)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/336523/image.png)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/336526/image.png)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/336529/image.png)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/336532/image.png)
The system identification toolbox seems to require my model to be written in the standard form. Therefore, I'm wondering if there's anyway I can find estimation for
and
? Thank you
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/336535/image.png)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/336538/image.png)
0 件のコメント
回答 (2 件)
Robert U
2020 年 7 月 24 日
Hi Lihao Zheng,
first of all you can convert the two forms from one to another. Second it is possible to define transfer functions in different forms:
s = tf('s');
K0 = 5;
a0 = 10;
p = 2*s+1;
q = 3*s^2+2*s+1;
G = K0 / (p/q+a0)
As you can see, Matlab returns G in the polynomial form.
If you convert the transfer functions to one another you will see that
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/336553/image.png)
Finding the common devider in the numerator of a(s) leads direktly to K_0 and with that you can calculate {\tilde a_0}.
Kind regards,
Robert
Rajiv Singh
2020 年 7 月 24 日
Grey-box identification is an option. You will need to write a function that takes K0 and a0 as inputs, and returns state-space matrices correspinding to your system. See IDGREY, GREYEST, SSDATA. Some examples:
0 件のコメント
参考
カテゴリ
Help Center および File Exchange で Linear Model Identification についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!