Mоделирование процессов и систем в Matlab (966709), страница 61
Текст из файла (страница 61)
7.77) производится двойное интегрирование ускорений, а также вычисляется текущее расстояние (длина вектора) между первым и вторым телами. Входной величиной обеих подсистем является векторная величина, элементы которой представляют собой проекции вектора ускорения на оси Х, Уи Х Выходных величин две, Одна из них -- вектор из трех элементов, являющихся текущими проекциями радиус-вектора ца те же оси.
Второй выход — скалярная величина, длина этого радиус-вектора. Плдтиствмл МОЙнлм лктмлмллммм тмлявний Рис. 7.77. Блок-схема подсистемы Огачпепуе 21 Блок, осуществляющий вычисление длины вектора по его составляющим, реализован на основе блока Гсп из раздела Олег-Пейна Гппсйопз. ~ ПРИМЕЧАНИЕ При написании арифметических выражений в окнах настройки блоков 5$глоБлй используются правила И-языка. Однако указание индексов для векторов и матриц должно осувтествляться в квадратных скобках (а не в круглых, как в И-взыке).
Характерной и важной особенностью этих подсистем, отличающей нх от использованной ранее подсистемы Иаятник (см. рис. 7.70), является то, что в них интегрируется не скалярная функция времени, а векторная, состоящая сразу из трех скалярных величин. Например, в подсистеме Огачпепуе 21 производится одновременное интегрирование ускорений хзы узг и гз,, достигаемое за счет лишь двух блоков 1пгейгасоп Для этого достаточно в блоке настройки интеграторов ввести в качестве начального условия це одну величину, а вектор из трех величин, каждая из которых является начальным условием соответствующего элемента вектора, поступающего на вход интегратора. Например, вектором начальных условий для первого интегратора является (Ч21, Ч21у. Ч21г) (рис.
7.78). Аналогично, во втором интеграторе установлен вектор (Х210н 1210, 2210) начальных условий. То же сделано в подсистеме Огачпепуе 32, которая вычисляет текущие составляющие вектора газ„полученные двойным интегрированием ускорения гзз. Здесь в интеграторах начальные условия установлены в виде векторов (Ч32х.
Ч32у. Ч32с) и (Х320.Ч320.2320). Подсистемы Ргач 21 и Ргач 32 формируют правые части первого и второго уравнений (7.14), то есть ускорения в виде вектора из трех элементов. Выходная величина у этих подсистем одна. Например, в полсистеме Ргач 21 (рис. 7,79) выходом является вектор Озйог21, составляющие которого — проекции ускорения на оси Х, У и ю. 342 Урок 7 ° Основы визуального моделирования динамических систем Входами являются два вычисленных ранее вектора КЧ21 и ку32, состоящие из проекций радиус-векторов гзт и гзю и три скалярные величины, равные текутцим значениям длин трех радиус-векторов, соединяющих три тела.
Рис. 7.78. Окно настройки первого блока 1пте9гатог подсистемы Огачпепуе 21 Поясистеие Вориирование тскор*ние иаыенение рахите.вектора Пот Р с ст Рис. 7,79. Блок-схема подсистемы Рвач 21 В подсистеме Рвач 21 используются три блока типа Гсп для вычисления коэффициентов при векторах в правой части первого уравнения (7.14) и два блока Ргодисй для умножения вектора на скалярный коэффициент. 343 Примеры создания 5-моделей Блок-схема подсистемы РУ13„вычисляющей вектор г1з и его длину по известным векторам гзт и гзз, приведена на рис.
7.80. Родс ссоиа ои ы ио ссссо со аадиус-оосуода Рис. 7.80. Блок-схема подсистемы РУ13 На рис. 7.81 показана блок-схема подсистемы АЬзоЬйе Соотбупасек Она вычисляет абсолютные координаты второго и третьего тел относительно центра масс системы трех тел. Рис. 7.81. Блок-схема подсистемы Аозо!ото Соотбулатез Блок То г11е (см. рис. 7.78) производит запись поступающих на сто вход данных в МАТ-файл БР 3 ТЕЕ.юай Эти данные записываются па диск в виде матрицы под именем РУ (рис. 7.82) в следующем порядке: О первую строку образует массив значений модельного времени, для которых вычислены подаваемые на вход блока величины; Рис. 7.82.
Заполнение окна настройки блока То Рйе 344 Урок 7 ° Основы визуального моделирования динамических систем О вторую строку образуют значения первого элемента входного векторного сигнала (ему соответствует верхний сигнал, поступающий на вход блока Ицх, выходной сигнал которого поступает на вход блока То Ет(е), соответствующие моментам времени, запнсапным в первой строке; О оставшиеся строки заполняются значениями остальных элементов вектора сиптала входа в порядке следования элементов этого вектора. Зтн особенности необходимо принимать во внимание при считывании данных из сформированного МАТ-файла.
Для того чтобы выполнить моделирование по созданной 5-модели и графически оформить полученные результаты, нужно произвести следующие операции. 1. Ввести исходные данные в рабочее пространство. 2. Запустить 5-модель 66 3 ТЕ птттт на моделирование; при этом результаты моделирования будут записаны в МАТ-файл 66 3 ТЕЕ.гоаб 3. Загрузить содержимое МАТ-файла 66 3 ТЕ~.. Тлай в рабочее пространство, введя в командном окне МАТЕАВ команду )оат) 6й 3 ТЕ1; при этом все данные, хранящиеся в этом МАТ-файле, будут записаны в рабочее пространство в виде матрицы под именем йу размером (1 + 5)хп, где н — размер вектора значений времени. 4.
Используя данные матрицы йу, создать программу графического и текстового оформления результатов моделирования в графическом окпп. Все эти операции можно автоматизировать, запрограммировав их в отдельной М-программе, которую удобно оформить в виде М-файла 6К 3 ТЕЕ ырт (управляющая программа для Б-модели 6К 3 ТЕЕ). При этом вызвать на моделирование Б-модель из программы можно с помощью команды Мм1'иня 3-недели') Ниже приведен текст управляющей программы. Х 60 3 ТЕЕ тврг й Програнна управления запускав и обработки данных для 5-нодеттн 60 3 ТЕ1 $ Лазарев Ю. Ф. 20.01-2004 т 1.
Ввод данных в рабочее прхтракство мы2 = 0.1, выЗ 0.01: Х210 ): Т210 = 0; 2210 0: Ч21х = 0; Ч21у ); Ч21д = 0; ХЗ20 0.1: ЧЗ20 0.0: 7320 0: ЧЗ2х 0, ЧЗ2у ". -1; Ч32з 0; Х 2. Запуск 3-недели зты1 60 3 ТЕЕ ) $ 3. Загрузка ИАТ-файла )оаб 66 3 ТЕЕ: $ 4. Присвоение значений нз т)анных ИАТ-файла козин лерененкын .Т = ЛЧ11.:): Х21 = ЛЧ12.:) Ч21 йЧ(З,:)) 221 "йЧ14.;); 345 Принерм создания 5-Моделей Х32 ВУ(5.:): У32 ДЧ<б.:); 732 ДЧ(7.;): Х)З = ДЧ(В..); У)З - ДЧ(9.:); 713 - ВЧ<10,:); Х2 = ВЧ(П ..); У2 = ДЧ(12,:); 72 = ЙЧ<13.:); ХЗ ВЧ<14.:); УЗ " ДЧ<15.:): 73 = ВЧ<15.:): и = ?епдсп(1?; Х 5. Построение графика зависиности координат движения второго тела Ф относительно первого зыЬр?оы2,2.1) р)ос<1.Х21,(,У21.
'--',1.721.'. '). дгтб '11)е('Движение второго тела односительно первого' ) х?аЬе)('Вреня (безразнерное)'), у?аЬе1('Координаты (безразнерные)') )едепб<'Х'.'У','7'.О) Х б. Построение графина зависиности координат движения третьего тела Х относительно второго зыЬр?от(2.2.3) п1 - гоыпб<п)р)а<<1(1:п)).Х32(1:п1) Л(1:п1).У32(1:п1),... '-'.С(1:п1?.732(1:п1).'.').дг(б Ьтд)е('Движение третье~о тела относительно второго' ) х)аЬе?('Вреия (безразнерное)'). у1аЬе?<'Координаты (безразиерние)') 1сдепб('Х'.'У'.'7'.О) $ 7.
Построение пространственных траенторий движения $ «рех тел зыЬр)о((4 .4 .[3 .4,7 .В . 11,12 ?) р)о(3(Х2.72,72.'.'.ХЗ,УЗ,ЕЗ). Ог?т? 171?е('Движение трех гравитируюжих тетп .'Ропсзтже', 14) х?аЬе)('Координата Х'). у?аЬе)('Координата У'), а)аЬе?('Координата 7') )едепб<'первое тело'.'второе тело'.
И Ж В. Вывод текстового оформления зыЬр)о1(4.4.[15. 1б)) ахтз('огт') Ь - техт<0.1.0,'Массовые паранетры (относительные):'): П - сект<-0 1,0.9,['жы1 = 1; '.зргтпту<'ктт2 " Фд: '.жи2).зрг?п17<'жоз " тд',жызц): Ь - секс<О.0.0.0,'Начальные координаты (безразиерные):'): Ь " секс(-О. 1.0.7.[' второго тела относительно первого:'. зргтпс(<'Х21 " тд: '.Х210?,зргтп(Г('У21 = Хд; .7210),.
зргтп11('721 тд; '.7210Ц): Ь " (ехт(-0.1,0.6,[' третьего тела относительно второго: зргтпст<'Х32 - $9; ',Х320).зргтпс(('У32 - тд; '.7320).. зрг<пс(('732 = Фд: ',7320Ц ): (ехт<0.0.5.'Начальные скорости <безразнерные):'): Ь = 1ехт<-0.1.0.4,[' второго тела относительно гервого: зрг(п(Г('Ч21х — тд; ',Ч21х).зргтпт[<'Ч21у Фд: ',Ч2)у). зргтптг('Ч21а - Хд; ' Ч21ХЦ): Ь - 1ехс(-О. 1.0,3,[' третьего тела относительно второго: зргтпст('Ч32х - тд; '.Ч32х).зрг(псу<'Ч32у ". Хд: '.Ч32у).... зргтптт<'ЧЗ2а . $9; '.ЧззгЦ ); Ь - (ехс(-0.1,0 1, ' '): Ь = 1ехс(-0.1,-0.1,'Програнна ВД-3-Т[Ь-ырг Автор - Лазарев В. Ф. 25-01-2004'); Ь = 1ехс(-0.1,-0.2.' '). Запустнв эту программу, можно сразу получить результаты моделнроааниа а та- ком инде, как показано на рнс.
7.83-7.85. 346 Урок 7 ° Основы визуального моделирования динамических систем Рис. 7.83. Плоское орбитальное движение тел в одном направлении Рис. 7.84. Плоское орбитальное движение тел в противоположных направлениях Представленные результаты соответствуют трем случаям движения: 1) орбитальные движения второго тела относительно первого н третьего относительно второго происходят в одной плоскости (Ху) и в одном направлении (орбитальные моменты однонаправлены — вдоль оси с); 347 Вопросы для самопроверки Рис. 7.85. Орбитальное движение в случае перпендикулярности плоскостей орбит 2) указанные орбитальные движения происходят в одной плоскости (ХУ) в противоположных направлениях (орбитальные моменты направлены в противоположные стороны); 3) указанные орбитальные движения происходят во взаимно перпендикулярных плоскостях.
Во всех трех случаях отношение масс первого„второго и третьего тел равно 100:1О:1. Относительные начальные скорости тел во всех указанных случаях приняты одинаковыми по величине ( ки = 1 и км - -1). Обратите внимание на различия в параметрах орбиты среднего (второго) тела и на период этого орбитального движения.
Вопросы для самопроверки 1. Каковы преимущества использования пакета 51пш!1п)с для решения вычислительных задач по сравнению с программированием их непосредственно в среде МАТ1.АВ? 2. Блоки каких разделов библиотеки 5шш1ш1с должны обязательно присутство- вать в блок-схеме любой 5-модели? 3. Каково основное предназначение блоков раздела 5онтсе библиотеки 5ипп1!п1с? 4. Каково основное предназначение блоков раздела 51пкэ библиотеки 51шп1ш1с? 5.