Разложения в ряд
Одна из наиболее важных математических идей в физике – это идея о разложении в ряд. Она полезна и часто применяется, особенно когда точное решение задачи недоступно и приходится искать наиболее существенную его часть.
Рассмотрим, к примеру, функцию – обратный гиперболический косинус – и представим, не рисуя, как выглядит его график. Для этого смотрим поведение функции в нуле и на бесконечности. Вблизи нуля f (x) аппроксимируется
откуда легко получить, что при x = 0 f (x) = 1 и затем спадает как парабола в обоих направлениях. При очень больших
эта функция
Теперь понятно, что sech(x) спадает от нуля экспоненциально, так что в целом функция выглядит как стог сена.
Для большинства функций Maple для поиска приближений применяются команды taylor, series и asympt. Ниже увидим, как они работают.
Теорема Тейлора: если функция f (x) имеет все производные в точке x = a, то для x вблизи a эту функцию можно приближенно представить в виде ряда:
Maple может применять эту теорему для генерирования всевозможных рядов с помощью команды taylor. Например, для функции sech:
- taylor(sech(x),x=0,20);
Опция x = 0 говорит Maple, что разложение надо делать вблизи 0. Цифра 20 говорит, что надо включать члены вплоть до x20.
Найдите разложение в ряд Тейлора для следующих функций вблизи x = 0 при сохранении членов до x10.
(a) sin(x), | (b) cos(x), | (c) arctan(x), | (d) ex, | (e) ln(1 + x), | (f) (1+x)p. |
Вид ответов впечатляет, но в большинстве физически значимых задач оставляют первые два члена разложения (а бывает, и один), что упрощает выкладки. К примеру, команда taylor(f(x),x=0,3) дает члены до x2.
Чтобы использовать разложение в ряд в дальнейших расчетах, можно свернуть созданное taylor выражение в полином: convert(...,polynom), где ... – это имя, которое давали ряду Тейлора. Например:
- f:=taylor((1+x^2)^(3/2),x=0,5);
- f:=convert(f,polynom);
Maple может разложить в ряд Тейлора специальные функции.
Найдите разложения:
(a) J0(x),
(b) I0(x),
(c) К(х) (полный эллиптический интеграл EllipticK),
(d) Г(х).
Для (a)–(c) точка разложения x = 0, для (d) x = 1. Разлагать до x10.
Ответ ужасен, но посмотрите, как получить нечто более приемлемое с помощью evalf, или скажите Maple, что надо разложить вблизи x = 1.0 (снова десятичная точка!).
Функции можно аппроксимировать другими разложениями, например командой Maple series, которая работает почти так же, как taylor (но более общая).
Разложение функции Бесселя K0(x) около x = 0.
Впрямую Maple не может это сделать. Попытайтесь применить series(BesselK(0,x),x=0,3); и посмотрите, что случится. Игнорируйте громоздкости и сосредоточьтесь на ведущих членах. Тогда окажется, что K0(x) имеет логарифмическую сингулярность. (Учтите, что в разложении появляется постоянная Эйлера. Чтобы узнать о ней, запросите: ?gamma.)
Сделайте то же для следующих функций:
(a) ctg(x),
(b) ,
(c)
Вместо 3 попробуйте другие цифры в команде series и посмотрите, что это означает.