Brian_-_Matlab_R2007_s_nulya_33 (771739), страница 40
Текст из файла (страница 40)
Водитель будет склонен к замедлению движения, если его автомобиль движется быстрее, чем автомобиль перед ним, или если его автомобиль находится близко к автомобилю впереди, и, наоборот, будет стремиться к увеличению скорости, если его автомобиль движется медленнее, чем автомобиль перед ним. Кроме того, водитель (особенно при неинтенсивном движении) может быть склонен к ускорению или замедлению, в зависимости от того, движется ли его автомобиль медленнее или быстрее, чем «разумная» скорость для данной дороги (часто, но не всегда, эта скорость равна указанной предельной скорости). Так как наша дорога является круговой, то в этом уравнении пз воспринимается как пя, где М является общим количеством автомобилей. Самой простой версией модели является версия, в которой «коэффициент чувствительности» Л является (положительной) постоянной величиной.
Тогда мы получим однородное линейное дифференциальное/разностное уравнение с постоянными коэффициентами для скоростей Ем(К). Очевидно, что есть «установившееся» решение, когда все скорости равны и постоянны (то есть, движение протекает на постоянной скорости), но нас интересует устойчивость потока или вопрос того, какой результат получится при маленьких приращениях в скоростях автомобилей. Выражение (*) будет наложением экспоненциальных решений следующей формы и„(г) = ехр(а()~„, где о и и являются (комплексными) константами и система будет неустойчива, если скорости будут неограничены, то есть если есть любые решения, где дейст вительная часть и положительна.
Используя векторную систему обозначений, мы получим и(~) = ехр(аг)г, й(г+Т) = а ехр(аТ)ехр(аг)г. Возвращаясь назад к выражению (э), мы получаем уравнение аехр(аТ)ехр(аС) =Л(Б — 1)ехр(а()к, где О О " О 1 1 О " О О О 1 " О О О О " 1 О гзз Глава 10. Прикладные задачи аекр(аТ)г =,((Я вЂ” 1)г, а (о — (1+ — ехр(аТ))1 )г = О, 1 (**) что говорит о том, что и является собственным вектором матрицы 3 с собствен- ным значением а 1+ — ехр( а Т ).
Л Так как собственные значения Я являются корнями И-ой степени из единицы, которые равномерно распределены по единичной окружности на комплексной плоскости и близко расположены друг к другу при большом значении Н, то есть возможна неустойчивость всякий раз, когда а 1+ — ехр(аТ) я имеет модуль 1 для некоторого а с положительной действительной частью, то есть, всякий раз, когда может иметь форму вжр(а9) - 1 для некоторого сТ с положительной действительной частью.
Появление неустойчивости зависит от значения произведения ЛТ. Мы можем видеть это при построении графика для значений вежр( в), где в аТ = Ту — комплексное число на линии перехода Ве в 0 и при сравнении с графикамиЛТ (е « - 1) для различныхзначений параметраЛТ. » вуюпв уз ежрвззй(1«у«(сов(у) + 1«вйп(у))) 1*у«сов (у) -у«в1п (у) » еяр1ок(-у«вйп(у), у"сов(у), [-2*р1, 2«р1))) Ьо16 ои » ЕЬева = 0:0.05«р1:2«р1) » р1ок ( (1/2) «(сов (ЕЬееа) - 1), (1/2) «вйп(ЕЬека), '- ' ) з является матрицей «сдвига», которая при умножении на вектор слева, цикличе- ски переставляет элементы вектора.
Мы можем убрать ежр(се) на каждой из сторон уравнения, чтобы получить мдт(.дв 234 » р1ок(сов(ЕЬееа) — 1, в1п(КЬееа), 'а') » р1ое(24(сов(кЬека) - 1), 2*вап(КЬеса), '--')2 » ВИ1е(з1уел(1у) апб сАкс1ев з1авзЬса 2(еа(1зсЬееа)-1) ') а» ЬО14( Окк зуе" "аеи-а- Х т(це-1) -6 -6 -4 -2 О 2 4 6 6 а Здесь маленькая сплошная окружность соответствует Л2' = 122, и мы находимся как раз на пределе устойчивости, так как эта окружность не пересекает спираль, созданную яемр(в), где в — комплексное число на линии перехода ме в з), хотя она и подходит к спирали довольно близко.
Точечные и пунктирные окружности, соответствуя )за м 1 или 2, действительно пересекают спираль, таким образом, они соответствуют неустойчивому транспортному потоку. Мы можем проверить зти теоретические предположения с помощью моделирования в программе 8ппоИОК. Мы приведем схему модели для программы 8впо!!пК и затем объясним ее. ореп вувеелз СгаШс пОзиции илий Началаиме паэиции ампмабилей 235 Глава 10. Прикладные задачи Здесь ЗпЬэуэ1ет (Подсистема) соответствует умножению на 3 - 1 и выглядит следующим образом: » ореп вувкеж 'Ьгеккзс/ЯиЬвувкеж: ссзарисев че1ссзсу 61ййегепсев' Большая часть модели похожа на пример из главы 8, за исключением того, что наша неизвестная функция (названная и), представляющая положения автомобилей, является векторнозначной, а не скалярнозначной.
Основные отличия следующие. ° Мы должны включить задержку времени реагирования, поэтому мы вставили блок Тгалэрогг Ое)ау (Задержка транспорта) из библиотеки блоков Солбпцоцэ (Длительные) с параметром Т!те г!е)ау (Задержка времени) Т, установленным равным 0.5. ° Параметр Х отражается как значение увеличения в Зеле)1)ч)1у рагаше1ег (Пара- метр чувствительности) блока Оа)л (Увеличение) вверху справа. ° Построение положений автомобилей не будет очень полезно, поскольку важно только их относительное расположение.
Так, перед выводом положений автомобилей в блок Зсоре (Индикатор), помеченный как йе)а1)че саг роэ!1)олэ (Относительные положения автомобилей), мы вычли постоянную линейную функцию (соответствующую постоянному движению автомобилей на средней скорости), созданную блоком йатр (Пилообразный сигнал) из библиотеки блоков Зоцгсеэ (Источники). ° Мы использовали параметры в блоках )л1ейга1ог (Интегратор), чтобы ввести начальные условия, вместо того, чтобы встроить их в блок. Это делает логическую структуру немного яснее. ° Мы использовали возможность программы 3!пшблк ЗцЬэуэ1ет (Подсистема). Если вы с помощью мыши добавите группу блоков и затем в программе З)пв!)лК выберете пункт Сгеа1е эцЬэуэ1еш (Создать подсистему) из меню модели Ес)! (Редактирование), то эта группа блоков будет сохранена как подсистема. Это полезно, если ваша модель довольна большая или если есть некоторая комбинация блоков, которую вы планируете использовать несколько раз, Наша подсистема отправляет вектор о в (3 - Х)с ~ Зп - и.
Блок Зцш (Суммирование) (с одним из знаков, измененным на минус) используется для векторного вычитания. Чтобы смоделировать действие матрицы сдвига 3, мы использовали блоки Оетцх (Разделитель) и Мцх (Объединитель) из библиотеки блоков З)йпа! Йои1)лд (Разводка сигналов).
Блок Оетих (Разделитель) с параметром г)итЬег оФ оц1рц1э (Число выходных данных), установленный 236 равным (4, 1], разделяет пятимерный вектор па пару, состоящую из четырехме(нного вектора и скадара (соответствукпцего последнему автомобиля>). Затем мы изменяем их порядок и соединяем их вместе г помощью блока Мох (Объединитель), для которого параметр (хотЬвг о( !при]в (Число входных данных) установлен равным (1, 4]. Глава 10. Прикладные задачи 239 Идея здесь заключается в том, что мы взяли круговую дорогу, чтобы радиус был равен 1 (в подходящих единицах) так, чтобы команда р1ов (ооа (сЬева), ехп (вЬееа), 'и') строила красную окружность (представляющую дорогу) в каждом кадре фильма. На линии этой окружности автомобили показаны с помощью небольших перемещающихся окружностей.
График, показанный выше, является последним кадром фильма. Вы можете просмотреть весь фильм, если введете команду почав (И) или зпозгзезгхеи (И) . Пробуйте сделать это! Мы должны отметить здесь, что необходимо рассмотреть один тонкий вопрос, чтобы создать правдоподобный фильм. А именно, нам необходимо, чтобы значения в были распределены равномерно. Иначе будет казаться, что автомобили перемещаются быстрее при больших шагах времени, и наоборот, движение автомобилей будет выглядеть медленнее при маленьких шагах времени.
В режиме работы по умолчанию программа 8!пш((пК использует функцию решения диффе. ренциальных уравнений переменного шага, основанную на команде среды МАТ!.АВ ог(е40, таким образом, элементы в окажутся размещены неравномерно. Мы исправили этот недостаток. Для этого мы открыли диалог Сопбйцгабоп Рагагпе1егв (Параметры настройки), выбрав этот пункт меню в окне модели 8)шц!а1(оп + Сопбйцгабоп Рагагпе1егв... (Моделирование + Параметры настройки), и выбрали пункт Оа1а !троФЕхрог( (Ввод/Вывод данных). В появившемся диалоге мы измо нили значение параметра Ои1рц1 орбопв (Настройки вывода) на Ргодпее врео(бед оц1рц1 оп(у (Создавать только указанные выходные данные) с настройкой Оц1рц1 йглев (Времена выходных данных), равной (О: О. 5 г 201.
Тогда модель будет выводить положения автомобилей только во времена, которые кратны 0.5, и представленная выше программа для среды МАТ(АВ создаст фильм, состоящий из 41 кадра. Практическое занятие С. Развитие навыков работы с программой МАП АВ Задачи 5, 7, 14 и 15 несколько сложнее, чем другие. Задачи 8 и 9 требуют или использования функции в)т!р из программы Япта!1шх или же применения набора инструментов Орби)кабоп (Оптимизация). Задача 11 а) требует использование набора инструментов ЗувЬойс МаФ (Символьная математика), для других задач этот набор не нужен.