Главная  Микрокалькулятор 

[0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [ 13 ] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] [38] [39] [40] [41] [42] [43] [44] [45] [46] [47] [48] [49] [50] [51] [52] [53] [54] [55] [56] [57] [58] [59] [60] [61] [62] [63] [64] [65] [66] [67] [68] [69]

учить вас численно решать простые дифференциаль-ные уравнения.

Нужно сказать, что такие уравнения играют важную роль во всех областях науки и техники. Помимо независимой переменной х и функции y = f{x), они содержат производные от г/ по л; (в простейшем случае - первую производную г/).

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

y = f{x, у).

Решить это уравнение означает найти функцию у =2 = g{x), которая ему удовлетворяет. Строго говоря, существует бесконечно много таких функций, но все они отличаются друг от друга лишь на постоянную. Задав начальное значение г/о при некотором значении Хо, мы получим уже вполне определенное решение.

Метод численного решения дифференциальных уравнений Рунге - Кутта принадлежит к числу испытанных методов вычислительной математики. Он позволяет, исходя из заданного начального значения г/о при х - хо, шаг за шагом, увеличивая каждый раз х на одну и ту же величину h, получать новые значения у. Возникающие пары чисел

-Ь /г, у (Хо -Ь /г); -f 2h, у {Xq -f 2h) и т. д.

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

Мы не будем выводить здесь формулы, используемые в методе Рунге-Кутта (это увело бы нас далеко за рамки нашей книги и было бы утомительно ля читателя-нематематика), а просто выпишем их:

Ум = У1-\-[!{х1, yi) + f{xi+i, бг+i)],

йг+1 = г/г + /г • / (л;,, г/;),

Xi = Хо + ih, где г = 0, 1, 2, ....

Задать необходимо начальные значения Хо, уо и шаг h (и, разумеется, то дифференциальное уравнение, которое требуется решить).

Для беспокойства нет ни малейших оснований: из следующего примера вам станет ясно, какие вычис-



лительные операции скрываются за формулами метода Рунге- Кутта.

Предположим, что мы хотим при помощи микрокалькулятора найти численное решение «линейного однородного обыкновенного дифференциального уравнения первого порядка»

у = • У

методом Рунге - Кутта. Пусть заданы начальные значения ао = 1 и г/о = 1. Решение требуется найти на отрезке от л; = 1 до л; = 2 с шагом h = 0,2.

Для нашего уравнения f{xi, yi) = \/xtyi, а индекс i имеет начальное значение г = О и после каждого цикла вычислений возрастает на единицу. Тогда

+0,2=1,2; Х2= 1 + 0,4 = 1,4; = 1 +0,6= 1,6

и т. д. При i - О получаем

6i = г/о + /г г/о = 1 + 0,2 л/Г . 1 = 1,2; У1 = г/о + --[л/г/о+V-i 6i] = = l+-[Vr.l + Vb2] = 1.231;

при / = 1

б2 = г/1+Л • 1,231 + 0,2 Vb2 1.231 = 1,501;

г/2 = г/i + [ Va;i • г/1 + V-2 • 62] ==

= 1,231 + -[U 1,231 + VM . 1,501] = 1,543.

Соответствующие значения у оказываются равными: г/3 = 1,967; г/4 = 2,547; 5 = 3,346.

В следующей таблице приведены приближенные значения г/прибл, вычисленные по методу Рунге -Кутта, и точные значения г/точн, вычисленные по формуле



задающей точное решение дифференциального уравнения

г/ = еЗ

В последней строке указана величина невязки р -

(г/точн г/прибл) /г/точн-

1,231

1,543

1,967

2,547

3.346

i/тоЧН

1,233

1,546

1,979

2,568

3.384

0,2%

0,4%

0,6%

0,8%

1.1%

Отчетливо видно, что по мере удаления от начальных значений невязка возрастает. Это одна из основных особенностей метода Рунге - Кутта.

При меньшем шаге h точность вычислений увеличилась бы, но возрос бы и объем вычислений.

ИГРА В НИМ

Возможно, вам случалось играть в ним с друзьями и даже проигрывать, если вы не знаете оптимальной стратегии. Мы хотим открыть вам секрет этой игры и убедить вас в том, что, не особенно утруждая себя, при помощи простого алгоритма и вашего микрокалькулятора вы сможете завоевать право на получение низшего спортивного разряда по ниму.

Напомним правила игры. На стол кладут заранее обусловленное число (Л) спичек. Двое партнеров по очереди берут со стола не менее одной и не болееР (((число Р также заранее задано) спичек. Проигравшим считается тот, кто берет со стола последнюю спичку. (Число N должно быть гораздо больше числа Р.)

Чтобы разработать выигрышную стратегию, попытаемся проанализировать игру с конца. Выберем вполне реальные числа = 20, Р = 4. Итак, на столе лежат 20 спичек, и каждый играющими, дождав-



[0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [ 13 ] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] [38] [39] [40] [41] [42] [43] [44] [45] [46] [47] [48] [49] [50] [51] [52] [53] [54] [55] [56] [57] [58] [59] [60] [61] [62] [63] [64] [65] [66] [67] [68] [69]

0.0008