長時間の FOR ループを途中で停止し​、再スタートするには​どのようにすればよい​ですか?

13 ビュー (過去 30 日間)
MathWorks Support Team
MathWorks Support Team 2013 年 2 月 6 日
MATLAB のプログラムにおいて、長時間の FOR ループを途中で停止し、再スタートする方法を教えてください。たとえば、以下のようなプログラムの場合について教えてください。
<Beginning Code>
for x = 1:1000000
<Iterative Code>
end
<Final Code>
FOR 文内の処理を繰り返し実行中に一時停止し、別の処理を行ってから、続きを再スタートする場合についてです。

採用された回答

MathWorks Support Team
MathWorks Support Team 2013 年 2 月 6 日
以下のような手順で行います。プログラムは以下の通りです。
<Beginning Code>
for x = 1:1000000
<Iterative Code>
end
<Final Code>
FOR文実行中に Ctrl + C により、一旦プログラムを終了させます。もし、CPU の負荷が高く、Ctrl + C が効かない場合は、FOR 文内に DRAWNOW コマンドを入れます。これにより、FOR 文実行中にも Ctrl + C を認識しやすくなります。
FOR ループが停止したら、以下のコマンドを実行します。
save TempData
これにより、停止した時点の状態の変数が MAT-ファイル に保存されます。この状態でその他の処理を行ったり、MATLAB を一旦終了することも可能です。
再開するためには、以下のように MAT-ファイル をロードし、FOR 文の開始位置を N に合わせてからてから FOR 文を再開します。
load TempData
N = x;
for x = N:1000000
<Iterative Code>
end
<Final Code>

その他の回答 (0 件)

カテゴリ

Help Center および File Exchangeコマンドの入力 についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!