|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Модифицированный метод Эйлера
Рассмотрим дифференциальное уравнение (1) y/=f(x,y) с начальным условием y(x0)=y0. Разобьем наш участок интегрирования на n равных частей. На малом участ интегральную кривую заменим прямой линией.
Рисунок 1 Метод Эйлера в графическом виде
Получаем точку Мк(хк,ук). Через Мк проводим касательную:
у=ук=f(xk,yk)(x-xk)
Делим отрезок (хк,хк1) пополам xNk/=xk+h/2=xk+1/2 (6) yNk/=yk+f(xk,yk)h/2=yk+yk+1/2
Получаем точку Nk/. В этой точке строим следующую касательную:
y(xk+1/2)=f(xk+1/2, yk+1/2)=αk (7)
Из точки Мк проводим прямую с угловым коэффициентом αк и определяем точку пересечения этой прямой с прямой Хк1. Получаем точку Мк/. В качестве ук+1 принимаем ординату точки Мк/. Тогда:
ук+1=ук+αкh xk+1=xk+h αk=f(xk+h/2, yk+f(xk,Yk)h/2) (8) yk=yk-1+f(xk-1,yk-1)h (8)
(8)-рекурентные формулы метода Эйлера. Сначала вычисляют вспомогательные значения искомой функции ук+1/2 в точках хк+1/2, затем находят значение правой части уравнения (5) в средней точке y/k+1/2=f(xk+1/2, yk+1/2) и определяют ук+1. Для оценки погрешности в точке хк проводят вычисления ук с шагом h, затем с шагом 2h и берут 1/3 разницы этих значений:
| ук*-у(хк)|=1/3(yk*-yk), (9)
где у(х)-точное решение дифференциального уравнения. Таким образом, методом Эйлера можно решать уравнения любых порядков. Например, чтобы решить уравнение второго порядка y//=f(y/,y,x) c начальными условиями y/(x0)=y/0, y(x0)=y0, выполняется замена y/=z (10) z/=f(x,y,z)
Тем самым преобразуются начальные условия
y(x0)=y0, z(x0)=z0, z0=y/0 (11)
//Алгоритм решения вашей задачи // Разработка программы Какие переменные, функции, процедуры использовали //Отладка программы на контрольном примере. Берете простейший пример и показываете что программа работает правильно. //Сравнение результатов расчета и оценка погрешностей (Эксель, Маткад) Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.003 сек.) |