Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основы математического моделирования в системе Maxima. Учебное пособие для студентов агроинженерного факультета по направлению 35.03.06 - «Агроинженер.pdf
Скачиваний:
0
Добавлен:
12.08.2026
Размер:
805 Кб
Скачать

50

3. Элементы вычислительной математики

Рис. 3.7. Аппроксимация решения задачи Коши ломаными Эйлера–Коши

на отрезке [0,

8 ]

с шагами сеток

1 = 2

,

2 = 1

и

3 = 1

5

5

5

 

10

3.4.3. Методы Рунге–Кутты

Основная идея методов Рунге–Кутты состоит в построении разностной схемы таким образом, чтобы приращение функции на текущем шаге = 1 совпадало с приращением, определяемым рядом Тейлора (3.17) с учётом как можно большего числа его членов. При этом для определения старших производных используются их конечно-разностные аналоги в некоторых специально подобранных точках, лежащих на отрезке [ 1, ]. Методы Рунге–Кут- ты позволяют строить конечно-разностные схемы различных порядков точности. Одной из наиболее распространённых является явная четырёхстадийная конечно-разностная схема четвёртого порядка точности, определяемая формулами:

 

 

 

 

= 1 + ·

1 + 2 2 + 2 3

+ 4

,

(3.21)

 

 

 

 

 

 

 

 

6

 

 

 

где 1

= (

1,

1); 2

= (

1

+ ,

1

+ 1 ); 3

= (

1 +

+ ,

 

1 + 2

 

 

 

 

 

 

 

2

 

 

2

 

 

); 4 = (

1 + ,

1 + 3 ).

 

 

 

 

 

2

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3.4. Численное решение задачи Коши

51

Пример 3.10. Решить задачу Коши для обыкновенного дифферен-

циального уравнения = с начальным условием (0) = 1 ,

 

2

используя методы Эйлера, Эйлера–Коши и Рунге–Кутты на отрез-

ке [0, 8 ] для равномерной сетки с шагом =

1 , и сопоставить

5

5

полученные аппроксимации с точным решением.

 

Программа, обеспечивающая решение поставленной задачи, в основном аналогична программе из предыдущего примера. Для генерирования списка координат сеточных функций по методу Рунге– Кутты в листинге 3.10 : (%i6)–(%o7) используется функция «rk()», загружаемая из библиотеки «dynamics». Аргументами данной функции являются: а) правая часть интегрируемого дифференциального уравнения «f(x,y)»; б-в) обозначение искомой функции «y» и её начальное значение «ya»; г) обозначение независимой переменной и данные для построения сетки «[x,a,b,h]».

Листинг 3.10 Решение задачи Коши методом Рунге–Кутты

(%i1) a:0$ b:1.6$ ya:0.5$

h:[0.4,0.2,0.1]$

f(x,y):=y-x;

(%o5) ( , ) :=

(%i6) load(dynamics)$

dots1:rk(f(x,y),y,ya,[x,a,b,h[1]]);

dots2:rk(f(x,y),y,ya,[x,a,b,h[2]])$

dots3:rk(f(x,y),y,ya,[x,a,b,h[3]])$

(%o7) [[0.0,0.5],[0.4,0.654133],[0.8,0.687366],[1.2,0.540247],[1.6,0.124090]] (%i10) ode2(’diff(y,x)=f(x,y),y,x);

ic1(%,x=a,y=ya);

(%o10) = (% (− − 1)% )%

rat: replaced -0.5 by -1/2 = -0.5

(%o11) = % 22 2

На рис.3.8 показана аппроксимация решения задачи Коши лома-

ными Рунге–Кутты на отрезке [0, 8

] на регулярных сетках при

 

 

 

5

 

1

= 2

, 2 = 1

и 3 =

1

. Чёрная утолщённая линия соответствует

 

 

5

5

10

 

 

графику точного частного решения = + + 1, красные сплош-

2

ные линии –– аппроксимирующим ломаным, а красные символы «»

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]