Нестабильная работа кода из версии R2020a в версии R2021b upd.3: проблемы с сохранением/автосохранением.
Добрый день, уважаемое сообщество!
Обнаружено, что код, который стабильно работал в версии R2020a, в версии R2021b зависает при сохранении/автосохранении.
Подробный порядок воспроизведения данной ошибки:
0. Иметь пакет curve fitting tool.
1. Загрузить необходимый архив данных matlab.mat .
2. Открыть скрипт Model_check_gs010_bs050_rcrs100_rarcinf_core_0400mpc3_df.m .
3. Последовательно запускать командой ctrl+enter следующие участки скрипта:
1) Первый кусочек, начинающийся на: "%%
%gsAAA_bsBBB_rcrsCCC_rarcDDD_EEEE_FFFFmpc3_df.dat,
% where capital letters encode intrinsic properties of the model:"
2) Второй кусочек, начинающийся на: "%% Кусочек с распределением звёзд"
3) Третий кусочек, начинающийся на: "%% Дополнительное фитирование, для точного определения коэффициента"
4) Пятый кусочек, начинающийся на: "%% Перевод скоростей в сферу (ОЧЕНЬ ВАЖНЫЙ КУСОК!)"
5) Седьмой кусочек, начинающийся на: "%% Вычисление профилей дисперсии"
6) Восьмой кусочек, начинающийся на: "%% Вычисление профилей анизотропии (требует запуска предыдущих кусков)"
7) Кусочек, стоящий на 2585-ой строке, начинающийся на: "%% Тут сопоставляем теоретическое j(r) и по данным"
8) Кусочек, стоящий на 2643-ей строке, начинающийся на: "%% Этап 2.1 - создание экспериментальных данных по I(R)"
9) Кусочек, стоящий на 2735-ой строке, начинающийся на: "%% Этап 2.2 - пересчёт экспериментальной I(R) в j(r) по формуле преобразования по Абелю"
4. Внести какие-либо правки в последний кусоек кода. Например, добавить команду disp('aaaa'), связку tic - toc, какой-либо элементарный вывод, типа: a = 1 .
5. Запустить комбинацией ctrl+enter / сохранить комбинацией ctrl+s .
В результате матлаб никак не отображает, что он в процессе работы/сохранения. При этом, если что-то ввести в command window, то сразу появится метка "Busy", но выполнение команды всё равно будет длиться существенно дольше, чем потом выведет связка tic - toc. При этом, если запускать код с уже сохранёнными правками, то никакого зависания не будет.
Если же провести пункты 1-5 на версии R2020a, то такого зависания наблюдаться не будет. При этом, если внести изменения в версии R2020a, а потом запустить в версии R2021b upd3, то никаких проблем не возникает.
То есть проблема явно в способности R2021b сохранять код.
Для того, чтобы было лучше понятно, с какой проблемой я столкнулся, я создал два видео, где записан экран и где записаны зажимаемые комбинации клавиш. Видео доступны по ссылкам:
https://drive.google.com/file/d/1TVPZHo61ShjhPosFEMSguoeXnXBPJ28w/view?usp=sharing
https://drive.google.com/file/d/15cnHepFvqwbH2ba54vGL7GkHgR7OfTQY/view?usp=sharing
Возможно, кто-то сталкивался с подобной ситуацией?
Замечание: в архиве в папке Functions содержатся функции, часть из которых используется в коде. Я плохо помню, какие именно могут понадобиться, поэтому прикрепляю все.
P.S.: В целом, это просто код, который использует модельные данные, на которых я тренируюсь применять всякие уравнения.
Комментарии