|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
06.12.2012, 12:45 | #1 |
Пользователь
Регистрация: 13.11.2012
Сообщений: 56
|
Спуск космического аппарата на Луну
Здравствуйте. Помогите решить проблему. Задача: Рассмотрим пример нахождения моментов включения и выключения двигателя ksi0,t1 космического аппарата, выполняющего спуск на Луну.
Исходные данные для расчета: g=1, 623 м/с2 - гравитационное ускорение Луны; u0=1 кг/с - секундный расход топлива; mu =2500 м/с - скорость истечения газов относительно спускаемого аппарата; v0=0 м/с - начальная скорость снижения. Начальная высота h0 =400000 м и уменьшается с интервалом 20000 м. Используя для вычислений Matlab, получим таблицу значений: h0(м) t1(c) ksi0(c) 400000 936.12 480.7 380000 915.45 467.39 360000 894.14 453.78 340000 872.14 439.82 320000 849.37 425.51 300000 825.76 410.79 280000 801.21 395.64 260000 775.63 380.01 240000 748.87 363.85 220000 720.79 347.08 200000 691.18 329.63 180000 659.79 311.39 160000 626.32 292.22 140000 590.31 271.97 120000 551.19 250.38 100000 508.08 227.12 80000 459.66 201.66 60000 403.64 173.12 42481 344.91 144.29 42480 -767.67 -121.63 Ниже приведен листинг программы нахождения временных параметров. >>syms ksi0 t1 h0=380000; v0=0; g=1.623; mu=2500; m0=1000; u0=1; x1_ksi0=h0+v0*ksi0-g*ksi0^2/2; x2_ksi0=v0-g*ksi0; eq1=x1_ksi0+x2_ksi0*(t1-ksi0)-1/2*g*(t1-ksi0)^2+mu/u0*m0*((1-u0*(t1- - ksi0)/m0)*log(1-u0*(t1-ksi0)/m0)+u0*(t1-ksi0)/m0); eq2=x2_ksi0-g*(t1-ksi0)-mu*log(1-u0*(t1-ksi0)/m0); [ksi0,t1]=solve(eq1,eq2,'ksi0,t1'); ksi0=(exp((v0-g*t1)/mu)*m0-m0+u0*t1)/u0; >> t1 t1 =915.45197647092986939538929357655 >> ksi0 ksi0 =467.39446635520641448420019727309 Проблема в следующем:почему при уменьшении высоты до 42480 наблюдается такое резкое изменение ksi0, t1? Как решить данную проблему? Или помогите решить эту задачу другим способом. Последний раз редактировалось .FROST.; 06.12.2012 в 12:47. |
06.12.2012, 12:58 | #2 |
Старожил
Регистрация: 25.10.2011
Сообщений: 3,178
|
Э-э-э... а какой физический смысл у отрицательного ksi и t? Где ноль времени? Почему здесь нельзя нормально писать формулы?
Такое ощущение, что получилось решение какой-то обратной задачи - у Вас с ростом времени растёт высота, и на "начальную" высоту 400000 Вы забираетесь через 936 секунд. Кроме того, совершенно явно не хватает массы аппарата и запасов топлива. Не видно ограничения на расход топлива и условия ksi>0 - а значит, формально можно потратить топливо, пока не останется -30 кг, потом включить двигатель на -35 с и в баке станет 5 кг. Гм... |
07.12.2012, 09:44 | #3 |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
Вообще это задача советских времен, только извращенная в духе времени. Цель задачи было посадить аппарат на луну, не разбив его. Закавыка была в том, что на каждый момент времени нужно было учитывать массу аппарата, которая менялась из-за рсхода топлива. Здесь вообще масса отсутствует, задача явно сведена к сферической в окололунном вакууме
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика |
07.12.2012, 11:25 | #4 | |
Пользователь
Регистрация: 13.11.2012
Сообщений: 56
|
Цитата:
|
|
07.12.2012, 12:28 | #5 |
Старожил
Регистрация: 25.10.2011
Сообщений: 3,178
|
То есть, с момента включения двигатель работает непрерывно до касания поверхности и требуется найти такой момент включения, при котором скорость в момент касания будет нулевой?
1) Вывести уравнение снижения с выключенным двигателем: h'(t)=-gt; h(t) = -gt^2/2. 2) Вывести уравнение снижения с включённым двигателем: h'(t) = -gt-м*ln(1-u0t/m0) + v (при включении двигателя в момент t=0 и начальной скорости v на момент включения). Отсюда, если от начала спуска до включения двигателя прошло t1 секунд, а от включения двигателя до касания t2 секунд, t1+t2 = -м/g * ln(1-u0t2/m0). 3) Вывести h(t) = -g/2*(t+t1)^2 + мm0/u0*ln(1-u0t/m0) - мt(ln(1-u0t/m0)-1)+h0 Приравнивая h(t2)=0, получаем второе уравнение на t1 и t2. Подставляя первое уравнение во второе, получаем: -g/2(t1+t2)^2-gm0/u0(t1+t2)+t2(м+g(t1+t2))+h0=0 4) Имеем квадратное уравнение относительно t1. Решаем, имеем выражение t1 через t2, отбрасываем отрицательный корень (он соответствует невозможной ситуации). Положительный корень подставляем в уравнение из пункта 2, имеем уравнение на t2. Его уже имеет смысл решать численно. Получаем значение t2, подставляем в выражение для t1, задача решена. Пункт 4 мне делать лень, так что это как-нибудь сами. |
08.12.2012, 16:41 | #6 | |
Пользователь
Регистрация: 13.11.2012
Сообщений: 56
|
Цитата:
|
|
08.12.2012, 23:58 | #7 |
Старожил
Регистрация: 25.10.2011
Сообщений: 3,178
|
v = -gt1, h'(t2)=0.
|
09.12.2012, 18:11 | #8 |
Пользователь
Регистрация: 13.11.2012
Сообщений: 56
|
Спасибо, с этим разобрался. В результате, если нигде не ошибся, получилось следующее: g*t2+m0*g+sqrt(diskriminant)+mu*ln( 1-t2/m0)=0.
Ну так вот, если разложит логарифм в ряд,и найти его суммы, то получится: (-1)^n*x^n/n, где x=-t2/1000. Сумма этого ряда чему будет равна, можете подсказать? Или же решать получившееся уравнение графически, например с помощью Маткада? Я просто хотел вывести уравнение нахождения t1,t2 численно, но логарифм мешает. |
09.12.2012, 19:46 | #9 | |
Старожил
Регистрация: 25.10.2011
Сообщений: 3,178
|
Цитата:
|
|
09.12.2012, 19:51 | #10 |
Пользователь
Регистрация: 13.11.2012
Сообщений: 56
|
Я хотел написать программу в паскале с циклом, относительно h0. Но думаю, будет достаточно и этого. Я просто хотел узнать, можно ли как то "избавиться от логарифма" для упрощения выражения.
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Написать сервер для игрового аппарата, вознаграждение от 300 000р | grikor | Фриланс | 3 | 06.10.2012 19:42 |
Посадка на луну | Zarrok | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 29.12.2011 10:00 |
Открыть порт через 2 аппарата | twistms | Компьютерное железо | 0 | 29.03.2011 23:30 |
Градиентный спуск | Ciberal | Помощь студентам | 0 | 26.12.2010 19:23 |
Градиентный спуск | nieaCry | Общие вопросы C/C++ | 0 | 04.12.2008 00:26 |