0

Mathworks の ParallelToolbox を使用して、テスト環境を高速化しようとしています。ただし、複数の Matlab インスタンスを並行して開始することはできません (これまで、テストを順番に実行し、それぞれが ActX サーバーを介して新しい Matlab インスタンスを開始しています)。したがって、以下のコードを実行すると

ML=ver('Matlab');
ML_Path=matlabroot;
ML_Ver=ML.Version;
parfor i = 1:3
    NewMatlab = actxserver(['matlab.application.single.',ML_Ver])
    Answer = NewMatlab.Feval('test',1);
    NewMatlab.Quit;
    NewMatlab.release;
end

Matlab インスタンスは順番に呼び出されます (テストは、いくつかの数値を合計する非常に単純なスクリプトです)。

ただし、コマンドラインから新しい Matlab を起動すると

ML=ver('Matlab');
ML_Path=matlabroot;
ML_Ver=ML.Version;
parfor i = 1:3
    dos('matlab -nodesktop -minimize -wait -batch "test"');
end

できます。これら 2 つの方法は、Matlab の起動の処理がまったく異なることがわかりますが、最初のアプローチは次のようになります。

4

1 に答える 1