Effacer les filtres
Effacer les filtres

MEXファイルで初期​化ルーチンを実行する​には、どのようにCコ​ードを書けば良いです​か?

2 vues (au cours des 30 derniers jours)
Shoumei
Shoumei le 21 Mar 2017
Commenté : Shoumei le 21 Mar 2017
既存のCコードがあり、MATLAB、Simulink両方で使いたいので、MEX化を行って使用しようと思っています。 SimulinkではMEXファイルをSystem Objectのラッパーからコールして使用します。 Cコードアルゴリズムには状態量があるので、Simulinkで繰り返しコールして実行する場合には、状態を初期化する必要があります。
  1. Simulinkで最初のシミュレーションステップで呼ばれるときは初期化+メインルーチンが実行される
  2. 次回以降のステップではメインルーチンのみが実行される
どのようにMEXファイルを書けばよいか指南して頂けると助かります。

Réponse acceptée

michio
michio le 21 Mar 2017
Modifié(e) : michio le 21 Mar 2017
  1 commentaire
Shoumei
Shoumei le 21 Mar 2017
ミチオさん、ありがとうございました。 サンプルコードと同じようにしたらできました。
あと、引数で指定する方法でも行けました。(以下は一部抜粋)
exflag = mxGetScalar(prhs[1]);
if (exflag == 0){
init_fcn();
// mexPrintf("init %f \n", exflag);
} else {
main_fcn(indata, outdata);
// mexPrintf("main %f \n", exflag);
return;
}

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Deep Learning Toolbox dans Help Center et File Exchange

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by