
Simulinkで得たscopeのデータをExcelに書き込む方法は?
94 ビュー (過去 30 日間)
古いコメントを表示
Simulinkを使って、シミュレーションを行い、波形をscopeで表示しました。しかし、scopeの波形は細かく見れないので、シミュレーションのデータをexcelで読み込み、それをもとにexcelで波形を作ることにしました。ところが、Simulinkのデータをexcelに読み込もうとしましたが、excelに入れる方法が分かりません。simulinkのデータをexcelで読み込み、グラフを作成するにはどのような方法で行えばよいですか?
0 件のコメント
採用された回答
Aoi Midori
2018 年 12 月 19 日
Simulink上で"To Workspace"に枝分かれさせてみてはいかがでしょうか?

そうすることで、(デフォルトでは)MATLABのワークスペース上に"simout"という変数ができ、その中に時間情報やデータなどが入っています。excelに波形を出力される際は、データだけでよければ、MATLABのコマンドウィンドウ上で下記の通り入力して頂けたらと思います。
xlswrite("file.xlsx", simout.Data);
もちろん、excelに出力しなくても、MATLAB上でのグラフ作成も可能です。
plot(simout);
0 件のコメント
その他の回答 (6 件)
mw51
2018 年 12 月 19 日
3 件のコメント
Aoi Midori
2018 年 12 月 19 日
mw51さん、
写真の添付ありがとうございます。接続は問題なさそうですね。また、出力される変数名もsimoutという名前で良さそうです。一点だけ気になったのが、
simout.Data
こちら、上記の通り、大文字Dから書いて頂けますでしょうか?
mw51
2018 年 12 月 20 日
編集済み: mw51
2018 年 12 月 20 日
1 件のコメント
Aoi Midori
2018 年 12 月 20 日
編集済み: Aoi Midori
2018 年 12 月 20 日
mw51さん、
a = sim('control1','SimulationMode','normal');
b = a.get('simout')
既に上記のように書かれているのであれば、
xlswrite("file.xlsx", b.Data);
こちらのソースでいかがでしょうか?
なお、
sim('control1')
だとsimout変数が見えましたが、mw51さんのコードだと確かに同じエラーになりました。
mw51
2018 年 12 月 20 日
編集済み: mw51
2018 年 12 月 20 日
1 件のコメント
Aoi Midori
2018 年 12 月 20 日
xlswriteは、もともとMATLABに備わっている関数なので、定義をする必要はありません。
help xlswrite とMATLABのコマンドウィンドウに入力すると何が出てきますか?
上で書いて頂いているSetParameter関数の中身は、まだsimout.dataのままになっていますが、b.Dataに書き直してエラーになられたということですよね?
SetParameter()実行後に、MATLABのコマンドウィンドウに表示される内容をコピペ頂くこと可能でしょうか?
mw51
2018 年 12 月 20 日
編集済み: mw51
2018 年 12 月 20 日
1 件のコメント
Aoi Midori
2018 年 12 月 20 日
粗いデバッグですみませんが、SetParameter()中の下記の1行、最後尾の";"を消して実行した際に、MATLABのコマンドウィンドウには何が表示されるでしょうか?
b = a.get('simout')
参考
製品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!