MATLABでcコードを読み込む方法

Simulinkモデルをcコードに変換してMATLABで読み込まして処理をすることは可能でしょうか?

 Réponse acceptée

Etsuo Maeda
Etsuo Maeda le 9 Sep 2019

1 vote

  1. Simulink CoderでCコード生成
  2. MinGWなどでdll作成
  3. MATLABからloadlibrary
という手順はどうでしょうか。
loadlibrary関数はMATLAB Compiler SDKで作ったDLLは読み込めないので注意が必要です。

6 commentaires

qrqr
qrqr le 9 Sep 2019
ありがとうございます。
Cは初心者なのでMinGWなど難しいところがあります。
素朴な疑問なのですが、なぜsimulinkモデルをmファイルに変換できないのでしょうか?
Etsuo Maeda
Etsuo Maeda le 9 Sep 2019
Simulink素人なので適切な回答かどうか分かりませんが、動作を見る限り内部的にCコードが生成されて、コンパイルの後、Simulinkモデルが動きだします。
つまり、mとは別個の体系で動作しているために、mファイルへの直接書き出しができないのだと思われます。
もし、mファイルから直接Simulinkモデルを実行したいということであれば、sim関数の方が使いやすいと思います。
第二引数以降を使えばパラメータも与えることができます。
simOut = sim('model', 'ParameterName1',Value1,'ParameterName2', Value2...);
HTH
qrqr
qrqr le 9 Sep 2019
ありがとうございます。
ライセンスの関係でsimulinkモデルをMATLABで処理できないかと模索していました。
qrqr
qrqr le 9 Sep 2019
MEXでやろうと思い、simulink Coderを使ってcコード化して
mex test.c
としたのですが、
rt_logging.h というのが無いとエラーになります。
Etsuo Maeda
Etsuo Maeda le 10 Sep 2019
C:\PROGRA~1\MATLAB\R2014b\rtw\c\src\rt_logging.h(17) : fatal error C1083: Cannot open include file: 'builtin_typeid_types.h': No such file or directory "
というようなエラーメッセージが表示されているのであれば、
にあるJon Boernerのコメントで解決できるかと思われます。
qrqr
qrqr le 10 Sep 2019
コメントURL内に
「MATファイルのログを有効にする]オプションをチェックするのが最善の修正方法です。」と書いてありましたが、
MATファイルのログにチェックが入っている状態でもrt_logging.hが生成されませんでした。

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur コード生成 dans Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!