• Регистрация
Igorrr
Igorrr0.00
н/д
  • Написать
  • Подписаться

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

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

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

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

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

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

Теги

      07.06.2021

      Ответы

      • Marat
        Marat+54.00
        7.06.2021 23:48

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

        • Igorrr
          Igorrr0.00
          8.06.2021 07: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+54.00
            8.06.2021 21: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