• Регистрация
ZAKOVYIKA
ZAKOVYIKA 0.00
н/д

Нестабильная работа кода из версии R2020a в версии R2021b upd.3: проблемы с сохранением/автосохранением.

02.03.2022
Добрый день, уважаемое сообщество!  Обнаружено, что код, который стабильно работал в версии R2020a, в версии R2021b зависает при сохранении/автосохранении.Подробный порядок воспроизведения данной...

Добрый день, уважаемое сообщество! 

Обнаружено, что код, который стабильно работал в версии 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.: В целом, это просто код, который использует модельные данные, на которых я тренируюсь применять всякие уравнения. 

Теги

      02.03.2022

      Комментарии