2016-04-22 2 views
0

私は自動的にパラメータを設定し、有限要素メソッドコードを起動するためにmatlabを使用しています。時には、FEMアプリケーションがそのタスクを完了することができない、とコマンドでエラーメッセージを送信しますMatlabの "system"コマンドがスタックされました

[status,cmdout]=system(['FEMApp ' current_folder '\MyFile']); 

:私は、FEMコードを読み取ることを、パラメータのテキストファイルを作成し、その後でFEMコードを呼び出します窓。今までは、cmdoutでエラーメッセージを検出し、次のパラメータセットに進むことができました。

知られていない理由で、システムコマンドの動作が異なるため、永久に見えてしまいます(Matlabは常に「ビジー」モードです)。私はそれを気づかずに何かを変えましたか?

[status,cmdout]=system(['FEMApp ' current_folder '\MyFile &']); 
pause(45) 
system(['taskkill' 'FEMProcessus') 

それが正常に動作しますが、タスクが完了した場合でも、MATLABは、常に45 secondesをお待ちしておりますので、それは、多くの(〜X5)私の計算を遅く:今、私は以下のソリューションを使用していますについては

はるかに短い時間で。

誰でもMatlabの動作の変化を説明できますか? 誰も私より賢明な仕事をしていますか?

答えて

0

Matlabはコンパイラではなくインタープリタであることに注意してください。これは、開発者から隠された多くの内部操作を実行することを意味し、その中には多くのCPUリソースが必要なものもあります。有限要素アプリケーションは、CPUとRAMのリソースを使用するという点で数値的に非常に強いです。 FEMプログラミングにMatlabを使用することは良い考えではないかもしれません。メモリ割り当てや算術演算を完全に制御できるCやFortranなどの数値指向言語を使用してみてください。

関連する問題