Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Решение системы дифференциальных уравнений odesolve ().



Пример решения системы уравнений представлен на Рис. 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 дает у21 + 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; Просмотров: 1231; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.015 с.)
Главная | Случайная страница | Обратная связь