Математическое моделирование - Никишев. Н. Ульянова В. К. Никишев Математическое моделирование
Скачать 6.84 Mb.
|
Тема. Моделирование объектов методом пространства состояния, динамика которого описывается дифференциальным уравнением Задачи исследования: Исследовать динамику объекта методом пространства состояния с использованием информационных технологий MatLab методом составления программы: решения уравнений пространства состояний. Исходные данные Начальные и конечные координаты объекта x(0), x`(0), xk, такт исследования T, управляющее воздействие u(0). Получить зависимости x(T), x`(T) с использованием программ MatLab , Scilab Математическая модель объекта. Исходное дифференциальное уравнение имеет вид Представим исходное уравнение в нормальной форме Коши, вводя обозначения В результате получим систему уравнений первого порядка С целью определения матриц уравнения параметров состояния преобразуем систему: матрицы коэффициентов соответственно равны Уравнение параметров состояния будет иметь вид Решение данных примеров в системе Matlab Для этого создадим 3 m-файла (для каждого примера отдельно). Далее эти m-файлы запустим в командном окне(command Window). Описание m-файлов Пример 1 figure(1); //вызов графического окна; clf; //очистка фигуры; title(“solve equation d(dx)+k1*dx=k2*u”); //установка титульной надписи syms k1 k2 p t T i Y01 Y02; //задание переменных; //ввод данных; k2=0.01; k1=0.5; //ввод исходных матриц; B=[0 1;0 -k1]; U=[0.1]; E=eye(size(B)); //создание единичной матрицы A=[0;k2]; D=E*p; W=D-B; W1=inv(W); //нахождение обратной матрицы W2=ilaplace(W1,p,t); //обратное преобразование Лапласа H=(int(W2,t,0,T))*A; //матрица управления Y0=[Y01;Y02]; //матрица начальных условий Y01=0;Y02=1; W21=ilaplace(W1,p,T); //матрица состояния T=0.1; // такт работы for i=0:10, Y=W21*Y0+H*U; //расчетная формула Y1=Y01+(-2*exp(-1/2*T)+2)*Y02+1/500*T+1/250*exp(-1/2*T)-1/250; Y2=exp(-1/2*T)*Y02-1/500*exp(-1/2*T)+1/500; Y01=Y1; Y02=Y2; hold on;.//обеспечение продолжение вывода графиков в текущее окно plot(i,Y01,’o’,i,Y02,’or’);//построение графиков legend(“x”,’dx’); //добавление к текущему графику легенды xlabel(“i”); //установка надписи на оси OX ylabel(“x,dx”); //становка надписи на оси OYgrid on; //сетка end Y2=exp(-1/2*T)*Y02-1/500*exp(-1/2*T)+1/500; Y01=Y1; Y02=Y2; hold on;.//обеспечение продолжение вывода графиков в текущее окно plot(i,Y01,’o’,i,Y02,’or’);//построение графиков legend(“x”,’dx’); //добавление к текущему графику легенды xlabel(“i”); //установка надписи на оси OX ylabel(“x,dx”); //становка надписи на оси OYgrid on; //сетка end нач. Условия k1=0.5, k2=0.01; i=0..10; y10=0; y20=1; n=0.1; u=0.1 Y2=exp(-1/2*T)*Y02-1/500*exp(-1/2*T)+1/500; Y01=Y1; Y02=Y2; hold on;.//обеспечение продолжение вывода графиков в текущее окно plot(i,Y01,’o’,i,Y02,’or’);//построение графиков legend(“x”,’dx’); //добавление к текущему графику легенды xlabel(“i”); //установка надписи на оси OX ylabel(“x,dx”); //становка надписи на оси OYgrid on; //сетка end Пример. Для дифференциального уравнения С целью определения матриц уравнения параметров состояния преобразуем систему: Пример 2 figure(2); //вызов графического окна; clf; //очиска фигуры; title(“solve equation d(dx)+2*dx-3*x=u”); //установка титульной надписи syms p t T i Y10 Y20; //задание переменных; //ввод данных; B=[0 1;3 -2]; E=eye(size(B)); //создание единичной матрицы U=[0.1]; A=[0;1]; D=E*p; W=D-B; W1=inv(W); //нахождение обратной марицы W2=ilaplace(W1,p,t); //обратное преобразование Лапласа H=(int(W2,t,0,T))*A; //марица управления Y10=0; Y20=1; T=0.1; // такт работы for i=0:10, Y=W21*Y0+H*U; Y1=(1/4*exp(-3*T)+3/4*exp(T))*Y10+1/16*16^(1/2)*(exp(T*(- 1+1/2*16^(1/2)))-exp(T*(-1-1/2*16^(1/2))))*Y20+1/40*(exp(- T)*exp(1/2*16^(1/2)*T)*16^(1/2)+8*exp(-T)*exp(1/2*16^(1/2)*T)-exp(- T)*exp(-1/2*16^(1/2)*T)*16^(1/2)+8*exp(-T)*exp(-1/2*16^(1/2)*T)- 16)/(-2+16^(1/2))/(2+16^(1/2)); Y2=3/16*16^(1/2)*(exp(T*(-1+1/2*16^(1/2)))-exp(T*(-1- 1/2*16^(1/2))))*Y10+(3/4*exp(-3*T)+1/4*exp(T))*Y20-1/40*exp(- 3*T)+1/40*exp(T); Y10=Y1; Y20=Y2; hold on; //обеспечение продолжение вывода графиков в текущее окно plot(i,Y1,’o’,i,Y2,’or’); //построение графиков legend(“x”,’dx’); //добавление к текущему графику легенды xlabel(“i”); //установка надписи на оси OX ylabel(“x,dx”); //становка надписи на оси OY grid on; end //сетка 3. Индивидуальные задания по моделированию Целью работ по компьютерному моделированию являются: - выработка практических навыков в выполнении работ по математическому моделированию; - освоение элементов самостоятельной научно- исследовательской работы; - закрепление навыков программирования, полученных на занятиях. После выполнения работ студентами представляется отчет, в котором необходимо иметь следующие разделы: * постановка задачи ( начальные условия); * математическая модель; * метод исследования модели; * алгоритм моделирования задачи ( блок-схема); * программа на языке программирования, заданным преподавателем; * результаты в различных формах представления ( табличный, графический, динамический); * содержательный анализ результатов моделирования, выводы. 3.1 Движение тел в среде с учетом трения 1. Парашютист прыгает с некоторой высоты и летит, не открывая парашюта; на какой высоте и через какое время ему следует открыть парашют, чтобы к моменту приземления иметь безопасную скорость (не большую 10 м/с)? 2 Исследовать, как связана высота прыжка с площадью поперечного сечения парашюта, чтобы скорость приземления была безопасной.(10 м/с) 3. Промоделировать падение тела с заданными характеристиками (массой, формой) в различных вязких средах. Изучить влияние вязкости среды на характер движения. Скорость движения должна быть столь невелика, чтобы квадратичной составляющей силы сопротивления можно было пренебрегать. 4. Промоделировать падение тела с заданными характеристиками (массой, формой и в различных плотных средах. Изучить влияние плотности среды на характер движения. Скорость движения должна быть достаточно большой, чтобы линейной составляющей силы сопротивления можно было пренебрегать (на большей части пути). 5. Промоделировать движение исследовательского зонда, «выстреленного» вертикально вверх с уровня земли. В верхней точке траектории над зондом раскрывается парашют, и он плавно спускается в точку старта. Исследовать влияние ветра. 6. Промоделировать движение исследовательского зонда, «выстреленного» вертикально вверх с летящего над землей самолета. В верхней точке траектории над зондом раскрывается парашют, и он плавно спускается на землю. Исследовать влияние ветра. 7. Глубинная бомба, установленная на взрыв через заданное время, сбрасывается со стоящего неподвижно противолодочного корабля. Исследовать связь между глубиной, на которой произойдет взрыв, и формой корпуса (сферической, полусферической, каплевидной и т.д.). 8. Глубинная бомба, установленная на взрыв на заданной глубине, сбрасывается со стоящего неподвижно противолодочного корабля. Исследовать связь между временем достижения заданной глубины и формой корпуса (сферической, полусферической, каплевидной и т.д.). 9. Провести моделирование взлета ракеты при значениях параметров m0 ,m(кон) ,Fтяги ,a. При каких параметрах ракета может достигнуть значения первой космической скорости. 10. Провести исследование соотношения входных параметров m0 и Fтяги, при которых ракета достигнет первой космической скорости (и в соответствующий момент исчерпает горючее). Остальные входные параметры фиксировать произвольно. Построить соответствующую фазовую диаграмму в переменных (mo и Fтяги). 11. Разработать и исследовать усовершенствованную модель взлета ракеты, приняв во внимание, что реальные космические ракеты обычно двух- и трехступенчатые и двигатели разных ступеней имеют разную силу тяги. 12 Промоделировать движение исследовательского зонда, снабженного разгонным двигателем небольшой мощности, «выстреленного» вертикально вверх с уровня земли. В верхней точке траектории двигатель выключается, над зондом раскрывается парашют, и он плавно спускается в точку старта. 13 Промоделировать движение исследовательского зонда, снабженного разгонным двигателем небольшой мощности, «выстреленного» вертикально вверх с летящего над землей самолета. В верхней точке траектории над зондом раскрывается парашют, и он плавно спускается на землю. 14. Глубинная бомба-торпеда, снабженная разгонным двигателем, установленная на взрыв через заданное время, сбрасывается со стоящего неподвижно противолодочного корабля. Исследовать связь между глубиной, на которой произойдет взрыв, и формой корпуса (сферической, полусферической, каплевидной и т.д.). 15 Глубинная бомба-торпеда, снабженная разгонным двигателем, установленная на взрыв на заданной глубине, сбрасывается со стоящего неподвижно противолодочного корабля. Исследовать связь между временем достижения заданной глубины, и формой корпуса (сферической, полусферической, каплевидной). 16. Глубинная бомба-торпеда, снабженная разгонным двигателем, нацеливается с подводной лодки на стоящий неподвижно противолодочный корабль. Исследовать связь между временем достижения заданной глубины и формой корпуса (сферической, полусферической, каплевидной и т.д.). 17. Найти вид зависимости горизонтальной длины полета тела и максимальной высоты траектории от одного из коэффициентов сопротивления среды, фиксировав все остальные параметры. Представить эту зависимость графически и подобрать подходящую аналитическую формулу, определив ее параметры методом наименьших квадратов. 18. Разработать модель подводной охоты. На расстоянии г под углом а подводный охотник видит неподвижную акулу. На сколько метров выше нее надо целиться, чтобы гарпун попал в цель? 19. Поставить и решить задачу о подводной охоте при дополнительном условии: акула движется. 20. Промоделировать движение исследовательского зонда, «выстреленного» под углом к горизонту. В верхней точке траектории над зондом раскрывается тормозной парашют, затем зонд плавно движется до земли. 21. Глубинная бомба, установленная на взрыв через задав время, сбрасывается с движущегося противолодочного корабля. Исследовать связь между глубиной, на которой произойдет взрыв, пройденным расстоянием по горизонтали и формой корпуса (сферической, полусферической, каплевидной и т.д.). 22. Глубинная бомба-торпеда, снабженная разгонным двигателем, установлен» на взрыв на заданной глубине, сбрасывается с движущегося противолодочни корабля. Исследовать связь между временем достижения заданной глубины, прои-денным расстоянием по горизонтали и формой корпуса (сферической, полусферической, каплевидной и т.д.). 23. Торпеда, снабженная разгонным двигателем, нацеливается с лежащей на дне подводной лодки на поражение движущегося надводного корабля. Пуск торпе. производится в момент прохождения корабля над лодкой. Исследовать связь между глубиной залегания лодки, временем поражения цели и расстоянием, который корабль успеет пройти по горизонтали. 24 Торпеда, снабженная разгонным двигателем, нацеливается с подводной лодки на стоящий вертикально над ней надводный корабль. Исследовать связь между временем поражения цели и формой корпуса (сферической, полусферической, каплевидной и т.д.). 25 Построить траектории и найти временные зависимости горизонтальной и вертикальной составляющих скорости и перемещения для тела массой «м» кг, брошенного под углом «а» к горизонту с начальной скоростью «v» м/с:1) в воздухе; 2) в воде. 26. Смоделировать полет камня без учета силы трения. Камень массой « m» брошен под углом «а» к горизонту со скоростью «v». Представить траекторию полета без учета сопротивления воздуха. Исследовать как меняются максимальная высота и дальность полета камня при изменении угла . Показать графически. 27. Смоделировать полет бумажки без учета силы трения. Исследовать влияние массы на дальность и высоту полета? Результаты представить графически. 28.Смоделировать полет камня с учетом сопротивления воздуха и исследовать влияние коэффициентов на максимальные дальность и высоту полета. Камень массой «m» брошен под углом «a» к горизонту со скоростью «v» м/с. Cравнить траектории полета без учета сопротивления воздуха. 29. Дальность полета. Как меняются максимальная дальность полета и время полета комка бумаги массой 20 г в зависимости от угла бросания? 30. Оптимальный угол бросания бумажки. Найдите оптимальный угол бросания комка бумаги для получения максимальной дальности полета. 31. Оптимальный угол бросания камня. Под каким углом к горизонту следует бросить камень массой 200 г со скоростью 20 м/с, чтобы дальность полета была наибольшей с учетом силы сопротивления воздуха Сравните со случаем, когда сопротивление воздуха не учитывается. 32. Смоделировать полет бумажки без учета силы трения. Исследовать влияние массы на дальность и высоту полета? Результаты представить графически. 33. Смоделировать полет камня с учетом сопротивления воздуха и исследовать влияние коэффициентов на максимальные дальность и высоту полета. Камень массой «m» брошен под углом «a» к горизонту со скоростью «v» м/с. Cравнить траектории полета без учета сопротивления воздуха. 34. Исследовать полет комка бумаги. Как меняются максимальная дальность полета и время полета комка бумаги массой «m» «г» в зависимости от угла бросания? Начальная скорость комка бумаги равна «v» «м/с», сила трения «F». 35. Определить оптимальный угол бросания бумажки массой «m» «г», начальная скорость равна «v» «м/с», сила трения «F». 36. Исследовать приближение космического аппарата к Луне. Космический объект массой «m» кг подлетает к Луне. Когда расстояние «а» становится равным «s» км и прицельное расстояние «р» км и скорость объекта «v»м/с. 37. Рассчитайте траекторию полета вблизи Луны. Масса Луны равна 7.3*10^22 кг, радиус Луны равен 1.7*10^3 км. Напишите уравнения движения по оси х и по оси у с учетом зависимости силы притяжения от расстояния. |