- 締切済み
MATLABのm-fileについて
m-fileをsimulinkで利用する方法は、s-Functionブロックまたわm-fileブロックでファイル名を入力してやると理解しています。 そこで質問なのですが、 ブロックで入力データをm-file内の変数に置き換えてやることはできるのでしょうか? また、それはどのようにしたらよいのでしょうか。 知っている方おられたら教えてくださいお願いします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- rabbit_cat
- ベストアンサー率40% (829/2062)
simulinkでmatlabのプログラムを使う、一番、手軽な方法は、Embedded Matlab Functionです。 変数の初期化が必要とか、ちょっと通常のm-fileと違ってくせがあったり、また、simulinkの積分ステップ(サンプリング)のタイミングを制御するなどの細かい処理はできないのですが、基本的には、だいたい必要十分な機能を持っていると思います。 M-File S-Functionが必要な、細かい処理がしたいなら、CでS-Functionを書いたほうがいいのでは、と思うので、(少なくとも個人的には)M-File S-Functionは存在意義がかなり微妙だと思ってます。 http://dl.cybernet.co.jp/matlab/support/manual/r14/toolbox/simulink/slref/?/matlab/support/manual/r14/toolbox/simulink/slref/embeddedmatlabfunction.shtml Embedded Matlab Functionだと、ポートからデータをもらうだけでなくて、値をパラメータとしてもらう、とかも簡単にできます。 http://dl.cybernet.co.jp/matlab/support/manual/r14/toolbox/simulink/ug/?/matlab/support/manual/r14/toolbox/simulink/ug/f6-140155.shtml
お礼
丁寧な回答ありがとうございます。 Embedded Matlab Functionについてこれからサイトを利用して学習してみようと思います。ポートからデータをパラメータとして与えるとありますが、パラメータの変更がポートデータより可能になるということなのだと理解しました。これであれば、やってみたいことができそうです。 参考になりました。 ありがとうございました。