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

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

 채택된 답변

Etsuo Maeda
Etsuo Maeda 2019년 9월 9일

1 개 추천

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

댓글 수: 6

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

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 コード生成에 대해 자세히 알아보기

질문:

2019년 9월 5일

댓글:

2019년 9월 10일

Community Treasure Hunt

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

Start Hunting!