Simulinkで得たscopeのデータをExcelに書き込む方法は?
Show older comments
Simulinkを使って、シミュレーションを行い、波形をscopeで表示しました。しかし、scopeの波形は細かく見れないので、シミュレーションのデータをexcelで読み込み、それをもとにexcelで波形を作ることにしました。ところが、Simulinkのデータをexcelに読み込もうとしましたが、excelに入れる方法が分かりません。simulinkのデータをexcelで読み込み、グラフを作成するにはどのような方法で行えばよいですか?
Accepted Answer
More Answers (6)
mw51
on 19 Dec 2018
0 votes
3 Comments
Aoi Midori
on 19 Dec 2018
Simulink上で実行した後、MATLABのワークスペースに新しい変数はできましたか?変数名は、デフォルトではsimoutですが、設定を変えれば違う名前になります。もしよくわからなければ、スクリーンショットを添付頂ければ確認いたします。
Aoi Midori
on 19 Dec 2018
mw51さん、
写真の添付ありがとうございます。接続は問題なさそうですね。また、出力される変数名もsimoutという名前で良さそうです。一点だけ気になったのが、
simout.Data
こちら、上記の通り、大文字Dから書いて頂けますでしょうか?
1 Comment
Aoi Midori
on 20 Dec 2018
Edited: Aoi Midori
on 20 Dec 2018
mw51さん、
a = sim('control1','SimulationMode','normal');
b = a.get('simout')
既に上記のように書かれているのであれば、
xlswrite("file.xlsx", b.Data);
こちらのソースでいかがでしょうか?
なお、
sim('control1')
だとsimout変数が見えましたが、mw51さんのコードだと確かに同じエラーになりました。
1 Comment
Aoi Midori
on 20 Dec 2018
xlswriteは、もともとMATLABに備わっている関数なので、定義をする必要はありません。
help xlswrite とMATLABのコマンドウィンドウに入力すると何が出てきますか?
上で書いて頂いているSetParameter関数の中身は、まだsimout.dataのままになっていますが、b.Dataに書き直してエラーになられたということですよね?
SetParameter()実行後に、MATLABのコマンドウィンドウに表示される内容をコピペ頂くこと可能でしょうか?
1 Comment
Aoi Midori
on 20 Dec 2018
粗いデバッグですみませんが、SetParameter()中の下記の1行、最後尾の";"を消して実行した際に、MATLABのコマンドウィンドウには何が表示されるでしょうか?
b = a.get('simout')
mw51
on 20 Dec 2018
0 votes
1 Comment
Aoi Midori
on 20 Dec 2018
ありがとうございます。では下記でどうでしょう?
xlswrite("control1.xlsx", b);
Categories
Find more on 信号入力と信号出力 in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
