【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言

matlabのエラーについてお聞きしたいのですが・・・ あるシミュレーションを実行しましたら以下のようなエラーが出ました。

MPC block (mask) 'MPC Controller'の'InitFcn'コールバックの実行中にエラーが発生しました。 エラー ==> @mpc\private\mpc_estimator の 52 行目
Problems encountered when designing the overall state observer (Kalman filter).

上の文では「コールバックの実行中」というのが意味がわかりません。コールバックとぐぐってみても電話回線の話などが出てきて、肝心な制御の話はほとんどありませんでした。

下の英語の文は訳せはするんですが、何を言っているのかは意味不明です・・・。

この二文はいったいどういったときに出るエラーなのか。あとmatlabでいうコールバックとはいったいどういったことなのか。もしご存知ある方がいましたら、是非ご指導願います。よろしくお願いします。

A 回答 (1件)

simulinkの各ブロックは、モデルをロードしたとき、シミュレーションを開始したとき、停止したとき、などのタイミングで任意の処理をさせることが可能です。

例えば、シミュレーション開始時に、自動的に初期値を設定させるなどといったことができます。この、決まったタイミングで呼ばれる処理のことをコールバックといいます。
ちなみに、コールバックというのは、matlabだけではなくて、プログラミングの世界では一般的な用語です。「イベントドリブン コールバック」などの組み合わせで検索するといいかもしれません。

それで、InitFcnというのは、シミュレーションの実行を開始する(正確には初期化する)タイミングで呼ばれるコールバックルーチンです。ブロックを右クリックしてCallbackとかいうのを選ぶと、その中にInitFcnていうタブがあって、そこに処理内容が書いてあると思います。(ここの操作はうろ覚えなので微妙に違うかも)

で、エラーの内容なんですが、そのInitFcnコールバックルーチンの中でエラーが起こったってことでしょうけど、ソースがわからないので、これ以上はわかりません。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報