私はMatlab 2014bを使用しています。それは古いバージョンの問題かどうかは分かりませんが、新しい問題だと思います。Matlab-Simulink 2014 'load'エラー:MATLAB式 'load'のフィールド数が正しくありません。
私のmain関数を.mファイルとして使いたいので、ここでデータを設定したいと思います。私はSimulink Model - User Defined Functionsでこのデータを使用します。私は、次のようなデータを作成した後、Mファイルに「保存」と呼ぶ:(「engineProperties.mat」)保存
それは私の現在のフォルダ内.MATファイルを作成します。
負荷(「engineProperties.mat」)
それは通常、正常に動作します:そして、私は私がでほしいどこでもそれを使用します。
を:;:「9 ブロックcalculateEngineLoad(#30) を見つけ実行しながら8期待されるアクション中の状態MATLAB表現 『ロード』フィールドの正しい数を持っていない:」しかし、時々私は次のエラーを取得します
エラーメッセージが示すように、データを追加または削除するとエラーが発生します。私は新しい名前付きの.matファイルを作成することでそれを解決しますが、.matファイルをたくさん作成し、時には正しいファイルを覚えていないため、実行できません。
または、データのサイズを再調整するためのダミー変数を作成して解決します。難しいことではありません。
通常、現在のフォルダから.matファイルを削除すると機能しません。しかし、時には、例えば、私はコンピュータを再起動すると動作します!
私はそれは簡単な問題だと思っていますが、ウェブで同様のエラーが見つかりませんでした。助けてください:)
私が理解しているように、Simulink Library Browserに示されている「Interpreted MATLAB function」を使用することをお勧めします。しかし、私のユーザー定義関数は何とか長い、約20行です。これは単なる算術演算ではありません。あなたは 'ブロックパラメータを使用する'ことを意味することはできますか?私はあなたが私のソリューションに非常に近いと思います – daltooon
この方法でパラメータを追加できます。http://de.mathworks.com/help/simulink/ug/parameter-arguments-in-matlab-function-block-functions.html – Daniel
私はそれに続く週にそれに取り組む。それから私はそれが私に大丈夫かどうかを知らせます。前もってありがとう – daltooon