Windows では、Matlab で次のコマンドを使用して、バックグラウンドで実行される MATLAB の新しいインスタンスを開始できます (つまり、MATLAB の最初のバージョンでコマンドを実行し続けることができます)。
システム('matlab &')
OSX での類似の呼び出し、
システム ([matlabroot '/bin/matlab &'])
ただし、スプラッシュ画像が表示され、その後は何も表示されません。アンパサンドを外すと、期待どおりに新しいインスタンスが開きます。残念ながら、これはうまくいきません。2 番目のインスタンスが実行されている間に、MATLAB の最初のインスタンスを制御できるようにする必要があります。
オペレーティング システム間にこの不一致が存在する理由を知っている人はいますか? ちなみに、OSX 10.7、Windows 7 64 ビット、Mac では MATLAB R2012a、PC では R2012b を使用しています。
背景として、input() 関数を広範囲に使用する対話型コマンド ライン インターフェイス用の汎用テスターを作成しようとしています。
編集:コマンドについて言及する必要がありました
/Applications/MATLAB_R2012a.app/bin/matlab &
OSX端末から期待どおりに動作します。つまり、MATLAB の新しいインスタンスが開き、ターミナルに新しいコマンドを入力できます。したがって、この問題は OSX matlab の system() 関数に固有のようです。
また、そのコマンドを bash スクリプトに追加して、matlab からスクリプトを呼び出してみましたが、コマンドを system() 関数に入れるのと同じ問題がありました。
ありがとう