0

入力を受け取り、matlab 関数に入力する定数ブロックを使用して値に 10 を追加し、表示ブロックに出力する組み込みの matlab 関数を使用して、非常に単純なモデルをシミュレートしようとしています。

シミュレートを押すとすぐに、大量のエラーが発生します。最初に、ソルバー'variableStepDiscrete'ではなくソルバーに対する警告を示すオレンジ色のテキストの大きな段落が表示されます。'ode45'

コマンドプロンプトからエコーされる残りの行は次のとおりです。

Code Directory :
 "/Users/dazgti/Documents/MATLAB/slprj/_sfprj/embeddedFunction/_self/sfun/src"

Machine (#32): "embeddedFunction"  Target : "sfun"


Chart "MATLAB Function" (#49):

.
     "c2_embeddedFunction.h"
 "c2_embeddedFunction.c"

 "embeddedFunction_sfun.h"

 "embeddedFunction_sfun.c"

 "embeddedFunction_sfun_debug_macros.h"


Interface and Support files:

 "embeddedFunction_sfun_registry.c"

Code generation failed Attempt to execute SCRIPT union as a function:
/Users/dazgti/Documents/MATLAB/union.m

matlab ディレクトリ内に というスクリプト ファイルがありますが、union.mなぜそれが言及されているのかわかりません。

シム

function y  = fcn(u)
%#codegen

x = u + 10;

y = x;
4

1 に答える 1

1

MATLAB Function ブロックは、ブロックに入力した MATLAB コードの "C" コードを生成することによって機能します。コードを生成するプロセスで、MATLAB Function ブロック インフラストラクチャから MATLAB のユニオン関数が呼び出された可能性があります。組み込み関数の代わりにユニオン関数をオーバーライドしたため、MATLAB がエラーの原因となったスクリプトを呼び出そうとした可能性があります。関数に MATLAB 組み込み関数と同じ名前を付けることは避けたほうがよいでしょう。

于 2013-11-20T20:08:21.673 に答える