ラップトップを使用して MATLAB を実行していますが、非常に便利ですが遅いです。MATLAB を実行する強力なサーバーがありますが、(コマンド ラインから Matlab を実行するのではなく) ラップトップで UI を使用してアプリケーションを実行する方が便利です。
コードがリモートサーバーで実行されるだけで(したがって、より速く)、UIを使用してWindowsでmatlabをローカルで実行できますか?
ありがとう!
ラップトップを使用して MATLAB を実行していますが、非常に便利ですが遅いです。MATLAB を実行する強力なサーバーがありますが、(コマンド ラインから Matlab を実行するのではなく) ラップトップで UI を使用してアプリケーションを実行する方が便利です。
コードがリモートサーバーで実行されるだけで(したがって、より速く)、UIを使用してWindowsでmatlabをローカルで実行できますか?
ありがとう!
いくつかの選択肢が思い浮かびますが、そのすべてがあなたの質問に正確に答えるわけではありません。ラップトップが Windows の場合、次のいずれかを実行できます。
matlabpool
ます。オプション (1) と (2) は基本的に、MATLAB UI を有線でラップトップに送信していることを意味します。オプション(3)は、最初に要求したものとほとんど同じですが、サーバー上matlabpool
で本体PARFOR
とSPMD
ブロックのみを実行します。
GUI を使用せずにサーバー上で MATLAB を起動する方法については、 http://blogs.mathworks.com/desktop/2010/02/22/launching-matlab-without-the-desktop/で詳しく説明され ています。そこでのユーザー コメント/ディスカッションも読む必要があります。
たとえば、使用できます
start matlab -nosplash -nodesktop -nojvm -minimize -r "testcommand,quit" を開始します
Java を使用しない場合は、ニーズに対して制限が厳しすぎる場合:
「-nodesktop」対「-nojvm」に関して、3 番目の (文書化されていない/サポートされていない) オプション「-noawt」があります。-noawt は Java をロードし (したがって、Java I/O、データ構造などを有効にします)、Java GUI を防止するだけです。
そこでの議論では、文書化されていないcom.mathworks.mde.desk.MLDesktop.getInstance.getMainFrame.hideを使用してコマンドライン ウィンドウを非表示にすることについても言及されていますが、そのコマンドは機能していないようです。
ところで、Windows シェル コマンドを介して MATLAB を起動する代わりに、COM オートメーション サーバーとして起動することができます。
http://www.mathworks.com/help/techdoc/matlab_external/brd0v3w.html
または、MATLAB を起動するための既存の C API 経由:
http://www.mathworks.com/help/techdoc/matlab_external/f29148.html
これを頻繁に (たとえば Web サービスから) 使用する場合は、MATLAB のインスタンスを常にメモリに保持することをお勧めします (たとえば、Windows アプリはコードを共有し、個別のデータを持っているため、これにより、再読み込みを回避することで多くの時間を節約できます)。スクリプトを実行するたびに MATLAB コードをメモリに書き込みます)。そのインスタンスは、サーバーの起動時に次のコマンドを使用してヘッドレス (UI なし) にすることもできます (たとえば、「regedit.exe」を使用して Windows レジストリの HKLM/Software/Microsoft/Windows/CurrentVersion/Run にエントリを追加することにより):
matlab を開始 -nosplash -nodesktop -nojvm -minimize