こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

MATLABのm-fileについて

m-fileをsimulinkで利用する方法は、s-Functionブロックまたわm-fileブロックでファイル名を入力してやると理解しています。
そこで質問なのですが、
ブロックで入力データをm-file内の変数に置き換えてやることはできるのでしょうか?
また、それはどのようにしたらよいのでしょうか。
知っている方おられたら教えてくださいお願いします。

投稿日時 - 2007-07-26 15:41:17

QNo.3201338

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(1)

ANo.1

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

投稿日時 - 2007-07-26 22:09:43

お礼

丁寧な回答ありがとうございます。
Embedded Matlab Functionについてこれからサイトを利用して学習してみようと思います。ポートからデータをパラメータとして与えるとありますが、パラメータの変更がポートデータより可能になるということなのだと理解しました。これであれば、やってみたいことができそうです。
参考になりました。
ありがとうございました。

投稿日時 - 2007-07-27 17:35:44