Найти в Дзене
Piter Melnikov

Приложение Excel-VBA для численного решения обыкновенных дифференциальных уравнений

В статье приведена технология решения обыкновенных дифференциальных уравнений в среде MS Excel. Эта технология может, с одной стороны, показаться сложной для неподготовленных пользователей, с другой - не обеспечивает достаточную точность вычислений, так как интегрирование выполняется с достаточно большим шагом. Вам предлагается готовое приложение, позволяющее решать обыкновенные дифференциальные уравнения. Приложение использует модифицированный метод Эйлера второго порядка: Исходные значения для вычисления, такие как начальные значения Х и У, интервал интегрирования, и сама правая часть (функция) указываются на рабочем листе, а затем вводятся в соответствующие поля формы как адресные ссылки (рис. 1). Решение выполняется с использованием шага h, величина которого вычисляется ка частное от величины интервала, поделенного на 1000, т.е. достаточно малым. Результаты формируются в виде таблицы на каждом двадцатом шаге итерации.
Для задания исходных значений удобно использовать предлагаемый

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

-2

Исходные значения для вычисления, такие как начальные значения Х и У, интервал интегрирования, и сама правая часть (функция) указываются на рабочем листе, а затем вводятся в соответствующие поля формы как адресные ссылки (рис. 1).

Рис. 1.
Рис. 1.

Решение выполняется с использованием шага h, величина которого вычисляется ка частное от величины интервала, поделенного на 1000, т.е. достаточно малым. Результаты формируются в виде таблицы на каждом двадцатом шаге итерации.
Для задания исходных значений удобно использовать предлагаемый шаблон (рис. 2).

Рис. 2.
Рис. 2.

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

-5

при начальных условиях x0=0, y(x0)=1 на интервале [0,1].

1. Введем на рабочем листе начальные значения Х и У.
2. Введем функцию, используя вместо Х и У ссылки на соответствующие ячейки.
3. Вызовем форму, кликнув на кнопке
Открыть форму.
4. Введем в поля формы адресные ссылки на соответствующие атрибуты рабочего листа (рис. 3).
5. Кликнем на кнопе
Вычислить.

рис. 3.
рис. 3.

В результате вычислений получим таблицу значений Х и У (рис. 4).

Рис. 4.
Рис. 4.

Аналитическое решение этого уравнения запишется так:

-8

При значении Х=1 вычисленное по этой формуле значение
У = 8,583584148. Как видим результаты решений совпадают с точностью до четвертого знака. Как получить формулу зависимости У от Х можно применить прием приведенный в
статье.

Скачать приложение можно по этой ссылке