Simulink Contol Design の線形解析機能で得ら​れたボード線図の結果​をExcelなどのフ​ァイルに出力するには​どうすればよいですか​。

3 ビュー (過去 30 日間)
MathWorks Support Team
MathWorks Support Team 2013 年 10 月 25 日
回答済み: MathWorks Support Team 2013 年 10 月 25 日
Simulink Contol Design の線形解析機能で得られたボード線図の結果をExcelなどのファイルに出力するにはどうすればよいですか。

採用された回答

MathWorks Support Team
MathWorks Support Team 2013 年 10 月 18 日
次の手順によりボード線図の結果をファイルに出力することができます。
1.線形モデルオブジェクトをワークスペースにエクスポート
次の方法により線形モデルをワークスペースにエクスポートします。
1) ボード線図を表示したLTI Viewerウィンドウのファイルメニューから、「ファイル」→「エクスポート」を選択
2) モデル名を選択し、「ワークスペースにエクスポート」を実行
=> デフォルトでは、ワークスペースにモデル名と同じ変数名で線形モデルオブジェクトが保存されます。
2.ボード線図の数値データの取得
次のように出力引数をつけて関数bode を実行することで、ボード線図の数値データを得ることができます。
 
[mag,phase,w] = bode(sys); % 線形モデルがsys の場合
得られる出力は、
  mag :ゲイン
  phase :位相角
  w :周波数(rad/sec)
になります。
なお、出力するゲインや位相角のデータを増やす場合は、bode 関数の2つ目の入力引数で周波数ベクトルを指定します。
例えば下記のように、logspace 関数を使い、対数的に等価なベクトルを作成し、2つ目の入力引数で設定できます。
 
wv = logspace(-1,2,100); % 10^(-1) から 10^2 まで対数的に等価な100個のベクトルを作成
[mag,phase]=bode(sys,wv);
bode 関数の出力 mag とphase は、多入力多出力システムにおけるデータを管理するために、次のような3次元データとして出力されます。
  (出力数m)×(入力数n)×(周波数データの長さw)
もし、システムが、一入力一出力の場合は、次のように関数squeezeを用いることで、ベクトルデータに変換することができます。
 
mag = squeeze(mag);
phase = squeeze(phase);
なお、ゲインをデシベル単位に変換する場合は、次のように単位を変換します。
 
magdb = 20*log10(mag);
3. ファイルへの出力
ファイル出力関数(関数xlswrite や関数csvwrite など)を用いてデータをファイルへ出力します。例えば、次のように実行します。
 
xlswrite('sample',[w,magdb,phase]); % sample.xls として出力

その他の回答 (0 件)

カテゴリ

Help Center および File Exchange線形化の基礎 についてさらに検索

Community Treasure Hunt

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

Start Hunting!