1

モデルで PreLoadFcn を使用すると、おそらく非常に単純な問題が発生します。

シミュレーションを開始する前にモデルに m ファイルをロードさせたい (これが preloadfcn の目的だと思います)。

だから私はファイルに追加しました - >モデルプロパティ - >コールバック - > PreLoadFcn 行

run('./init.m')

このファイルには、いくつかの変数が設定されています。私のモデルはこれらの変数を参照し、「シミュレーションの開始」をクリックしただけでは見つからないという例外をスローします。これは、コールバックが本来すべきことを行っていないことを示しています...

ファイル 'init.m' は、シミュレーション ファイルと同じディレクトリにあります。

ディレクトリを matlab PATH に追加しようとしても、何の効果もありませんでした。

ポエスクロンに挨拶

4

3 に答える 3

1

モデルを実行する前に、MATLAB コマンド プロンプトで "init" を実行するだけで機能しますか? もしそうなら、おそらくコールバックを単純に置き換える必要があります

init

これにより、スクリプト「init.m」が実行されます。

于 2011-02-09T11:05:23.020 に答える
1

コールバック トレースを使用して、モデルの読み込みとシミュレーションのプロセス中に呼び出されるコールバックを確認できます。詳細については、コールバックに関するドキュメントを参照してください。

また、init はスクリプトですか、それとも関数ですか? これはスクリプトであるか、evalin('base') を使用して変数をベース ワークスペースに配置する必要があります。init.m にブレークポイントを設定して、ヒットしないようにすることもできます。

于 2011-02-10T01:29:02.827 に答える
0

私も同じ問題を抱えていました。今、それは解決されました。解決策は非常に簡単でした。PreLoadFcn* で関数を定義した後は、simulink ファイルを保存して再起動するだけです。きっとうまくいくでしょう。

こんにちは、ハリー

于 2015-04-17T08:55:46.983 に答える