метод Эйлера
Дифференциальные уравнения |
---|
Объем |
Классификация |
Решение |
Люди |
В математике и информатике метод Эйлера (также называемый прямым методом Эйлера процедура первого порядка ) — это численная для решения обыкновенных дифференциальных уравнений (ОДУ) с заданным начальным значением . Это самый простой явный метод численного интегрирования обыкновенных дифференциальных уравнений и самый простой метод Рунге – Кутты . Метод Эйлера назван в честь Леонарда Эйлера , который впервые предложил его в своей книге Institutionum Calculi Integralis (опубликованной в 1768–1770 гг.). [1]
Метод Эйлера является методом первого порядка, что означает, что локальная ошибка (ошибка на шаг) пропорциональна квадрату размера шага, а глобальная ошибка (ошибка в данный момент времени) пропорциональна размеру шага. Метод Эйлера часто служит основой для построения более сложных методов, например метода предиктора-корректора .
Геометрическое описание
[ редактировать ]Цель и почему это работает
[ редактировать ]Рассмотрим задачу вычисления формы неизвестной кривой, начинающейся в заданной точке и удовлетворяющей заданному дифференциальному уравнению. Здесь дифференциальное уравнение можно рассматривать как формулу, по которой наклон касательной к кривой можно вычислить в любой точке кривой после расчета положения этой точки.
Идея состоит в том, что, хотя кривая изначально неизвестна, ее начальная точка, которую мы обозначаем через известно (см. рисунок 1). Тогда из дифференциального уравнения наклон кривой при можно вычислить и так касательную.
Сделайте небольшой шаг по касательной до точки На этом небольшом шаге наклон не слишком сильно меняется, поэтому будет близко к кривой. Если мы притворимся, что все еще находится на кривой, те же рассуждения, что и для точки выше можно использовать. После нескольких шагов ломаная кривая ( ) вычисляется. В общем, эта кривая не отличается слишком далеко от исходной неизвестной кривой, и ошибку между двумя кривыми можно сделать небольшой, если размер шага достаточно мал и интервал вычислений конечен. [2]
Процесс первого порядка
[ редактировать ]Если заданы значения для и и производная от является заданной функцией и обозначается как . Начните процесс с установки . Далее выберите значение для размера каждого шага по оси t и установите (или эквивалентно ). Теперь метод Эйлера используется для нахождения от и : [3]
Стоимость является приближением решения в момент времени , то есть, . Метод Эйлера является явным , т.е. решение является явной функцией для .
Процесс высшего порядка
[ редактировать ]Хотя метод Эйлера объединяет ОДУ первого порядка, любое ОДУ порядка можно представить как систему ОДУ первого порядка. Когда дана ОДА порядка определяется как
а также , , и , мы реализуем следующую формулу, пока не достигнем аппроксимации решения ОДУ в нужный момент времени:
С этими системами первого порядка можно обращаться методом Эйлера или, фактически, любой другой схемой для систем первого порядка. [4]
Пример первого порядка
[ редактировать ]Учитывая проблему начального значения
мы хотели бы использовать метод Эйлера для аппроксимации . [5]
Используя размер шага, равный 1 ( h = 1 )
[ редактировать ]Метод Эйлера – это
поэтому сначала мы должны вычислить . В этом простом дифференциальном уравнении функция определяется . У нас есть
Выполнив описанный выше шаг, мы нашли наклон линии, касательной к кривой решения в точке . Напомним, что наклон определяется как изменение разделенное на изменение , или .
Следующий шаг — умножить указанное выше значение на размер шага. , который здесь мы принимаем равным единице:
Поскольку размер шага – это изменение , когда мы умножаем размер шага и наклон касательной, мы получаем изменение ценить. Это значение затем добавляется к исходному value для получения следующего значения, которое будет использоваться для вычислений.
Вышеуказанные шаги следует повторить, чтобы найти , и .
Из-за повторяющегося характера этого алгоритма, чтобы избежать ошибок, может быть полезно организовать вычисления в виде диаграммы, как показано ниже.
0 1 0 1 1 1 2 1 2 1 2 1 2 4 2 4 2 4 1 4 8 3 8 3 8 1 8 16
Вывод этого вычисления таков: . Точное решение дифференциального уравнения есть , так . Хотя аппроксимация метода Эйлера в данном конкретном случае была не очень точной, в частности из-за большого размера шага. , его поведение качественно правильное, как показано на рисунке.
Использование других размеров шага
[ редактировать ]Как было предложено во введении, метод Эйлера более точен, если размер шага меньше. В таблице ниже показаны результаты с разными размерами шага. Верхняя строка соответствует примеру из предыдущего раздела, а вторая строка показана на рисунке.
размер шага результат метода Эйлера ошибка 1 16.00 38.60 0.25 35.53 19.07 0.1 45.26 9.34 0.05 49.56 5.04 0.025 51.98 2.62 0.0125 53.26 1.34
Ошибка, записанная в последнем столбце таблицы, представляет собой разность точного решения при и приближение Эйлера. Внизу таблицы размер шага равен половине размера шага в предыдущей строке, а ошибка также примерно вдвое меньше ошибки в предыдущей строке. Это говорит о том, что ошибка примерно пропорциональна размеру шага, по крайней мере, для достаточно малых значений размера шага. В целом это верно и для других уравнений; см. в разделе «Глобальная ошибка усечения» дополнительные сведения .
Другие методы, такие как метод средней точки, также показанный на рисунках, ведут себя более благоприятно: глобальная ошибка метода средней точки примерно пропорциональна квадрату размера шага. По этой причине метод Эйлера называется методом первого порядка, а метод средней точки — второго порядка.
Из приведенной выше таблицы мы можем экстраполировать, что размер шага, необходимый для получения ответа, правильного до трех знаков после запятой, составляет примерно 0,00001, что означает, что нам нужно 400 000 шагов. Такое большое количество шагов влечет за собой высокие вычислительные затраты. По этой причине используются методы более высокого порядка, такие как методы Рунге-Кутты или линейные многошаговые методы , особенно если требуется высокая точность. [6]
Пример высшего порядка
[ редактировать ]Для этого примера третьего порядка предположим, что дана следующая информация:
Отсюда мы можем выделить y''', чтобы получить уравнение:
Используя это, мы можем получить решение для : И используя решение для , мы можем получить решение для : Мы можем продолжать этот процесс, используя ту же формулу столько, сколько необходимо, чтобы найти любое желанный.
Вывод
[ редактировать ]Метод Эйлера можно получить несколькими способами.
(1) Во-первых, приведено выше геометрическое описание.
(2) Другая возможность — рассмотреть разложение Тейлора функции вокруг :
Дифференциальное уравнение утверждает, что . Если это подставить в разложение Тейлора и игнорировать квадратичные члены и члены более высокого порядка, возникает метод Эйлера. [7]
Расширение Тейлора используется ниже для анализа ошибок, допущенных методом Эйлера, и его можно расширить для получения методов Рунге – Кутты .
(3) Близко связанный вывод заключается в замене прямой конечной разности производной формулой :
в дифференциальном уравнении . Опять же, это дает метод Эйлера. [8]
Аналогичные вычисления приводят к методу средней точки и обратному методу Эйлера .
(4) Наконец, можно проинтегрировать дифференциальное уравнение из к и примените фундаментальную теорему исчисления, чтобы получить:
Теперь аппроксимируем интеграл методом левого прямоугольника (только с одним прямоугольником):
Объединив оба уравнения, мы снова получаем метод Эйлера. [9]
Эту линию мысли можно продолжить, придя к различным линейным многошаговым методам .
Локальная ошибка усечения
[ редактировать ]Локальная ошибка усечения метода Эйлера — это ошибка, допущенная за один шаг. Это разница между численным решением после одного шага, , и точное решение в момент времени . Численное решение имеет вид
Для точного решения мы используем разложение Тейлора, упомянутое в разделе «Вывод» выше:
Локальная ошибка усечения (LTE), вносимая методом Эйлера, определяется разницей между этими уравнениями:
Этот результат справедлив, если имеет ограниченную третью производную. [10]
Это показывает, что для малых , локальная ошибка усечения примерно пропорциональна . Это делает метод Эйлера менее точным, чем методы более высокого порядка, такие как методы Рунге-Кутты и линейные многошаговые методы , для которых локальная ошибка усечения пропорциональна более высокой степени размера шага.
Немного другую формулировку для локальной ошибки усечения можно получить, используя форму Лагранжа для остаточного члена в теореме Тейлора . Если имеет непрерывную вторую производную, то существует такой, что
В приведенных выше выражениях для ошибки вторая производная неизвестного точного решения можно заменить выражением, включающим правую часть дифференциального уравнения. Действительно, это следует из уравнения что [12]
Глобальная ошибка усечения
[ редактировать ]Глобальная ошибка усечения — это ошибка в фиксированный момент времени. , после любого количества шагов, которые метод должен выполнить, чтобы достичь этого времени с начального момента. Глобальная ошибка усечения — это совокупный эффект локальных ошибок усечения, совершенных на каждом этапе. [13] Число шагов легко определить как , что пропорционально , а ошибка, совершаемая на каждом шаге, пропорциональна (см. предыдущий раздел). Таким образом, следует ожидать, что глобальная ошибка усечения будет пропорциональна . [14]
Это интуитивное рассуждение можно уточнить. Если решение имеет ограниченную вторую производную и является липшицевым непрерывным по своему второму аргументу, то глобальная ошибка усечения (обозначается как ) ограничено
где является верхней границей второй производной на заданном интервале и константа Липшица . [15] Или проще говоря, когда , значение (такой, что считается константой). В отличие, где функция является точным решением, содержащим только переменная.
Точная форма этой границы не имеет практического значения, поскольку в большинстве случаев она значительно переоценивает фактическую ошибку, допущенную методом Эйлера. [16] Важно то, что он показывает, что глобальная ошибка усечения (приблизительно) пропорциональна . По этой причине метод Эйлера называют методом первого порядка. [17]
Пример
[ редактировать ]Если у нас есть дифференциальное уравнение , и точное решение , и мы хотим найти и когда . Таким образом, мы можем найти границу ошибки при t=2,5 и h=0,5:
Обратите внимание, что t 0 равно 2, поскольку это нижняя граница t в .
Численная стабильность
[ редактировать ]Метод Эйлера также может быть численно нестабильным , особенно для жестких уравнений , а это означает, что численное решение становится очень большим для уравнений, для которых нет точного решения. Это можно проиллюстрировать с помощью линейного уравнения
Точное решение , который убывает до нуля при . Однако если к этому уравнению применить метод Эйлера с размером шага , то численное решение качественно неверно: оно колеблется и растет (см. рисунок). Вот что значит быть нестабильным. Если используется меньший размер шага, например , то численное решение затухает до нуля.
Если применить метод Эйлера к линейному уравнению , то численное решение неустойчиво, если произведение находится за пределами региона
показано справа. Эта область называется областью (линейной) устойчивости . [18] В примере , так что если затем которая находится вне области устойчивости, и, следовательно, численное решение неустойчиво.
Это ограничение, а также медленная сходимость ошибки с — означает, что метод Эйлера используется нечасто, за исключением простого примера численного интегрирования. [ нужна ссылка ] . Часто модели физических систем содержат члены, представляющие быстро распадающиеся элементы (т.е. с большими отрицательными экспоненциальными аргументами). Даже если они не представляют интереса для общего решения, нестабильность, которую они могут вызвать, означает, что при использовании метода Эйлера потребуется исключительно малый временной шаг.
Ошибки округления
[ редактировать ]В шаге В методе Эйлера ошибка округления примерно равна величине где это машина эпсилон . Предполагая, что ошибки округления являются независимыми случайными величинами, ожидаемая общая ошибка округления пропорциональна . [19] Таким образом, для чрезвычайно малых значений размера шага ошибка усечения будет небольшой, но влияние ошибки округления может быть большим. Большую часть эффекта ошибки округления можно легко избежать, если компенсированное суммирование . в формуле метода Эйлера использовать [20]
Модификации и расширения
[ редактировать ]Простой модификацией метода Эйлера, которая устраняет отмеченные выше проблемы устойчивости, является обратный метод Эйлера :
Он отличается от (стандартного или прямого) метода Эйлера тем, что функция оценивается в конечной точке шага, а не в начальной точке. Обратный метод Эйлера является неявным методом . Это означает, что формула обратного метода Эйлера имеет с обеих сторон, поэтому при применении обратного метода Эйлера нам приходится решать уравнение. Это делает внедрение более дорогостоящим.
Другие модификации метода Эйлера, которые помогают обеспечить стабильность, дают экспоненциальный метод Эйлера или полунеявный метод Эйлера .
Более сложные методы позволяют достичь более высокого порядка (и большей точности). Одна из возможностей — использовать больше оценок функций. Это иллюстрируется методом средней точки , который уже упоминался в этой статье:
- .
Это приводит к семейству методов Рунге-Кутты .
Другая возможность — использовать больше прошлых значений, как показано двухэтапным методом Адамса-Башфорта:
Это приводит к семейству линейных многошаговых методов . Существуют и другие модификации, в которых используются методы измерения сжатия для минимизации использования памяти. [21]
В популярной культуре
[ редактировать ]В фильме « Скрытые фигуры » Кэтрин Гобл прибегает к методу Эйлера при расчете возвращения астронавта Джона Гленна с околоземной орбиты. [22]
См. также
[ редактировать ]- Метод Кранка – Николсона
- Градиентный спуск аналогично использует конечные шаги, чтобы найти минимумы функций.
- Список методов Рунге-Кутты
- Линейный многошаговый метод
- Численное интегрирование (для вычисления определенных интегралов)
- Численные методы для решения обыкновенных дифференциальных уравнений
Примечания
[ редактировать ]- ^ Мясник 2003 , с. 45; Хайрер, Норсетт и Ваннер, 1993 , с. 35
- ^ Аткинсон 1989 , с. 342; Мясник 2003 , с. 60
- ^ Мясник 2003 , с. 45; Хайрер, Норсетт и Ваннер, 1993 , с. 36
- ^ Мясник 2003 , с. 3; Хайрер, Норсетт и Ваннер, 1993 , с. 2
- ^ См. также Аткинсон 1989 , с. 344
- ^ Хайрер, Норсетт и Ваннер 1993 , стр. 40
- ^ Аткинсон 1989 , с. 342; Хайрер, Норсетт и Ваннер, 1993 , с. 36
- ^ Аткинсон 1989 , с. 342
- ^ Аткинсон 1989 , с. 343
- ^ Мясник 2003 , с. 60
- ^ Аткинсон 1989 , с. 342
- ^ Стоер и Булирш 2002 , с. 474
- ^ Аткинсон 1989 , с. 344
- ^ Мясник 2003 , с. 49
- ^ Аткинсон 1989 , с. 346; Лакоба 2012 , уравнение (1.16)
- ^ Изерлес 1996 , с. 7
- ^ Мясник 2003 , с. 63
- ^ Мясник 2003 , с. 70; Изерлес 1996 , с. 57
- ^ Мясник 2003 , стр. 74–75.
- ^ Мясник 2003 , стр. 75–78.
- ^ Унни, депутат; Чандра, МГ; Кумар, А.А. (март 2017 г.). «Сокращение памяти для численного решения дифференциальных уравнений с использованием компрессионного измерения». 2017 IEEE 13-й Международный коллоквиум по обработке сигналов и ее приложениям (CSPA) . стр. 79–84. дои : 10.1109/CSPA.2017.8064928 . ISBN 978-1-5090-1184-1 . S2CID 13082456 .
- ^ Хан, Амина (9 января 2017 г.). «Познакомьтесь с математиком из «Скрытых фигур», который помог отправить американцев в космос» . Лос-Анджелес Таймс . Проверено 12 февраля 2017 г.
Ссылки
[ редактировать ]- Аткинсон, Кендалл А. (1989). Введение в численный анализ (2-е изд.). Нью-Йорк: Джон Уайли и сыновья . ISBN 978-0-471-50023-0 .
- Ашер, Ури М.; Петцольд, Линда Р. (1998). Компьютерные методы решения обыкновенных дифференциальных уравнений и дифференциально-алгебраических уравнений . Филадельфия: Общество промышленной и прикладной математики . ISBN 978-0-89871-412-8 .
- Мясник, Джон К. (2003). Численные методы решения обыкновенных дифференциальных уравнений . Нью-Йорк: Джон Уайли и сыновья . ISBN 978-0-471-96758-3 .
- Хайрер, Эрнст; Норсетт, Сиверт Пол; Ваннер, Герхард (1993). Решение обыкновенных дифференциальных уравнений I: Нежесткие задачи . Берлин, Нью-Йорк: Springer-Verlag . ISBN 978-3-540-56670-0 .
- Изерлес, Арье (1996). Первый курс численного анализа дифференциальных уравнений . Издательство Кембриджского университета . ISBN 978-0-521-55655-2 .
- Стер, Йозеф; Булирш, Роланд (2002). Введение в численный анализ (3-е изд.). Берлин, Нью-Йорк: Springer-Verlag . ISBN 978-0-387-95452-3 .
- Лакоба, Тарас И. (2012), Простой метод Эйлера и его модификации (PDF) (конспекты лекций для MATH334), Университет Вермонта , получено 29 февраля 2012 г.
- Унни, депутат П. (2017). «Сокращение памяти для численного решения дифференциальных уравнений с использованием компрессионного измерения». 2017 IEEE 13-й Международный коллоквиум по обработке сигналов и ее приложениям (CSPA) . IEEE CSPA . стр. 79–84. дои : 10.1109/CSPA.2017.8064928 . ISBN 978-1-5090-1184-1 . S2CID 13082456 .
Внешние ссылки
[ редактировать ]- СМИ, связанные с методом Эйлера, на Викискладе?
- Реализации метода Эйлера на разных языках с помощью Rosetta Code
- «Метод Эйлера» , Математическая энциклопедия , EMS Press , 2001 [1994]