How to calculate the transfer function for a 16 input system?

3 ビュー (過去 30 日間)
Jairo Gallardo Gonzalez
Jairo Gallardo Gonzalez 2020 年 7 月 16 日
コメント済み: Khaled Hamed 2020 年 7 月 17 日
Hi, I have a system output dependant of 16 inputs, I am doing tests and I have the outputs values for some sets of inputs, how could I calculate the transfer function?, thanks

回答 (2 件)

Khaled Hamed
Khaled Hamed 2020 年 7 月 17 日
編集済み: Khaled Hamed 2020 年 7 月 17 日
It depends on what type of Transfer Function you want to use. For example, if you want to use an ARX model (I am using random inputs and output here, which you can replace with your own data) :
x=randn(100,16);
y=x*randi(10,16,1);
a=arx(iddata(y,x,1),[1 ones(1,16) zeros(1,16)]);
You will need the System Identification toolbox. There are several models which include a transfer function component, such as BJ, ARX, and ARMAX.
Or you can use:
a=tfest(iddata(y,x,1),0,0)
Of course you may want to change the number of poles, zeros, or the delays for each input.

Rajiv Singh
Rajiv Singh 2020 年 7 月 17 日
Try also TFEST. Although you might want to reduce the number of inputs by PCA or PLS analysis.
  1 件のコメント
Khaled Hamed
Khaled Hamed 2020 年 7 月 17 日
Excellent advice, especially if the inputs are correlated.

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeLinear Model Identification についてさらに検索

製品


リリース

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by