Численнов решение уравнений


Давайте теперь действительно решим нашу задачу. Допус­тим, что мы взяли e=0,100 сек. (Если после того, как мы про­делаем все вычисления, окажется, что этот интервал не достаточ­но мал, то необходимо повторить все сначала с меньшим интервалом времени, например 0,010 сек.) Чему будет равно х(0,1), если в начальный момент времени х (0) = 1? Оно равно старому положению х(0) плюс скорость в начальный момент (которая равна нулю), умноженная на 0,10 сек. Таким образом, х(0,1) равно 1,00, ибо грузик еще не начал двигаться. Но новая скорость в момент 0,10 сек будет равна старой скорости v (0)=0 плюс e, умноженное на ускорение. А само ускорение равно -х(0)=-1,00. Так что

v(0,1)=0,00+0,10•1,00=-0,10. В момент 0,20 сек

х(0,2)=х(0,1)+ev(0,1)=1,00-0,10•0,10=0,99

и

v(0,2)=v(0,1)+ ea(0,1) =-0,10-0,10•1,00 =-0,20.

Продолжая эту процедуру еще и еще, можно найти положение и скорость в любой момент времени, а это как раз то, что нам нужно. Однако практически мы используем нехитрый прием, который позволит увеличить точность вычислений. Если бы мы продолжали начатые нами расчеты, то они оказались бы до­вольно грубыми, поскольку интервал e=0,10 сек довольно большой. Пришлось бы уменьшить его, скажем, до 0,01 сек. Но тогда, чтобы проследить движение за какой-то разумный отрезок времени, потребовалось бы сделать множество шагов. Мы же организуем процесс таким образом, что сможем увели­чить точность, используя тот же интервал e=0,10 сек. Этого можно достичь, несколько изменив метод расчета.

Заметьте, что новое положение тела равно старому плюс интервал времени e, умноженный на скорость. Но что это за скорость? В какой момент? В начале интервала одна скорость, а в конце она совсем другая. Прием состоит в том, чтобы брать скорость в середине интервала. Если известна скорость в на­стоящий момент и известно, что она меняется, как же можно надеяться получить удовлетворительный результат, считая, что тело все время движется с той же скоростью, что и в на­стоящий момент? Более разумно использовать какую-то сред­нюю скорость между началом и концом интервала. Те же рассуждения применимы к изменению самой скорости: для под­счета ее изменений нужно использовать ускорение в средней точке между двумя моментами времени, в которых необходимо найти скорость. Таким образом, реально мы будем пользовать­ся следующими уравнениями: положение в конце интервала равно положению в начале плюс интервал e, умноженный на скорость в середине интервала. Эта скорость в свою очередь равна скорости в середине предыдущего интервала (т. е. на отрезок e меньше) плюс ускорение в начале интервала, умно­женное на e.

Таким образом, мы будем пользоваться уравнениями


Остается еще один небольшой вопрос: что такое v (e/2)? Вна­чале у нас было v (0), а не v (-e/2). Но теперь, чтобы начать наши вычисления, необходимо использовать дополнительное уравнение v(e/2)=v (0)+( e/2)а(0).

Таблица 9.1 • решение уравнения (dvx/dt)=-x Интервал e=0,10 сек

 

 


Ну, а теперь все готово для расчетов. Для удобства можно их выполнить в виде таблицы, в столбцах которой стоят время, положение, скорость и ускорение, причем скорость пишется в промежутках между строками (табл. 9.1). Такая таблица есть, конечно, просто удобный способ записи результатов, по­лученных из уравнений (9.16), и фактически полностью заме­няет их. Мы просто заполняем одно за другим свободные места в ней и получаем очень интересную картину движения: сначала грузик находится в покое, затем понемногу приобретает отри­цательную скорость (вверх), а это приводит к уменьшению его расстояния от точки равновесия. При этом хотя ускорение и становится меньше, оно все еще «подгоняет» скорость. Однако по мере приближения к положению равновесия (х=0) уско­рение становится все меньше и меньше, скорость нарастает все медленней и медленней, но все же еще нарастает вплоть до точки x=0, которая достигается примерно через 1,5 сек. Скажем по секрету, что произойдет дальше. Грузик, конечно, не остано­вится в точке х=0, а пойдет дальше, но теперь все пойдет наоборот: его положение х станет отрицательным, а ускоре­ние — положительным. Скорость начнет уменьшаться. Инте­ресно сравнить полученные нами числа с функцией cost. Результат этого сравнения представлен на фиг. 9.4.


Фиг. 9.4. График движения грузика на пружинке.

 

Оказы­вается, что в пределах точности наших расчетов (три знака после запятой) совпадение полное! Позднее вы узнаете, что функция cos t — точное решение нашего уравнения, так что у вас теперь есть наглядное представление о мощи численного анализа: столь простой расчет дает столь точный результат.

§ 6. Движение планет

Приведенный анализ очень подходит к движению осцилли­рующей пружинки с грузиком, но можно ли таким же путем вычислять движение планеты вокруг Солнца? Давайте посмот­рим, можно ли при некоторых приближениях получить эллип­тическую орбиту. Предположим, что Солнце бесконечно тяжелое в том смысле, что его движение не будет приниматься в расчет.

Допустим, что в известной точке планета начала свое дви­жение и имеет определенную скорость. Она движется во­круг Солнца по какой-то кривой, и мы попытаемся определить с помощью уравнений движения Ньютона и его же закона все­мирного тяготения, что это за кривая. Как это сделать? В не­который момент времени планета находится в каком-то опреде­ленном месте, на расстоянии r от Солнца; в этом случае извест­но, что на нее действует сила, направленная по прямой к Солнцу, которая, согласно закону тяготения, равна определенной по­стоянной, умноженной на произведение масс планеты и Солнца и деленной на квадрат расстояния между ними. Чтобы рассуж­дать дальше, нужно выяснить, какое ускорение вызывает эта сила.

Однако в отличие от предыдущей задачи нам потребуются теперь компоненты ускорения в двух направлениях, которые мы назовем х и у. Положение планеты в данный момент будет определяться координатами х и у, поскольку третья коорди­ната z всегда равна нулю.

Действительно, координатная плоскость ху выбрана нами таким образом, что z-компоненты как силы, так и начальной скорости равны нулю, а поэтому нет никаких причин, которые бы заставили планету выйти из этой плоскости. Сила при этом будет направлена по линии, соединяющей планету с Солнцем, как это показано на фиг. 9.5.

 

 


Фиг. 9.5. Сила притяжения, действующая на планету.

 

Из этого рисунка видно, что горизонтальная компонента силы так относится к полной ее величине, как координата х относится к расстоянию r. Это сразу следует из подобия тре­угольников. Кроме того, если х положительна, то Fx отрица­тельна, и наоборот.

Таким образом, FxúFú=-x/r, или Fя=-úFúxlr=-GM mx/r3 и соответственно Fy=-GMmy/r3. Теперь можно воспользо­ваться динамическими законами (9.7) и написать, что х- или y-компонента ускорения, умноженная на массу планеты, равна соответственно х- или y-компоненте силы:


Это именно та система уравнений, которую мы должны решить. Для того чтобы упростить вычисления, предположим, что либо единицы измерения времени или массы выбраны соответствую­щим образом, либо нам просто повезло, словом, получилось так, что GM=1. Для нашего случая предположим, что в на­чальный момент t=0 планета находилась в точке с координа­тами х=0,500 и у=0,000, а скорость ее в этот момент направ­лена параллельно оси у и равна 1,6300. Как же в этом случае делаются расчеты? Снова составляется таблица со столбцами для времени t, координаты х, x-компонент скорости vx и уско­рения ах. Затем идут отделенные чертой три колонки: для координаты y, у-компонент скорости и ускорения. Однако, для того чтобы подсчитать ускорения, мы должны воспользо­ваться уравнением (9.17), согласно которому его компоненты равны —х/r3 и —у/r3, а r=Ö(x2+y2). Так что, получив х и у, мы должны где-то в сторонке провести небольшие вы­числения — извлечь квадратный корень из суммы квадра­тов и получить расстояние. Удобно также отдельно вычис­лить и 1/r3.

После этого все готово, чтобы определить компоненты ус­корения. Всю эту работу можно сильно облегчить, если поль­зоваться таблицами квадратов, кубов и обратных величин. На нашу долю останется тогда только умножение х на 1/r3, которое легко выполняется на логарифмической линейке.

Перейдем к дальнейшему. Возьмем интервал времени e=0,100. В начальный момент t=0

x(0)=0,500,. у(0)=0,000,

vx(0) = 0,000, vy(0)=+1,630.

Отсюда находим

r(0)=0,500, 1/r3=8,000,

ax=-4,000, ау=0,000.

После этого можно вычислять компоненты vx (0,05) и vy (0,05):

vя (0,05)=0,000-4,000•0,050 = -0,200,

vy(0,05)=1,630+0,000-0,100=1,630.

 

 



 

 

А теперь начнем наш основной расчет:

 

 


 

и т. д.

В результате мы получим числа, приведенные в табл. 9.2, где приблизительно за 20 шагов прослежена половина пути нашей планеты вокруг Солнца. На фиг. 9.6 отложены коорди­наты планеты х и y, приведенные в табл. 9.2.


Фиг. 9.6. График движения планеты вокруг Солнца.

 

Точки представ­ляют собой последовательные положения планеты через каж­дую десятую долю выбранной нами единицы времени. Видно, что сначала она двигалась быстро, а затем — все медленней и медленней. Видна также и форма кривой движения планеты. Итак, вы теперь знаете, как реально можно вычислять движе­ние планет!

Давайте посмотрим теперь, как вычислить движение Непту­на, Юпитера, Урана и остальных планет. Можно ли сделать подробные расчеты со множеством планет, учитывая к тому же и движение Солнца? Разумеется, можно. Найдем сначала силу, действующую на каждую данную планету, например на ту, которую мы обозначим номером i и координаты которой хi, yi и zi (i=1 может означать Солнце, i=2 — Меркурий, i=3 — Венеру и т. д.). Наша задача — найти координаты всех планет. По закону тяготения x-компонента силы, действующая на i-ю планету со стороны планеты номер j' с координатами хj уj, zj, будет равна —Gmimj(xi-xj)/r3jj . Если же учесть силы со стороны всех планет, то получим следующую систему уравнений:

 

 


 

где rij — расстояние между i-й и j-й планетами:


 

S означает суммирование по всем остальным планетам, r. е. по всем значениям j, за исключением, конечно, j = i. Таким образом, чтобы решить это уравнение, нужно лишь зна­чительно увеличить количество столбцов в нашей таблице. Для движения Юпитера понадобится девять столбцов, для Сатур­на — тоже девять и т. д. Если нам заданы все начальные по­ложения и скорости, то из уравнения (9.18) можно подсчитать все ускорения, вычислив, конечно, предварительно по формуле (9.19) все расстояния rij,. А сколько же времени потребуется на все эти вычисления? Если вы будете делать их сами дома, то очень много! Однако сейчас уже имеются машины, неимоверно быстро выполняющие все арифметические расчеты. Сложение, например, такая машина выполняет за 1 мксек, т. е. за одну миллионную долю секунды, а умножение — за 10 мксек. Так что если один цикл расчетов состоит из 30 операций умноже­ния, то это займет всего лишь 300 мксек, или за 1 сек можно сделать 3000 циклов. Если мы хотим считать с точностью до одной миллиардной, то для того, чтобы покрыть все время об­ращения планеты вокруг Солнца, требуется 4•105 циклов. (Оказывается, что ошибка в расчетах приблизительно пропор­циональна квадрату e. Если брать интервал в тысячу раз мень­ший, то ошибка уменьшится в миллион раз. Так что для обес­печения нашей точности нужно взять интервал в 10 000 раз меньше.) На машине это займет 130 сек, или около 2 мин. Всего лишь 2 мин, для того чтобы «прогнать» Юпитер вокруг Солнца и при этом еще с точностью до одной миллиардной учесть все возмущения от других планет!

Итак, в начале этой главы для вас были загадкой движения грузика на пружинке, однако теперь вооруженные таким мощ­ным орудием, как законы Ньютона, вы можете вычислять не только такие простые явления, как качание грузика, но и неи­моверно сложные движения планет, причем с любой желаемой точностью! Нужна только машина, знающая арифметику.



Дата добавления: 2022-05-27; просмотров: 99;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.014 сек.