Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Решение системы дифференциальных уравнений odesolve (). ⇐ ПредыдущаяСтр 3 из 3
Пример решения системы уравнений представлен на Рис. 14. Системы решаются практически так же, как и отдельные уравнения. В рамках блока Given вводятся решаемые уравнения и начальные условия к ним. После этого вызывают процедуру odesoive (). Отличие по сравнению с предыдущим случаем состоит в том, что теперь аргументов у процедуры не два, а три: · Первый аргумент — вектор с названиями функций, относительно которых решается система уравнений; · Вторым аргументом функции указываем переменную; · А третьим — верхнюю границу ее изменения. В нижней части документа на Рис. 14 представлены графики найденных функций.
Рис. 14. Решение системы дифференциальных уравнений с помощью процедуры odesolve ().
Еще несколько замечаний относительно процедуры odesoive(): · Что касается ее аргументов, то последним из них можно указывать число шагов для поиска решения. · Как отмечалось ранее, уравнения могут решаться различными математическими методами. По умолчанию в рамках процедуры odesoive() решение ищется по методу Рунге-Кутта с переменным шагом. Можно задать адаптивный метод или метод решения жестких уравнений. Для этого нужно выделить процедуру odesoive() и щелкнуть правой кнопкой мыши. В раскрывающемся списке есть несколько команд, позволяющих выбрать требуемый метод решения дифференциальных уравнений: команду Adaptive выбирают для адаптивного метода, а команда stiff полезна при решении жестких уравнений и систем. Процедура выбора команды для метода решения показана на Рис. 15. Метод Эйлера и его модификации для решения обыкновенных дифференциальных уравнений. В основе метода Эйлера лежит идея графического построения решения ДУ ( Рис. 15 ).
Рис. 15. К объяснению метода Эйлера Пусть дано дифференциальное уравнение:
с начальным условием у0 = у(х0) . Выбрав достаточно малый шаг h , построим, начиная с точки х0, систему равноотстоящих точек xi = x0 + ih (i = 0, 1, 2,...). Вместо искомой интегральной кривой на отрезке [ x0, xi ] рассмотрим отрезок касательной к ней в точке M0(x0, y0), уравнение которой: у= у0 + f(x0, y0) • (х - х0). При x=x1 из уравнения касательной получаем у1 = у0 + h f(х0, у0). Следовательно, приращение функции на первом шаге равно ∆ у0 = h f(х0, y0). Проведя аналогично касательную к интегральной кривой в точке (x1, y1), получим: y = y1+f(x1, y1)*(x-x1), что при х = х2 дает у2 =у1 + h f (x1, y1), т. е. у2 получается из у1 добавлением приращения ∆ y1= hf(x1, y1). Таким образом, вычисление таблицы значений функции, являющейся решением ДУ, состоит в последовательном применении пары формул: ∆ yk=hf(xk, yk), yк+1=yк+∆ yк Метод Эйлера, как видно из рисунка, имеет погрешность. Известны различные уточнения метода Эйлера. Модификации данных методов направлены на уточнение направления перехода из точки (хi, уi) в точку (xi+1, yi+1). Например, в методе Эйлера—Коши (усовершенствованный метод) используют следующий порядок вычислений: y*i+1 =yi+hf(xi, yi), yi+1=yi+ h ( f (xi, yi) + f(xi+1, y*i+1) ) /2, Геометрически это означает, что определяется направление интегральной кривой в исходной точке (хi, уi, ) и во вспомогательной точке (xi+1, y*i+1) , а в качестве окончательного берется среднее значение этих направлений. Пример 1. Решение дифференциального уравнения методом Эйлера. Решить задачу Коши для ДУ y(x) = x + cos — на отрезке [1, 7; 2, 7] при заданном НУ: y(1, 7) =5, 3 и шаге интегрирования h = 0, 1 методом Эйлера с шагом h и h/2. Решение. Ход решения задачи по методу Эйлера приведен на Рис. 16.
Рис. 16. Фрагмент программы с решением уравнения методом Эйлера с шагом с шагом h и h/2. 1. Составим программу, реализующую метод Эйлера (Рис. 17).
Рис. 17. Листинг программы, реализующий метод Эйлера. 2. Получим решение ДУ методом Эйлера с двумя шагами h и h/2( Рис. 18 ). Рис. 18. Нахождение численного решения ДУ методом Эйлера. 3. Ответ: Решением ДУ y(x) = x + cos на отрезке [1, 7; 2, 7] с НУ y(1, 7) =5, 3 методом Эйлера с шагом h и h/2 будет таблица значений ES_h и ES_h2 (Рис. 21).
Пример 2. Решение дифференциальное уравнение усовершенствованным методом Эйлера. 1. Задание функции, реализующей метод Эйлера—Коши ( Рис. 19 ). Аргументы функции: у0 - значение решения в точке х0 ; х0, xl — левый и правый концы интервала вычисления численного решения; N — число сетки, на которой ищется решение ДУ; f — имя функции, стоящей в правой части ДУ. Функция возвращает таблицу, состоящую из двух столбцов, первый столбец— значения аргумента, второй столбец— значения решения ДУ.
Рис. 19. Функция, реализующая метод Эйлера—Коши для ДУ первого порядка. 2. Нахождение численного решения ДУ на интервале [0, 5]: А1: =Euler1(x0, y0, x1, N, f) 3. Визуализация численного решения ( Рис. 20 ).
Рис. 20. Численное решение ДУ y’=x2 полученное методом Эйлера. Популярное:
|
Последнее изменение этой страницы: 2016-05-03; Просмотров: 1274; Нарушение авторского права страницы