Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Mетод Эйлера ⇐ ПредыдущаяСтр 10 из 10
Простой метод Эйлера реализуется применением на каждом шаге вычислений следующих итерационных выражений: xi+1=x1+h; (27) yi+1=y1+h*f(x, y). При этом для i = 0 значения x0 и y0 должны быть известны как начальные условия. Погрешность метода пропорциональна h2. Для уменьшения погрешности решения следует применять более точные методы. Например, метод Эйлера с пересчетом реализуется следующими итерационными выражениями на каждом шаге вычислений: xi+1=x1+h; yi+1=y1+h*(f(x1, y1)+f(x1+h, y1+h*f(x1, y1)))/2 (28) Погрешность метода пропорциональна h3.
Метод Рунге-Кутта При высоких требованиях к точности решения можно воспользоваться методом Рунге-Кутта, реализующийся следующими формулами: k1 = h* f(xi, yi); k2 = h* f(xi+h/2, yi+k1/2); k3 = h* f(xi+h/2, yi+k2/2); (29) k4=h*f(xi+h, yi+k3); xi+1 = xi + h; yi+1 = yi + (k1+2*k2+2*k3+k4)/6. Погрешность метода пропорциональна h5. Для решения обыкновенных дифференциальных уравнений 2-го порядка Y''+p(x)Y'+g(x)Y=f(x) с граничными условиями: k11*Y(a)+k12*Y' (a)=A, k21*Y(b)+k22*Y´ (b)=B также применяется метод конечных разностей, при этом производные, входящие в уравнение и дополнительные условия заменяются следующими конечно-разностными отношениями: ; ; ; (30) . (31) В результате получим систему алгебраических уравнений, решение которой даст таблицу приближенных значений искомой функции.
ПРИМЕР. Решить обыкновенное дифференциальное уравнение 2-го порядка: y''+xy'-0.5y/x=1 Решение: Разбив отрезок [2, 2.3] на части с шагом h = 0.1, получим четыре узловые точки с абсциссами x0 =2, x1 =2.1, x2 =2.2, x3 =2.3. Две точки x0 =2 и x3 =2.3 являются конечными, две другие – внутренними. Данное уравнение во внутренних точках заменим конечно-разностным: (i= 1, 2). Из краевых условий составим конечно-разностные уравнения в конечных точках: , y3=2.15. Задача сводится к решению системы уравнений: Примеры решения дифференциальных уравнений с помощью встроенных функций системы MathСad приведены в приложениях Д, Е. Задание 7.1. Решите на отрезке [ x0, xend ] задачу Коши методом Рунге-Кутта с постоянным шагом. Вид уравнения и начальные значения заданы в таблице 3. Изобразите графики решений, вычисленных с шагами h, 2 h и h /2. Таблица 3 – Данные для расчета
Порядок выполнения задания: 1. Присвойте начальное значение решения переменной у0. 2. Определите правую часть уравнения f(x, y). 3. Вычислите решение, используя функцию rkfixed с параметром N, вычисленным по формуле N= . 4. Сохраните решение в матрице У1. 5. Вычислите решение, используя функцию rkfixed с параметром N, вычисленным по формуле N= 2 . 6. Сохраните решение в матрице У2. 7. Вычислите решение, используя функцию rkfixed с параметром N, вычисленным по формуле N= . 8. Сохраните решение в матрице У3. 9. Постройте на одном графике все три найденных решения. 10. Оцените погрешности найденных решений по формуле Рунге.
Задание 7.2. Решите задачу Коши на отрезке [ a, b ] методом Рунге-Кутты с постоянным шагом h =0.1. Изобразите графики решений, вычисленных с шагом h, 2 h и h /2. Вид уравнений и начальные значения заданы в таблице 4. Таблица 4 – Данные для расчета
Продолжение таблицы
Порядок выполнения задания: 1. Присвойте переменной ORIGIN значение, равное единице. 2. Присвойте начальное значение решения переменной у0. 3. Определите правую часть уравнения f(x, y). 4. Вычислите решение, используя функцию rkfixed с параметром N, вычисленным по формуле N= . 5. Сохраните решение в матрице У1. 6. Вычислите решение, используя функцию rkfixed с параметром N, вычисленным по формуле N= 2 . 7. Сохраните решение в матрице У2. 8. Вычислите решение, используя функцию rkfixed с параметром N, вычисленным по формуле N= . 9. Сохраните решение в матрице У3. 10. Постройте на одном графике все три найденные решения. 11. Оцените погрешности найденных решений по формуле Рунге. Задание 7.3. Найдите общее решение линейного однородного уравнения второго порядка . Решите задачу Коши , . Изобразите его график. Значения параметров а1, а2 и а заданы в таблице 5. Таблица 5 – Данные для расчета
Порядок выполнения задания: 1. Присвойте переменной ORIGIN значение, равное единице. 2. Присвойте начальное значение решения переменной у0. 3. Определите правую часть уравнения f(x, y). 4. Вычислите решение, используя функцию rkfixed с параметром N, вычисленным по формуле N= . 5. Сохраните решение в матрице У1.
Задание 7.4. Постройте графики решения и фазовые портреты динамической системы
моделирующей взаимодействие популяций при заданных значениях параметров a, b, c, d. Значения параметров заданы в таблице 6. Исследуйте поведение решения, изменяя параметры. Таблица 6 – Данные для расчета
Порядок выполнения задания: 1. Присвойте переменной ORIGIN значение, равное единице. 2. Определите вектор-столбец начальных условий для первой задачи Коши. 3. Определите вектор-столбец правых частей системы. 4. Выберите значение шага интегрирования h и вычислите количество шагов N интегрирования системы на отрезке [ x0, xend ] по формуле N= . 5. Решите задачу Коши для первого начального условия. 6. Изобразите соответствующую фазовую кривую и график решения. 7. Определите векторы-столбцы начальных условий для каждого начального условия. 8. Решите соответствующие задачи, сохранив каждое решение в отдельной матрице. 9. Изобразите соответствующие фазовые кривые и графики решений.
Задание 7.5. Исследуйте поведение системы
моделирующей взаимодействие популяций. Выполните вычисления для значений a, b, c, d из задания 7.4 для приведённых ниже значений a (таблица 7). Таблица 7 – Данные для расчета
|