Решение дифференциальных уравнений второго порядка

Пусть, например, имеется дифференциальное уравнение вида

Приведем его сначала к виду (П. 5). Для этого сделаем замену: Тогда

т. е. уравнение 2-го порядка (П. 7) свелось к двум уравнениям (П. 8) и (П. 9) 1-го порядка. Эти два уравнения заменим приближенными соотношениями:

Если при каком-то хп известны уп и zn = dy/dx |п, то формулы (П. 10) позволяют идти от хо, уо, 2о к х , у , z, и далее сколь угодно долго. Таким образом, в простейших случаях надо лишь расширить приведенные в предыдущей теме программы введением дополнительных строчек так, чтобы вычислялись не только хп, ул, а и zn по соотношению (П. 10). При выводе данных можно добавить вывод zn если это нужно.

Как и ранее, отметим, что такой метод решения дифференциальных уравнений является простейшим, но не лучшим. Но его вполне можно применять при разборе примеров, приведенных в данном пособии.

В системе Matlab дифференциальные уравнения 2-го порядка решаются с помощью программы ode23 (или ode45). Правила пользования этими программами можно уяснить, запустив демонстрационную программу odedemo.m (в режиме непосредственных вычислений после приглашения ‘п’ набрать odedemo и Ent).

При этом дифференциальное уравнение решается с хорошей точностью и быстро. Файл, который надо набирать на компьютере, короче, чем при использовании языков типа Бейсик или Паскаль. Однако этим удобно пользоваться только в частных случаях, например при решении задачи на одномерное движение. Для решения задач на двух- и трехмерные движения, особенно когда по пути ставятся разные условия («если тело вошло в атмосферу, то...»), удобнее пользоваться языками Бейсик, Паскаль и др. К тому же при использовании ос!е23 надо помнить целый ряд условностей: как писать т-файл, как записывать функцию и т. д.

Решение систем дифференциальных уравнений

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

В физике чаще всего возникают системы дифференциальных уравнений 2-го порядка. Пусть, например, тело движется в пространстве, так что

Пусть сила Ех определяется не только координатой #, но зависит еще от у, 2, г>х, г;у и ьг, например сила трения. Так получается при движении заряженной частицы в магнитном поле, когда сила Лоренца ?л = q[v, В] и ее составляющие согласно правилу разложения векторного произведения на проекции равны:

Если подставить выражения (П. 12) в (П. 11), то получается система трех дифференциальных уравнений 2-го порядка. Решение таких систем на компьютере не представляет сложностей. Каждое дифференциальное уравнение 2-го порядка надо свести к двум уравнениям 1-го порядка путем введения сЬс/ск = vx, д.у/& = vy, ??.г/м = v?. В программу должны быть введены начальные значения ху у, г, vxy ии,ав цикле по времени — шесть строк наращивания этих шести величин.

Это позволяет весьма просто находить сложнейшие траектории.

 
Посмотреть оригинал
< Пред   СОДЕРЖАНИЕ   ОРИГИНАЛ     След >