因为实验室断电问题,或者其他原因,程序运行会被打断。这里提供一个matlab可以在中断后,重启,利用之前已有的结果继续优化过程
% 设置存储变量的文件名
filename = 'q_table.mat';
if exist(filename,'file')
load(filename);
else
% 这里是原先程序初始化的语句
end
% 这里是另外一些初始化的语句、但是不需要储存的那些
%%
这里是正常迭代的语句
比如for循环
while循环
%%
% 清除不需要储存的变量
clear fig A
close all
% 保存变量到文件
save(filename);
这个方法需要高版本matlab的暂停功能、就是能在运行中停下程序
最好在循环迭代体中加一句
nothing=1;
这样可以在点击暂停之后在这里设置断点、或者直接在运行中在这里设置断点(是的、高版本提供了这个功能,开始运行时没有断点、运行中点击右侧添加断点)不用担心循环体运行了一半就停下
程序停下后就可以使用最后的cell保存变量
也可以将循环次数设置小一些、等到程序完成时观察迭代状况、再决定是否继续迭代
这是采取这种方式每天运行继续的小球不落地程序的结果
当然本身计划好分多次迭代优化也是没问题的、大致估算比如1000次迭代的时间、每天运行、到点保存关机、第二天继续