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

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

その際、

open(model)

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

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

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

具体的には

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

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