2

私のプログラムは長い間実行されています。私は昨日それを実行し始めました。タスクバーでコマンドウィンドウとエディターをクリックしても表示されなくなりました。タスクマネージャの「切り替え」ボタンも試してみました。

プログラムの実行中は、コマンドウィンドウにいくつかのメッセージが表示されます。これにより、プログラムの現在のステップが決まります。

プログラムが正しく実行されているかどうかを確認するにはどうすればよいですか?または、無限ループに閉じ込められているのか、MATLABがクラッシュしたのかを確認するにはどうすればよいですか。

両方のCPUコアがビジーです。CPU使用率は50〜70%であり、MATLABは1,658,044Kのメモリを占有します。

4

2 に答える 2

4

Matlab は、開いたまま長時間実行するとクラッシュする傾向があります。それは私が覚えているよりも何度も私に起こりました。1 日経っても Matlab が応答しない場合、コードを終了させることに成功したことはめったにありません。おそらく、プログラムを再起動する必要があります。

実行時間の長いコードを扱う場合、いくつかのことをお勧めします。

まず、中間結果を保存する方法を見つけます。私の作業は通常、反復数値アルゴリズムを使用するため、アルゴリズムを数回反復した後、ワークスペースを保存します。のような単純なものtemp.mat。そうすれば、Matlab がクラッシュした場合でも、中間結果から作業を再開できます。

次に、Matlab GUI が必要ない場合は使用しないでください。あなたの場合、DOS プロンプトを開き、デスクトップなしで Matlab を実行します。そのためのコマンドは次のようになります。

start matlab -nosplash -nodesktop -minimize -r matlab_filename_here -logfile c:\temp\logfile

私は Windows ユーザーではありません。このコマンドは GUI を起動する可能性がありますが、非表示のままにします。*NIX システムでは起動しません。これは、実行時間の長いプログラムの評価を成功させるのに確実に役立ちます。試してみて、それが役立つかどうかを確認してください。

頑張ってください!

于 2012-05-16T22:39:49.087 に答える
2

プログラムがクラッシュしたかどうかを知る最善の方法は、Windows の「リソース モニター」を開くことです。実行中の matlab タスクのディスクとメモリへのアクセスが時間的に変化するかどうかを確認します。

于 2012-05-16T21:09:52.850 に答える