• Регистрация
Igorrr
Igorrr +1.00
н/д

сохранение и запуск промежуточных результатов matlab

07.06.2021
Имеется итерационный алгоритм. , m-файл в matlab. На конкретной итерации надо остановиться и запомнить состояние алгоритма.  При последующем включении компьютера надо запустить итерационный алгор...

Имеется итерационный алгоритм. , m-файл в matlab.

На конкретной итерации надо остановиться и запомнить состояние алгоритма. 

При последующем включении компьютера надо запустить итерационный алгоритм с запомненого промежуточного состояния.

Как запомнить и востановить данные workspase в точке  останова посредине итерационого процесса  командами save и load  я знаю, но  не получается  с этой же точки продолжить рассчет.

Продолжать итерации  введя  "начальные условия " не подходит, так как много массивов учитывающих предисторию.

Теги

      07.06.2021

      Комментарии

      • Marat
        Marat+208.00
        7.06.2021 20:48

        Можно конкретику? Приложить сам файл?

        • Igorrr
          Igorrr+1.00
          8.06.2021 04:05

          Упрощу постановку задачи. 

          for j=1:10

          a=1

          b=1:j

                   if j==5

                      pause

                  else, end

          end

          P.S. 

          При j==5 итерации приостановились. Мне надо запомнить в єтом состоянии алгоритм.

          Затем закрыть матлаб, выключить компьютер.

          Затем включить компьтер, матлаб. Далее продолжить счет с j=5

           

          • Marat
            Marat+208.00
            8.06.2021 18:25

            Как самый простой вариант - сохранять какую-то копию индекса цикла в отдельную переменную. Но можно и поизящнее, как мне кажется.

            if exist('matfile.mat', 'file')
              load matfile;
            else
              loop_idx = 1;
            end
            
            for j = loop_idx:10
            
            a=1
            
            b=1:j
            
            loop_idx = loop_idx + 1;
            
                     if j == 5
                        save matfile loop_idx
                        pause         
                     end       
            
            end