Я работаю над адаптивным круиз-контролем (ACC) в приложениях для автоматизированного вождения и пытаюсь оценить алгоритм в различных сценариях.
Есть 2 переменные, global variables
и bus variables
, оба они появляются в base workspace
до того, как я запустил симуляцию, и у меня есть блок ScenarioReader
в моей модели, который читает файл bus variables
из .mat
в моем рабочем каталоге, и я легко генерирую глобальные переменныев Matlab и измените его, когда я хочу, и впервые запустив модель, моя модель читает файл bus
, который является сценарием в моем working directory
и генерирует global variables
и симуляциюработает действительно хорошо.
Моя проблема возникает, когда я хочу обновить файл bus
, который имеет траектории автомобилей во втором запуске, он не обновляется, но глобальная переменная обновляется врабочей области, и когда я моделирую модель во второй раз, я получаю те же траектории для автомобилей, но глобальные переменные меняются, поэтому я получаю неправильные результаты.
Я имею в виду подglobal variables
- это переменные, используемые в других блоках модели.
Я искал эту проблему раньше, и я понял, что при первом запуске simulink компилирует сценарий и затем помещает его в память каккеш также генерирует файлы кеша в рабочем каталоге, чтобы ускорить симуляцию в следующих запусках.
Я решил это, закрыв matlab и изменив сценарий и сгенерировав глобальные переменные иЗапустите симуляцию в первый раз, и она выйдет из строя, но это решение действительно плохо, и мне нужно больше автоматического решения, а также, если я хочу обновить его снова, мне нужно снова закрыть Matlab.
Я пытался использовать clear
и pack
, но это не решает проблему, поэтому, пожалуйста, вы можете мне помочь?