Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

[Trenogin_V.A.]_Obueknovennuee_differencialnuee_ur(BookZZ.org)

.pdf
Скачиваний:
52
Добавлен:
25.03.2016
Размер:
2.76 Mб
Скачать

§ 9. Одно из периодических решений задачи «хищник–жертва»

271

 

 

 

 

 

 

Рис. 77

§ 9. Одно из периодических решений задачи «хищник–жертва»

П р и м е р. Используя блок решения с функцией Odesolve(), найти решение начальной задачи для системы дифференциальных уравнений

.

+v = −u · v,

 

 

 

 

u.

(0) =

u0

,

(0) = 0

v

u = u

·

v,

u

 

v

 

 

 

 

 

 

 

на отрезке [a, b]. Построить графики решений и фазовую траекторию полученного решения.

Р е ш е н и е.

При построении фазовой траектории знакоместа´ для диапазонов изменения функций u(t) и v(t) следует заполнять, учитывая полученные из решения минимальные и максимальные значения этих функций.

Графики решений и фазовая траектория представлены соответственно на рис. 78 и 79.

272 Доп. II. Приложения MATHCAD к задачам для обыкновенных ДУ

Рис. 78

Рис. 79

Данная система ДУ была исследована в Дополнении I. В системе координат (u, v) фазовые траектории при некоторых начальных значениях задачи являются замкнутыми кривыми вокруг положения равновесия. Одна из них и вычисляется в данной задаче (рис. 79). Меняя в некоторых пределах начальные данные, можно получать различные траектории из семейства этих траекторий.

Уменьшение числа хищников u(t) ведет к увеличению числа жертв v(t), что в свою очередь ведет к увеличению числа хищников (рис. 78)

идальнейшему периодическому чередованию численностей хищников

ижертв.

§10. Пример задачи с релаксационным колебанием

Пр и м е р. Используя блок решения с функцией Odesolve(), найти решение начальной задачи x¨ + x − k · (1 − x2) · x˙ = 0, x(0) = 1, x˙ (0) = 1 на отрезке [a, b]. Построить график интегральной кривой.

Поставленная для численного решения задача Коши для ДУ — задача Ван дер Поля с параметром k — имеет различные приложения (см. Дополнение I).

§ 10. Пример задачи с релаксационным колебанием

273

Р е ш е н и е.

Рис. 80

Представленные на рис. 80 периодические движения называют релаксационными колебаниями. Период этих колебаний приблизительно равен 2k. Релаксационные колебания характеризуются резкими переходами от одного состояния так называемого равновесия в другое состояния «равновесия». Амплитуда колебаний приблизительно равна двум и практически не зависит от параметра k. Задержки в положениях «равновесия» приблизительно равны значению параметра k, а значение отклонения за этот промежуток изменяются либо от 2 до 1, либо от 2 до 1. Этот процесс особенно хорошо воспринимается при наблюдении

за графиком изменения скорости v(t) = x˙ (t), равной приблизительно k1

в промежутках «равновесия» (рис. 81), — решение ниже поставленной задачи.

18 В.А. Треногин

274 Доп. II. Приложения MATHCAD к задачам для обыкновенных ДУ

Рис. 81

Промежутки релаксации — это промежутки, где скорость почти равна нулю (от 2 до 1 и от 1 до 2 на рис. 82).

Рис. 82

§ 11. Численное моделирование задачи о тепловом взрыве

Математическая модель теплового взрыва, принадлежащая лауреату Нобелевской премии академику Н. Н. Семёнову, была рассмотрена в Дополнении I.

П р и м е р. Найти решение начальной задачи θ˙ = exp

θ

 

θ

,

1 + βθ

k

θ(0) = 0 на отрезке [a, b], используя блок решения с функцией Odesolve(). Построить график интегральной кривой.

Р е ш е н и е. Частные случаи решения задачи, когда β = 1/8 при различных величинах k, выбор которых далее мотивирован поведением правой части дифференциального уравнения, являются типичными для

§ 11. Численное моделирование задачи о тепловом взрыве

275

любых 0 < β < 1 и k > 0. Возможны следующие три случая решения уравнения (в частности, для β = 1/8)

 

 

 

 

 

θ

 

θ

f(θ) = y(θ),

где

f(θ) = exp

1 + βθ ,

y(θ) =

 

.

k

1) Уравнение имеет

два

корня,

один

из которых θ ≈ 1,3729 при

k ≈ 0,4253 (рис. 83,

а)

— это

точка

касания

графиков функций

f(θ) и y(θ), другой θ ≈ 1200 (рис. 83, б) — точка пересечения этих графиков.

2) Уравнение f(θ) = y(θ) имеет три корня, если 0 < k < k ≈ 0,4253 наименьший из которых меньше θ (0 < θ < θ ≈ 1,3729).

Графики функций f(θ) и y1(θ) = 0,3θ пересекаются в трех точках

(рис. 83).

3. Уравнение имеет один корень, если k > k ≈ 0,4253 (рис. 83), превосходящий θ ≈ 1200. Графики функций f(θ) и y2(θ) = 0,6θ пересекаются в одной точке (рис. 83).

Рис. 83

Интегральная кривая данной задачи — функция θ(t), возрастающая до своего предельного значения, равного наименьшему (или единственному) корню уравнения f(θ) = y(θ). На рис. 84 представлены интегральные кривые θ(t), θ1(t) и θ2(t) решения задачи при значениях параметра k в правой части ДУ, равных соответственно 0,4254 (несколько больше k ≈ 0,4253), k1 = 0,3 и k2 = 0,6.

18*

276 Доп. II. Приложения MATHCAD к задачам для обыкновенных ДУ

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

Рис. 84

З а м е ч а н и е. Значения θ ≈ 1,3729 и k ≈ 0,4253 получены в прикладной программе MATHCAD как решение системы уравнений

 

 

exp

θ

 

 

=

θ

 

 

 

f(θ) = y(θ),

 

 

 

 

,

 

 

 

 

т. е

1 + βθ

k

= 1 .

f (θ) = y (θ),

 

 

1

 

 

exp

 

 

θ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(1 + βθ)2

 

 

1 + βθ

 

k

Д о п о л н е н и е III

РЕШЕНИЕ ЗАДАЧ ДЛЯ ОБЫКНОВЕННЫХ ДУ С ИСПОЛЬЗОВАНИЕМ СИСТЕМЫ КОМПЬЮТЕРНОЙ АЛГЕБРЫ MATHEMATICA

Н. И. Земцова, В. А. Треногин

Система компьютерной алгебры Mathematica, разработанная американской компанией Wolfram Research Inc., является одним из универсальных программных средств, предназначенных в первую очередь для выполнения технических расчетов. В настоящее время время она с успехом используется не только в физике и математике, но и в таких областях, как кибернетика, биология, химия, экономика, финансовое и банковское дело, социология. Этому во многом способствовали не только исключительно мощные вычислительные возможности системы, но и простота и удобство работы с ней. Цель данной главы — познакомить читателя с применением системы символьных вычислений Mathematica для решения основных типов обыкновенных дифференциальных уравнений. Аналогичные задачи решаются в других современных компьютерных системах, таких, как Maple, MatLab, Maxima.

§ 1. Структура системы Mathematica

Система состоит из двух основных частей: вычислительное ядро (The Kernel) и оболочка (The Front End). Ядро представляет собой программное обеспечение, непосредственно выполняющее вычисления и работающее одинаково на всех типах компьютеров. Оболочка обеспечивает взаимодействие между ядром и пользователем. При этом вычислительное ядро и оболочка могут находиться как на одном, так и на разных компьютерах; в последнем случае связь между ними осуществляется по сети.

Наиболее общей и удобной для пользователей является оболочка, используемая при работе в операционной системе Windows. Она позволяет работать с ядром в интерактивном режиме, при котором команды, предназначенные для выполнения, и получаемые результаты изображаются на экране монитора.

278 Доп. III. Решение задач с использованием системы Mathematica

Окно системы Mathematica 5 при ее запуске показано на рис. 85.

Рис. 85

Окно редактирования, называемое блокнотом или ноутбуком, состоит, как видно из рисунка, из команд пользователя и результатов, выводимых системой. Вводимые команды пользователя и выводимые результаты объединены в так называемые ячейки, отмеченные в правой части главного окна редактирования характерными квадратными скобками. Особенностью документов, создаваемых в системе Mathematica, является возможность соединять в них различные элементы, такие, как текст, команды, выполняемые ядром, получаемые при этом результаты в виде чисел, выражений, таблиц, графиков, звуков, а также рисунки. В простейшем случае работа с системой напоминает работу с обычным калькулятором и представляет собой диалог, состоящий из пар:

In[n] := Команда, вводимая пользователем Out[n] = Результат, выводимый системой

При этом команда пользователя сводится либо к выражению, которое нужно вычислить, либо к применению какой-либо встроенной функции, число которых в системе Mathematica превышает тысячу. Для выполнения команды достаточно набрать необходимое математическое выражение и одновременно нажать клавиши Shift + Enter. Для набора

§ 2. Простейшие численные и символьные вычисления

279

команд и редактирования введенной информации можно использовать весь спектр возможностей клавиатуры и мыши, включая копирование (Copy), вырезание (Cut), вставки (Paste), удаление (Delete) и т. п. Кроме того, можно использовать инструментальные панели с множеством пиктограмм ввода математических символов, что позволяет представлять формулы в виде, близком к традиционным математическим обозначениям. Например, следующие два выражения эквивалентны:

y Sum i^2 1 , i, 1, 10

10

y i2 1

i 1

§2. Простейшие численные и символьные вычисления

всистеме Mathematica

2.1. Численные расчеты

Mathematica выполняет все известные операции с числами, производя вычисления с максимально возможной точностью. Рассмотрим несколько примеров.

а) Арифметические вычисления:

2 + 3/4

N[2 + 3/4]

11

4

2.75

100!

933262154439441526816992388562667004907159682643816214

685929638952175999932299156089414639761565182862536979

20827223758251185210916864000000000000000000000000

2.187143 {157}

2.29465 × 1053

б) Решение алгебраического уравнения:

NSolve[x6 – 3x4 + 17x – 3 == 0, x]

x 2.18311 , x 0.643543 1.40029 , x 0.643543 1.40029 ,x 0.176641 , x 1.64678 0.750866 , x 1.64678 0.750866

в) Нахождение минимального значения функции в заданной области:

NMinimize[Cos[x y] + x, x2 + y2 < = 10, x, y]

{-3.99011, {x -2.99809, y 1.0057} }

280 Доп. III. Решение задач с использованием системы Mathematica

г) Численное интегрирование функции:

NIntegrate[Sin[x2] / x2, {x, 0, 1 }]

0.967577

2.2. Символьные вычисления

Mathematica позволяет обрабатывать выражения, содержащие переменные или символы.

а) Преобразование алгебраических выражений:

(a - 2b)5 // Expand

a5 - 10a4b + 40a3b2 - 80a2b3 + 80ab4 - 32b5

б) Разложение в ряд Тейлора:

Series[ Cos[x2+3x] , {x,0,5}] x2+1

1 -

11x2

- 3x3+

67x4

-

15x5

+ O[x]6

2

8

2

 

 

 

 

в) Вычисление неопределенного интеграла:

Integrate[

 

x

 

,x]

 

 

 

 

 

 

 

 

 

3

 

 

 

 

 

 

 

 

 

 

 

 

x +1

 

 

 

 

 

 

 

 

 

 

ArcTan[(- 1 + 2x)/

3

]

-

1

Log[1 - x]+

1

Log[1 - x - x

2

]

 

 

 

 

 

 

 

 

 

 

3

6

 

 

3

 

 

 

 

§ 3. Запись дифференциальных уравнений в системе Mathematica и их решение на примере простейших задач

Дифференциальное уравнение можно записать несколькими спосо-

бами. Суть от этого не меняется. Например y =

y

можно записать

1 + ex

следующими способами:

 

 

y’[x] == y[x](1 + Exp[x]),

 

 

или

 

 

D[y[x], x] == y[x]/(1 + ex),

 

 

или

 

 

x y[x] == y[x](1 + ex)

 

 

(символ можно ввести с палитры BasicInput).

Как видим, искомая функция y и ее производные записываются с аргументом, заключенным в квадратные скобки: y[x], y [x], . . ..

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

Для решения в символьном виде используются следующие функции: