MATLAB: Simulinkモデルが読み込まれているか判定する

MATLABスクリプトでSimulinkモデルを操作することは良くあると思います。

その際、

open(model)

としてモデルを開くわけですが、すでに開いている場合はモデルのウィンドウが前に出てきます。

これを抑制したいときは、このopenを迂回すれば良いのです。 なので、すでにモデルが開いているかどうかを判定して、開いていない時だけopenする必要があります。

その場合に使える関数が bdIsLoadedということを知りました。

具体的には

modelName = 'myModel';
if ~bdIsLoaded(modelName)
    open(modelName);
end

のようにすれば、所望の動作になります。

コメントを残す

メールアドレスが公開されることはありません。

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください