tfestを用いたシステム同定
15 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Tatsuya Kurokawa
il 7 Nov 2019
Commentato: Tatsuya Kurokawa
il 10 Dic 2019
tfestを用いて得られたモデル(idtf)の出力の初期値について質問があります。
伝達関数モデルのため出力の初期値は0になるはずだと考えていますが,0にはならず,初期値を持ってしまっています。
z = iddata(y1,[u1,u2,u3],Ts,'Tstart',0); %推定・検証用データ
np = [2 2 2];
nz = [1 1 1 ];
iodelay = [1 1 1 ];
sys = tfest(z,np,nz,iodelay,'Ts',Ts);
compare(z,sys)
で同定モデルの出力をグラフにしたところ同定モデル出力の初期値が0になりません。
得られたモデルに直達項はなく,入力もサンプリング時間のズレなく与えています。
このような結果はあり得るのか,正しい結果なのかがわかりません。
推定・検証用データの初期値は0です。
浅学非才で的外れな質問をしてしまっているかもしれませんが,どなたかご回答お願いします。
0 Commenti
Risposta accettata
Yoko
il 6 Dic 2019
tfest で推定する際、また compare 関数で比較する際、デフォルト設定では出力結果にフィットするように初期状態を推定するような設定になっています。
もちろん、初期状態を 0 として推定・比較が可能です。下記で設定方法を紹介します。
compare 関数で比較する場合は、例えば下記のように設定します。
opt = compareOptions
opt.InitialCondition = 'z'
compare(z,sys,opt)
また、初期状態を 0 として tfest で推定する場合は、下記のようなコマンドを実行します。
opt = tfestOptions
opt.InitialCondition = 'zero'
sys = tfest(z,np,nz,iodelay,'Ts',Ts, opt);
3 Commenti
Yoko
il 9 Dic 2019
伝達関数は初期値0ということで疑問に持たれること、もっともと思います。理由に関して具体的な情報がないため、個人的な見解となりますが、伝達関数を状態方程式に変換した場合に初期状態も設定できることから、状態方程式にした場合も含めベストフィットするものを求めるために、初期状態も推定していると思われます。
Più risposte (0)
Vedere anche
Categorie
Scopri di più su 伝達関数モデル in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!