Статья опубликована в рамках: Научного журнала «Студенческий» № 9(347)
Рубрика журнала: Математика
Скачать книгу(-и): скачать журнал часть 1, скачать журнал часть 2, скачать журнал часть 3
ИСПОЛЬЗОВАНИЕ МЕТОДА КОНЕЧНЫХ РАЗНОСТЕЙ ДЛЯ РЕШЕНИЯ ЗАДАЧИ КОШИ: ПРАКТИЧЕСКОЕ ПРИМЕНЕНИЕ ПРИ МОДЕЛИРОВАНИИ ДИНАМИКИ ФИЗИЧЕСКИХ ПРОЦЕССОВ
АННОТАЦИЯ
В статье рассматривается применение метода конечных разностей для численного решения задачи Коши для обыкновенных дифференциальных уравнений. Особое внимание уделяется практическому применению метода при моделировании динамики физических процессов. Приведена математическая постановка задачи, описан алгоритм численного решения, представлена программная реализация на языке Python и проведён анализ погрешности численного метода. Показано, что метод конечных разностей позволяет эффективно моделировать динамику физических систем при условии выбора оптимального шага дискретизации.
ABSTRACT
This article examines the application of the finite difference method to the numerical solution of the Cauchy problem for ordinary differential equations. Particular attention is given to the practical application of the method in modeling the dynamics of physical processes. The mathematical formulation of the problem is presented, the numerical solution algorithm is described, a software implementation in Python is presented, and an error analysis of the numerical method is conducted. It is shown that the finite difference method can effectively model the dynamics of physical systems, provided that an optimal discretization step is chosen.
Ключевые слова: задача Коши, метод конечных разностей, численные методы, математическое моделирование, дифференциальные уравнения, динамические системы.
Keywords: Cauchy problem, finite difference method, numerical methods, mathematical modeling, differential equations, dynamic systems.
Многие процессы в физике, технике, биологии и экономике описываются дифференциальными уравнениями. Однако аналитическое решение таких уравнений возможно лишь для ограниченного числа случаев. Поэтому в прикладных задачах широко используются численные методы, позволяющие получить приближённое решение.
Одним из наиболее распространённых подходов является метод конечных разностей, который основан на замене производных конечными разностями. Этот метод позволяет преобразовать дифференциальное уравнение в систему алгебраических уравнений.
Особую важность численные методы имеют при моделировании динамики физических процессов, таких как движение тел, распространение тепла, колебательные процессы и многие другие.
Цель данной работы – исследовать применение метода конечных разностей для решения задачи Коши и показать его использование при моделировании динамических физических систем.
Постановка задачи
Рассмотрим задачу Коши для обыкновенного дифференциального уравнения первого порядка:
![]()
с начальным условием
![]()
где
– искомая функция,
– заданная функция.
Необходимо определить значение функции
на интервале
![]()
Метод конечных разностей
Для численного решения введём сетку дискретизации:
![]()
где
− шаг сетки.
Производная заменяется конечной разностью:
![]()
Подставляя в исходное уравнение, получаем разностную схему:
![]()
Отсюда получаем рекуррентную формулу:
![]()
Эта схема соответствует явному методу Эйлера, который является частным случаем метода конечных разностей.
Алгоритм численного решения задачи Коши можно представить следующим образом [1]:
1. Задать начальные параметры ![]()
2. Определить количество шагов
![]()
3. Вычислить значения функции по формуле
![]()
4. Повторять вычисления до достижения конечного значения T
5. Сохранить результаты вычислений.
Моделирование физического процесса
Рассмотрим пример моделирования движения тела с сопротивлением среды.
Дифференциальное уравнение имеет вид:
![]()
где
– скорость тела
– ускорение свободного падения
– коэффициент сопротивления среды.
Начальное условие:
![]()
Используя метод конечных разностей:
![]()
Эта модель описывает динамику изменения скорости тела во времени.
Программная реализация
Ниже приведён пример реализации метода на языке Python.
import numpy as np
import matplotlib.pyplot as plt
g = 9.81
k = 0.5
h = 0.1
T = 10
t = np.arange(0, T, h)
v = np.zeros(len(t))
for i in range(len(t)-1):
v[i+1] = v[i] + h*(g - k*v[i])
plt.plot(t, v)
plt.xlabel("Time")
plt.ylabel("Velocity")
plt.title("Velocity of falling body with air resistance")
plt.grid()
plt.show()
Данная программа моделирует изменение скорости падающего тела с учётом сопротивления среды.
Анализ погрешности метода
Метод конечных разностей обладает погрешностью аппроксимации, которая зависит от шага сетки.
Локальная погрешность метода Эйлера имеет порядок:
![]()
Глобальная погрешность:
![]()
Это означает, что уменьшение шага сетки повышает точность решения.
Для оценки точности можно использовать:
- сравнение с аналитическим решением
- уменьшение шага сетки
- анализ устойчивости метода.
Например, аналитическое решение рассматриваемой задачи имеет вид:
![]()
Сравнение численного и аналитического решений позволяет определить величину ошибки.
Численный эксперимент показывает, что скорость тела постепенно возрастает и стремится к предельной скорости
![]()
Это соответствует физическому смыслу процесса: сопротивление среды уравновешивает силу тяжести
Метод конечных разностей позволяет достаточно точно описывать динамику системы при небольшом шаге дискретизации [2].
В работе рассмотрено применение метода конечных разностей для решения задачи Коши для дифференциальных уравнений.
Основные результаты исследования:
- выполнена математическая постановка задачи;
- описан алгоритм численного решения;
- разработана программная реализация на Python;
- проведён анализ погрешности метода.
Показано, что метод конечных разностей является эффективным инструментом для моделирования динамики физических процессов. Несмотря на относительную простоту, данный метод широко используется в задачах вычислительной физики и инженерных расчётах.
Перспективным направлением дальнейших исследований является применение более точных численных методов, например, методов Рунге-Кутты.
Список литературы:
- Самарский А.А. Численные методы. — М.: Наука, 1989.
- Калиткин Н.Н. Численные методы. — М.: Наука, 1978.
- Марчук Г.И. Методы вычислительной математики. — М.: Наука, 1989.
- Бахвалов Н.С. Численные методы. — М.: Наука, 1975.
- Пантелеев А.В., Летова Т.А. Методы вычислений. — М.: Физматлит, 2005.

