Простейший метод численного решения дифференциальных уравнений
ЛАБОРАТОРНАЯ РАБОТА № 5
Простейший метод численного решения
дифференциальных уравнений
Цель работы: изучение простейшего метода решения дифференциальных уравнений в среде MathCa d и получение соответствующих навыков вычислений с использованием матриц.
ВВЕДЕНИЕ
Большое количество задач сводится к решению дифференциальных уравнений, однако, лишь небольшая часть их может быть решена аналитически. В связи с этим значительно возрастает роль численного решения дифференциальных уравнений.
Дифференциальным называется уравнение относительно неизвестной функции и её производных различных порядков . Рассмотрим задачу 5.
Задача 5
Изменение некоторой величины y( t) описывается уравнением . (1) Вычислить y( t) в диапазоне изменения t от 0 до10, если р = 2, r = 0.2, ya = 18. Начальное значение y(0) = 30.
Даже в том случае, когда аналитическое решение данного уравнения все же существует, необходимо представить решение в графическом виде, чтобы понять его характер. В связи с этим, необходимо найти численное решение уравнения (1).
Алгоритм Эйлера.
Метод численного решения диф. уравнений включает в себя преобразование диффуравнения в уравнение конечноразностное. Поскольку уравнение (1) описывает изменение величины y(t), то с известной степенью точности можно записать
, где
, а Dt - конечный интервал, т. е.
(2). С учетом этого из уравнения (3) получим:
(3).
Это и есть конечноразностное уравнение, соответствующее дифференциальному уравнению (1). В первом приближении предполагается, что правая часть уравнения (1), т. е. скорость изменения y постоянна на отрезке Dt. Это метод касательных или метод Эйлера. Совершенно очевидно, что данный метод будет давать хорошее приближение, если Dt достаточно мало. Сформулируем данный метод в виде алгоритма для компьютера:
|
1. Задаются величина шага, количество итераций и начальные условия.
2. Создается блок вычислений с помощью матриц, содержащий итерационные формулы.
3. Графически представляются результаты вычислений.
MathCad программа решения задачи 5
При решении такого типа задач часто сталкиваются с необходимостью определить влияние на полученное решение какого либо изменяющегося параметра. Для этого необходимо задать вектор, соответствующий изменению параметра и рассчитывать уже набор векторов решения, т.е. матрицу решения. Принцип реализации таких вычислений приведён в следующей MathCad программе.
MathCad программа решения задачи 5 m
На графике представлены три зависимости, соответствующие трём значениям параметра r. Увеличение r приводит к более сильному уменьшению рассчитываемой величины.
Естественно, что численное решение не может точно совпадать с “истинным” исходного дифференциального уравнения (погрешность результата порядка dt). В общем случае отклонение от точного решения обусловлено двумя причинами. В компьютере вещественные числа представляются некоторым конечным числом десятичных цифр. Погрешность, связанная с представлением вещественных чисел в компьютере, ограничиваясь заданным количеством цифр после точки (например, 15) называется погрешностью округления. Важность погрешностей округления заключается в том, что они накапливаются по мере роста вычислений.
Другой источник отклонения численного решения от точного обусловлен выбором алгоритма вычислений. Это погрешность приближения. Однако, у каждого метода решения дифференциальных уравнений имеются свои достоинства и недостатки, а соответствующий выбор определяется нашими требованиями и характером конкретного решения.
Практически точность численного решения определяют, уменьшая величину шага Dt до тех пор, пока численное решение не перестанет зависеть от шага при требуемом уровне точности.
Наряду с точностью алгоритма, другой важной характеристикой представляется его устойчивость. Например, может случится так, что численные результаты находятся в хорошем соответствии с “истинным” решением на малых временах, а на больших временах отклоняются от него. Такое отклонение может происходить из-за того что малые погрешности в алгоритме решения задачи накапливаются и приводят к геометрическому росту погрешности. Для конкретных задач такой алгоритм называется неустойчивым.
КОНТРОЛЬНЫЕ ВОПРОСЫ
- Как получить конечноразностное уравнение, соответствующее данному дифференциальному уравнению?
- В чем состоит сущность простейшего метода численного решения диффуравнения (метода Эйлера)?
- С чем связано наличие погрешностей вычислений?
- Какие типы погрешностей вычислений Вы знаете?
- Как может пользователь уменьшить погрешность приближения?
- Поясните сущность неустойчивого алгоритма решения задачи?
- Как объединить два столбца данных одинакового размера в матрицу?
литература
1. Гулд Х., Тобочник Я. Компьютерное моделирование в физике: в 2-х частях. Пер. с англ. - М.:Мир, 1990 г.
2. А. Е. Мудров Численные методы для ПЭВМ на языках Бейсик, Фортран и Паскаль. – Томск: МП «РАСКО», 1991. 272 с.
3. М. Херхагер, Х. Партолль MathCad 2000 : полное руководство. Пер. с нем. - К. : Издательская группа BHV, 2000, - 416 с.
4. Дьяконов В.П., Абраменкова И.В. MathCad 7.0 в математике, физике и в Internet. - М.: «Нолидж», 1999. - 352 с.
5. Очков В.Ф. Mathcad 7 PRO для студентов и инженеров. - М.: “Компьютер Пресс”, 1998 г. - 384 с.
6. Бородич Л.И., Герасимович А.И., Кеда Н.П., Мелешко И.Н. Справочное пособие по приближенным методам решения задач высшей математики. - Мн.: Высшая школа, 1986. - 189 с.
7. Кирьянов Д.В. Самоучитель MathCad 11. – СПб.: БХВ – Петербург, 2003.
8. Шушкевич Г.Ч., Шушкевич С.В. Введение в MathCad 2000 : Учебное пособие. – Гродно: ГрГУ, 2001. – 140 с.