System Identification Toolbox 評価版使用中の質問
1 view (last 30 days)
Show older comments
Yoshifumi Harada
on 9 Mar 2020
Answered: Toshinobu Shintai
on 10 Mar 2020
System Identification Toolbox の評価版 のトライアルで次の質問にお答え
下さい。
1)このツールボックスで 時系列のPower Spevtrum の 尤もシンプルで確実な方法が
知りたいのですが、 とりあえず、次の方法が適当であると思いましたが、
Live Script にある、次の 1)、2)を試行し、スペクトルが得られました。
しかしながら、load iddata1 z1 等で、具体的な個別にExcel の実験データをload する
接続と調整方法がわかりません、お教えくだしましょうお願いいたします。
1) Plot Output Spectrum of Time-Series Model
>> load iddata1 z1;
>> sys = n4sid(z1,2);
>> sys = n4sid(z1,2);
>> spectrum(sys);
2) Plot Output Spectrum of Time-Series
Load iddata9
Sys =ar(z9,4,’ls’);
Spectrum(sys)
0 Comments
Accepted Answer
Toshinobu Shintai
on 10 Mar 2020
試しに作ってみました。添付ファイルをご確認ください。バージョンはR2019bです。
エクセルデータを読むコマンドとしては、readtableがお勧めです。その際、エクセルデータのフォーマットとして1行目は変数名を記載するようにしてください。
また、システム同定のためのデータとしてサンプリング周期が一定となるように計測を行ってください。
その前提でエクセルデータを用意してくだされば、添付の「analyze_excel_data_sys_ID.mlx」のように自動的に読み込んで推定、結果出力を行うことができます。
ファイルを開けない場合を考慮して以下にコードを記載します。
%% エクセルデータを読み込む
test_data = readtable("test_data.xlsx")
Ts = test_data.time(2) - test_data.time(1);
%%
% 読み込んだエクセルデータをシステム同定用のiddataに変換する。
test_iddata = iddata(test_data.out, test_data.in, Ts)
%% システム同定
% オプション指定
opt = n4sidOptions('Focus','simulation','Display','on');
%%
% システム同定
nx = 2;
sys = n4sid(test_iddata,nx,opt)
%%
spectrum(sys);
0 Comments
More Answers (0)
See Also
Categories
Find more on データの前処理 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!