erf
График функции ошибок
В математике функция ошибки (также называемый Функция ошибок Гаусса), часто обозначаемый Эрф, является сложной функцией комплексной переменной, определяемой как:[1]
Этот интеграл является специальный (неэлементарный ) и сигмовидный функция, которая часто встречается в вероятность, статистика, и уравнения в частных производных. Во многих из этих приложений аргумент функции является действительным числом. Если аргумент функции является действительным, значение функции также является действительным.
В статистике при неотрицательных значениях Икс, функция ошибки имеет следующую интерпретацию: для случайная переменная Y это нормально распределенный с иметь в виду 0 и отклонение 1/2, Эрф Икс вероятность того, что Y попадает в диапазон [−Икс, Икс].
Две тесно связанные функции: дополнительная функция ошибок (erfc) определяется как
и функция мнимой ошибки (Эрфи) определяется как
где я это мнимая единица.
имя
Название «функция ошибки» и его сокращение. Эрф были предложены Дж. У. Л. Глейшер в 1871 г. из-за его связи с «теорией вероятностей, и особенно теорией Ошибки.»[2] Дополнение функции ошибок также обсуждалось Глейшером в отдельной публикации в том же году.[3]Для «закона легкости» ошибок, плотность дан кем-то
(в нормальное распределение ), Глейшер вычисляет вероятность ошибки, лежащей между и
в качестве:
Приложения
Когда результаты серии измерений описываются нормальное распределение с среднеквадратичное отклонение и ожидаемое значение 0, тогда
вероятность того, что ошибка единичного измерения находится между —а и +а, для положительного а. Это полезно, например, при определении частота ошибок по битам цифровой системы связи.
Функции ошибок и дополнительных ошибок встречаются, например, в решениях уравнение теплопроводности когда граничные условия даны Ступенчатая функция Хевисайда.
Функция ошибок и ее приближения могут использоваться для оценки результатов, которые верны. с большой вероятностью или с малой вероятностью. Учитывая случайную величину и постоянный
:
где А и B — определенные числовые константы. Если L достаточно далеко от среднего, т.е. , тогда:
так что вероятность стремится к 0 как .
Характеристики
Интегрируем exp (-z2)
эрф (z)
Недвижимость означает, что функция ошибок является нечетная функция. Это напрямую связано с тем, что подынтегральное выражение
является даже функция.
Для любого комплексное число z:
где это комплексно сопряженный из z.
Подынтегральное выражение ж = ехр (-z2) и ж = erf (z) показаны в комплексе z-плоскость на рисунках 2 и 3. Уровень Im (ж) = 0 отображается толстой зеленой линией. Отрицательные целые значения Im (ж) показаны толстыми красными линиями. Положительные целочисленные значения Im (ж) показаны толстыми синими линиями. Промежуточные уровни Im (ж) = constant показаны тонкими зелеными линиями. Промежуточные уровни Re (ж) = constant показаны тонкими красными линиями для отрицательных значений и тонкими синими линиями для положительных значений.
Функция ошибок при + ∞ равна 1 (см. Гауссов интеграл ). На действительной оси erf (z) приближается к единице при z → + ∞ и −1 при z → −∞. На мнимой оси он стремится к ±я∞.
Серия Тейлор
Функция ошибок — это вся функция; он не имеет особенностей (кроме бесконечности) и его Расширение Тейлора всегда сходится, но, как известно, «[…] плохая сходимость, если x> 1».[4]
Определяющий интеграл нельзя вычислить в закрытая форма с точки зрения элементарные функции, но за счет расширения интегрировать е−z2 в его Серия Маклорена и интегрируя почленно, можно получить ряд Маклорена функции ошибок как:
которое справедливо для каждого комплексное число z. Члены знаменателя — это последовательность A007680 в OEIS.
Для итеративного расчета вышеуказанного ряда может быть полезна следующая альтернативная формулировка:
потому что выражает множитель, чтобы повернуть kth член в (k + 1)ул срок (учитывая z как первый член).
Функция мнимой ошибки имеет очень похожий ряд Маклорена, а именно:
которое справедливо для каждого комплексное число z.
Производная и интеграл
Производная функции ошибок сразу следует из ее определения:
Отсюда немедленно вычисляется производная мнимой функции ошибок:
An первообразный функции ошибок, которую можно получить интеграция по частям, является
Первообразной функции мнимой ошибки, также получаемой интегрированием по частям, является
Производные высшего порядка даются формулами
где физики Полиномы Эрмита.[5]
Bürmann серии
Расширение,[6] который сходится быстрее для всех реальных значений чем разложение Тейлора, получается с помощью Ганс Генрих Бюрманн Теорема:[7]
Сохраняя только первые два коэффициента и выбирая и
полученное приближение показывает наибольшую относительную ошибку при
где меньше чем
:
Обратные функции
Функция обратной ошибки
Учитывая комплексное число z, это не уникальный комплексное число ш удовлетворение , поэтому истинная обратная функция будет многозначной. Однако для −1 < Икс < 1, есть уникальный настоящий число обозначено
удовлетворение
В функция обратной ошибки обычно определяется с помощью области (−1,1), и она ограничена этой областью во многих системах компьютерной алгебры. Однако его можно расширить на диск |z| < 1 комплексной плоскости, используя ряд Маклорена
где c0 = 1 и
Итак, у нас есть разложение в ряд (общие множители из числителей и знаменателей удалены):
(После отмены дроби числителя / знаменателя являются записями OEIS: A092676/OEIS: A092677 в OEIS; без отмены условия в числителе приведены в записи OEIS: A002067.) Значение функции ошибок при ± ∞ равно ± 1.
За |z| < 1, у нас есть .
В обратная дополнительная функция ошибок определяется как
За настоящий Икс, есть уникальный настоящий количество удовлетворение
. В функция обратной мнимой ошибки определяется как
.[8]
Для любого реального Икс, Метод Ньютона можно использовать для вычисления , и для
сходится следующий ряд Маклорена:
где ck определяется, как указано выше.
Асимптотическое разложение
Полезный асимптотическое разложение дополнительной функции ошибок (а, следовательно, и функции ошибок) для больших вещественных Икс является
где (2п — 1) !! это двойной факториал из (2п — 1), который является произведением всех нечетных чисел до (2п — 1). Этот ряд расходится для каждого конечного Икс, и его смысл как асимптотического разложения состоит в том, что для любого надо
где остаток, в Обозначения Ландау, является
так как
Действительно, точное значение остатка равно
что легко следует по индукции, записывая
и интеграция по частям.
Для достаточно больших значений x нужны только первые несколько членов этого асимптотического разложения, чтобы получить хорошее приближение erfc (Икс) (при не слишком больших значениях Икс, приведенное выше разложение Тейлора в 0 обеспечивает очень быструю сходимость).
Непрерывное расширение фракции
А непрерывная дробь расширение дополнительной функции ошибок:[9]
Интеграл функции ошибок с функцией плотности Гаусса
Факторный ряд
- Обратное факториальный ряд:
-
- сходится для
Здесь
обозначает возрастающий факториал, и
обозначает подписанный Число Стирлинга первого рода.[10][11]
- Представление бесконечной суммой, содержащей двойной факториал:
Численные приближения
Приближение с элементарными функциями
- Абрамовиц и Стегун дают несколько приближений с различной точностью (уравнения 7.1.25–28). Это позволяет выбрать наиболее быстрое приближение, подходящее для данного приложения. В порядке увеличения точности это:
-
- (максимальная ошибка: 5 × 10−4)
- где а1 = 0.278393, а2 = 0.230389, а3 = 0.000972, а4 = 0.078108
-
(максимальная ошибка: 2,5 × 10−5)
- где п = 0.47047, а1 = 0.3480242, а2 = −0.0958798, а3 = 0.7478556
-
(максимальная ошибка: 3 × 10−7)
- где а1 = 0.0705230784, а2 = 0.0422820123, а3 = 0.0092705272, а4 = 0.0001520143, а5 = 0.0002765672, а6 = 0.0000430638
-
(максимальная погрешность: 1,5 × 10−7)
- где п = 0.3275911, а1 = 0.254829592, а2 = −0.284496736, а3 = 1.421413741, а4 = −1.453152027, а5 = 1.061405429
- Все эти приближения справедливы для Икс ≥ 0. Чтобы использовать эти приближения для отрицательных Икс, используйте тот факт, что erf (x) — нечетная функция, поэтому erf (Икс) = −erf (-Икс).
- Экспоненциальные границы и чисто экспоненциальное приближение для дополнительной функции ошибок даются формулами [12]
- В частности, существует систематическая методология решения числовых коэффициентов
что дает минимакс приближение или оценка тесно связанных Q-функция:
,
, или
за
. Коэффициенты
для многих вариаций экспоненциальных приближений и оценок вплоть до
были выпущены в открытый доступ в виде исчерпывающего набора данных.[14]
- Они определили
что дало хорошее приближение для всех
- Одноканальная нижняя граница[16]
- где параметр β можно выбрать, чтобы минимизировать ошибку на желаемом интервале приближения.
- Другое приближение дано Сергеем Виницким с использованием его «глобальных приближений Паде»:[17][18]:2–3
- где
- Это сделано так, чтобы быть очень точным в окрестности 0 и в окрестности бесконечности, а родственник ошибка меньше 0,00035 для всех реальных Икс. Использование альтернативного значения а ≈ 0,147 снижает максимальную относительную погрешность примерно до 0,00013.[19]
- Это приближение можно инвертировать, чтобы получить приближение обратной функции ошибок:
Полиномиальный
Приближение с максимальной ошибкой для любого реального аргумента это:[20]
с
и
Таблица значений
Икс | erf (x) | 1-эрф (х) |
---|---|---|
0 | 0 | 1 |
0.02 | 0.022564575 | 0.977435425 |
0.04 | 0.045111106 | 0.954888894 |
0.06 | 0.067621594 | 0.932378406 |
0.08 | 0.090078126 | 0.909921874 |
0.1 | 0.112462916 | 0.887537084 |
0.2 | 0.222702589 | 0.777297411 |
0.3 | 0.328626759 | 0.671373241 |
0.4 | 0.428392355 | 0.571607645 |
0.5 | 0.520499878 | 0.479500122 |
0.6 | 0.603856091 | 0.396143909 |
0.7 | 0.677801194 | 0.322198806 |
0.8 | 0.742100965 | 0.257899035 |
0.9 | 0.796908212 | 0.203091788 |
1 | 0.842700793 | 0.157299207 |
1.1 | 0.88020507 | 0.11979493 |
1.2 | 0.910313978 | 0.089686022 |
1.3 | 0.934007945 | 0.065992055 |
1.4 | 0.95228512 | 0.04771488 |
1.5 | 0.966105146 | 0.033894854 |
1.6 | 0.976348383 | 0.023651617 |
1.7 | 0.983790459 | 0.016209541 |
1.8 | 0.989090502 | 0.010909498 |
1.9 | 0.992790429 | 0.007209571 |
2 | 0.995322265 | 0.004677735 |
2.1 | 0.997020533 | 0.002979467 |
2.2 | 0.998137154 | 0.001862846 |
2.3 | 0.998856823 | 0.001143177 |
2.4 | 0.999311486 | 0.000688514 |
2.5 | 0.999593048 | 0.000406952 |
3 | 0.99997791 | 0.00002209 |
3.5 | 0.999999257 | 0.000000743 |
Дополнительная функция ошибок
В дополнительная функция ошибок, обозначенный , определяется как
который также определяет , то масштабированная дополнительная функция ошибок[21] (который можно использовать вместо erfc, чтобы избежать арифметическое истощение[21][22]). Другая форма
для неотрицательных
известна как формула Крейга в честь ее первооткрывателя:[23]
Это выражение действительно только для положительных значений Икс, но его можно использовать вместе с erfc (Икс) = 2 — erfc (-Икс) для получения erfc (Икс) для отрицательных значений. Эта форма выгодна тем, что диапазон интегрирования является фиксированным и конечным. Расширение этого выражения для суммы двух неотрицательных переменных выглядит следующим образом:[24]
Функция мнимой ошибки
В функция мнимой ошибки, обозначенный Эрфи, определяется как
где D(Икс) это Функция Доусона (который можно использовать вместо erfi, чтобы избежать арифметическое переполнение[21]).
Несмотря на название «функция мнимой ошибки», реально, когда Икс реально.
Когда функция ошибок оценивается для произвольного сложный аргументы z, результирующий сложная функция ошибок обычно обсуждается в масштабированной форме как Функция Фаддеева:
Кумулятивная функция распределения
Функция ошибок практически идентична стандартной. нормальная кумулятивная функция распределения, обозначаемый Φ, также называемый нормой (Икс) некоторыми языками программного обеспечения[нужна цитата ], так как они отличаются только масштабированием и переводом. Действительно,
или переставил для erf и erfc:
Следовательно, функция ошибок также тесно связана с Q-функция, которая представляет собой хвостовую вероятность стандартного нормального распределения. Q-функция может быть выражена через функцию ошибок как
В обратный из известен как нормальная квантильная функция, или пробит функция и может быть выражена через обратную функцию ошибок как
Стандартный нормальный cdf чаще используется в вероятностях и статистике, а функция ошибок чаще используется в других разделах математики.
Функция ошибок — это частный случай Функция Миттаг-Леффлера, а также может быть выражено как конфлюэнтная гипергеометрическая функция (Функция Куммера):
Он имеет простое выражение в терминах Интеграл Френеля.[требуется дальнейшее объяснение ]
Что касается регуляризованная гамма-функция P и неполная гамма-функция,
это функция знака.
Обобщенные функции ошибок
График обобщенных функций ошибок Eп(Икс):
серая кривая: E1(Икс) = (1 — e −Икс)/
красная кривая: E2(Икс) = erf (Икс)
зеленая кривая: E3(Икс)
синяя кривая: E4(Икс)
золотая кривая: E5(Икс).
Некоторые авторы обсуждают более общие функции:[нужна цитата ]
Известные случаи:
- E0(Икс) — прямая линия, проходящая через начало координат:
- E2(Икс) — функция ошибок, erf (Икс).
После деления на п!, все Eп для нечетных п похожи (но не идентичны) друг на друга. Точно так же Eп даже для п похожи (но не идентичны) друг на друга после простого деления на п!. Все обобщенные функции ошибок для п > 0 похожи на положительные Икс сторона графика.
Эти обобщенные функции могут быть эквивалентно выражены для Икс > 0 с помощью гамма-функция и неполная гамма-функция:
Следовательно, мы можем определить функцию ошибок в терминах неполной гамма-функции:
Итерированные интегралы дополнительной функции ошибок
Повторные интегралы дополнительной функции ошибок определяются как[25]
Общая рекуррентная формула
У них есть степенной ряд
откуда следуют свойства симметрии
и
Реализации
Как реальная функция реального аргумента
- В Posix совместимые операционные системы, заголовок math.h объявляет и математическая библиотека libm обеспечивает функции Эрф и erfc (двойная точность ) а также их одинарная точность и повышенная точность аналоги эрфф, эрфл и erfc, erfcl.[26]
- В Научная библиотека GNU обеспечивает Эрф, erfc, журнал (erf), и масштабированные функции ошибок.[27]
Как сложная функция сложного аргумента
- libcerf, числовая библиотека C для сложных функций ошибок, предоставляет сложные функции Cerf, Cerfc, Cerfcx и реальные функции Эрфи, erfcx с точностью примерно 13–14 цифр, в зависимости от Функция Фаддеева как реализовано в Пакет МИТ Фаддеева
Смотрите также
- Гауссов интеграл, по всей реальной линии
- Функция Гаусса, производная
- Функция Доусона, перенормированная функция мнимой ошибки
- Интеграл Гудвина – Стэтона
По вероятности
- Нормальное распределение
- Нормальная кумулятивная функция распределения, масштабированная и сдвинутая форма функции ошибок
- Пробит, обратное или квантильная функция нормального CDF
- Q-функция, хвостовая вероятность нормального распределения
Рекомендации
- ^ Эндрюс, Ларри С. (1998). Специальные функции математики для инженеров. SPIE Press. п. 110. ISBN 9780819426161.
- ^ Глейшер, Джеймс Уитбред Ли (июль 1871 г.). «Об одном классе определенных интегралов». Лондонский, Эдинбургский и Дублинский философский журнал и научный журнал. 4. 42 (277): 294–302. Дои:10.1080/14786447108640568. Получено 6 декабря 2017.
- ^ Глейшер, Джеймс Уитбред Ли (сентябрь 1871 г.). «Об одном классе определенных интегралов. Часть II». Лондонский, Эдинбургский и Дублинский философский журнал и научный журнал. 4. 42 (279): 421–436. Дои:10.1080/14786447108640600. Получено 6 декабря 2017.
- ^ «A007680 — OEIS». oeis.org. Получено 2 апреля 2020.
- ^ Вайсштейн, Эрик В. «Эрф». MathWorld. Вольфрам.
- ^ Х. М. Шёпф и П. Х. Супанчич, «О теореме Бюрмана и ее применении к задачам линейного и нелинейного теплообмена и диффузии», The Mathematica Journal, 2014. doi: 10.3888 / tmj.16–11.Шёпф, Супанчич
- ^ Вайсштейн, Э. «Теорема Бюрмана». Wolfram MathWorld — веб-ресурс Wolfram.
- ^ Бергсма, Уичер (2006). «О новом коэффициенте корреляции, его ортогональном разложении и связанных тестах независимости». arXiv:математика / 0604627.
- ^ Cuyt, Annie A.M .; Petersen, Vigdis B .; Вердонк, Бриджит; Вааделанд, Хокон; Джонс, Уильям Б. (2008). Справочник по непрерывным дробям для специальных функций. Springer-Verlag. ISBN 978-1-4020-6948-2.
- ^ Шлёмильх, Оскар Ксавьер (1859). «Ueber facultätenreihen». Zeitschrift für Mathematik und Physik (на немецком). 4: 390–415. Получено 4 декабря 2017.
- ^ Уравнение (3) на странице 283 из Нильсон, Нильс (1906). Handbuch der Theorie der Gammafunktion (на немецком). Лейпциг: Б. Г. Тойбнер. Получено 4 декабря 2017.
- ^ Chiani, M .; Дардари, Д .; Саймон, М. (2003). «Новые экспоненциальные границы и приближения для вычисления вероятности ошибки в каналах с замираниями» (PDF). Транзакции IEEE по беспроводной связи. 2 (4): 840–845. CiteSeerX 10.1.1.190.6761. Дои:10.1109 / TWC.2003.814350.
- ^ Танаш, И.М .; Риихонен, Т. (2020). «Глобальные минимаксные приближения и оценки гауссовской Q-функции суммами экспонент». Транзакции IEEE по коммуникациям. 68 (10): 6514–6524. arXiv:2007.06939. Дои:10.1109 / TCOMM.2020.3006902. S2CID 220514754.
- ^ Танаш, И.М .; Риихонен, Т. (2020). «Коэффициенты для глобального минимаксного приближения и границы для гауссовой Q-функции суммами экспонент [набор данных]». Зенодо. Дои:10.5281 / zenodo.4112978.
- ^ Карагианнидис, Г. К., и Лиумпас, А. С. Улучшенное приближение для гауссовой Q-функции. 2007. IEEE Communications Letters, 11 (8), стр. 644-646.
- ^ Чанг, Сок-Хо; Cosman, Pamela C .; Мильштейн, Лоуренс Б. (ноябрь 2011 г.). «Границы типа Чернова для гауссовской функции ошибок». Транзакции IEEE по коммуникациям. 59 (11): 2939–2944. Дои:10.1109 / TCOMM.2011.072011.100049. S2CID 13636638.
- ^ Виницки, Серж (2003). «Равномерные приближения для трансцендентных функций». Конспект лекций по вычислительной технике. Наука. Конспект лекций по информатике. 2667. Spronger, Берлин. стр.780–789. Дои:10.1007 / 3-540-44839-X_82. ISBN 978-3-540-40155-1. (Раздел 3.1 «Функция ошибок действительного аргумента erf Икс«)
- ^ Цзэн, Кайбинь; Чен, Ян Цуань (2015). «Глобальные аппроксимации Паде обобщенной функции Миттаг-Леффлера и ее обратной». Дробное исчисление и прикладной анализ. 18 (6): 1492–1506. arXiv:1310.5592. Дои:10.1515 / fca-2015-0086. S2CID 118148950.
Действительно, Виницки [32] предоставил так называемое глобальное приближение Паде
- ^ Виницкий, Сергей (6 февраля 2008 г.). «Удобное приближение для функции ошибок и ее обратной».
- ^ Числовые рецепты в Fortran 77: Искусство научных вычислений (ISBN 0-521-43064-X), 1992, стр. 214, Cambridge University Press.
- ^ а б c Коди, У. Дж. (Март 1993 г.), «Алгоритм 715: SPECFUN — портативный пакет FORTRAN специальных функций и драйверов тестирования» (PDF), ACM Trans. Математика. Софтв., 19 (1): 22–32, CiteSeerX 10.1.1.643.4394, Дои:10.1145/151271.151273, S2CID 5621105
- ^ Заглул М. Р. (1 марта 2007 г.), «О расчете профиля линии Фойгта: единственный собственный интеграл с затухающим синусоидальным интегралом», Ежемесячные уведомления Королевского астрономического общества, 375 (3): 1043–1048, Дои:10.1111 / j.1365-2966.2006.11377.x
- ^ Джон В. Крейг, Новый, простой и точный результат для расчета вероятности ошибки для двумерных сигнальных созвездий. В архиве 3 апреля 2012 г. Wayback Machine, Труды конференции по военной связи IEEE 1991 г., вып. 2. С. 571–575.
- ^ Бехнад, Айдын (2020). «Новое расширение формулы Q-функции Крейга и ее применение в анализе производительности EGC с двумя ветвями». Транзакции IEEE по коммуникациям. 68 (7): 4117–4125. Дои:10.1109 / TCOMM.2020.2986209. S2CID 216500014.
- ^ Карслав, Х.С.; Jaeger, J.C. (1959), Проводимость тепла в твердых телах (2-е изд.), Oxford University Press, ISBN 978-0-19-853368-9, стр 484
- ^ https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/math.h.html
- ^ https://www.gnu.org/software/gsl/doc/html/specfunc.html#error-functions
дальнейшее чтение
- Абрамовиц, Милтон; Стегун, Ирен Энн, ред. (1983) [июнь 1964]. «Глава 7». Справочник по математическим функциям с формулами, графиками и математическими таблицами. Прикладная математика. 55 (Девятое переиздание с дополнительными исправлениями, десятое оригинальное издание с исправлениями (декабрь 1972 г.); первое изд.). Вашингтон.; Нью-Йорк: Министерство торговли США, Национальное бюро стандартов; Dover Publications. п. 297. ISBN 978-0-486-61272-0. LCCN 64-60036. Г-Н 0167642. LCCN 65-12253.
- Press, William H .; Teukolsky, Saul A .; Веттерлинг, Уильям Т .; Фланнери, Брайан П. (2007), «Раздел 6.2. Неполная гамма-функция и функция ошибок», Числовые рецепты: искусство научных вычислений (3-е изд.), Нью-Йорк: Издательство Кембриджского университета, ISBN 978-0-521-88068-8
- Темме, Нико М. (2010), «Функции ошибок, интегралы Доусона и Френеля», в Олвер, Фрэнк В. Дж.; Lozier, Daniel M .; Бойсверт, Рональд Ф .; Кларк, Чарльз В. (ред.), Справочник NIST по математическим функциям, Издательство Кембриджского университета, ISBN 978-0-521-19225-5, Г-Н 2723248
внешняя ссылка
- MathWorld — Эрф
- Таблица интегралов функций ошибок
Как решать дифференциальные уравнения в wolfram mathematica
WolframAlpha по-русски
Математика с WolframAlpha ® . Объяснения с примерами.
Решение обыкновенных дифференциальных уравнений в Wolfram|Alpha
Решение дифференциальных уравнений с выводом результатов в пошаговом представлении (функция «Show steps» — Показать шаги) является одной из важных особенностей Wolfram|Alpha.
Wolfram|Alpha в большинстве случаев может помочь в решении дифференциальных уравнений различного уровня сложности, начиная от простейших дифференциальных уравнений первого порядка с разделяющимися переменными (separable equations ) и включая более сложные уравнения, для решения которых служат, например, методы операционного исчисления, использующие преобразование Лапласа.
Как видим, Wolfram|Alpha сначала определяет (классифицирует) этот пример, как обыкновенное линейное дифференциальное уравнение первого порядка, затем выводит общее решение данного уравнения, график частного решения, удовлетворяющего условию y(1)=1, а также семейство интегральных кривых данного уравнения.
Чтобы получить детальное пошаговое решение, используйте кнопку «Show steps»:
Новое в Wolfram Language | Аналитическое решение уравнений в частных производных
Перевод поста Devendra Kapadia «New in the Wolfram Language: Symbolic PDEs».
Код, приведенный в статье, можно скачать здесь.
Выражаю огромную благодарность Кириллу Гузенко KirillGuzenko за помощь в переводе и подготовке публикации. Уравнения в частных производных (УрЧП) играют очень важную роль в математике и ее приложениях. Их можно использовать для моделирования реальных явлений, таких как колебания натянутой струны, распространения потока тепла в стержне, в финансовых областях. Цель этой статьи — приоткрыть завесу в мир УрЧП (тем кто еще с ним не знаком) и ознакомить читателя с тем, как можно эффективно решать УрЧП в Wolfram Language, используя новый функционал для решения краевых задач в DSolve, а так же новую функцию DEigensystem, которая появилась в версии 10.3.
История УрЧП восходит к работам известных математиков восемнадцатого века — Эйлера, Даламбера, Лапласа, однако развитие этой области в последние три столетия так и не остановилось. И потому в статье я приведу как классические, так и современные примеры УрЧП, что позволит рассмотреть эту область знаний под разными углами.
Давайте начнем с рассмотрения колебаний натянутой струны с длиной π, закрепленной на обоих концах. Колебания струны можно смоделировать с помощью одномерного волнового уравнения, приведённого ниже. Здесь u(x,t) — вертикальное смещение точки струны с координатой х в момент времени t:
Затем мы задаём граничные условия, указав тем самым, что концы струны при колебаниях сохраняют свои положения.
Зададим теперь начальные условия для движения струны, указав смещения и скорости различных точек струны в момент времени t=0:
Теперь мы можем использовать DSolve для решения волнового уравнения с начальными и краевыми условиями:
Как указано выше, решение есть бесконечная сумма тригонометрических функций. Сумма возвращается в невычисленной форме (Inactive), поскольку каждый отдельный член разложения имеет физическую интерпретацию, и зачастую даже небольшое количество членов может являться хорошим приближением. К примеру, мы можем взять первые четыре члена для получения приближенного решения asol(x,t)
Каждый член в сумме представляет собой стоячую волну, которые могут быть представлены следующим образом:
И все эти стоячие волны складываются воедино, образуя гладкую кривую, как показано на анимации ниже:
Волновое уравнение относится к классу линейных гиперболических уравнений в частных производных, описывающих распространение сигналов с конечными скоростями. Это УрЧП представляет собой удобный способ для моделирования колебаний в струне или в каком-то другом деформирумом теле, однако ещё более важную роль оно играет в современной физике и инженерных приложениях, т.к. оно описывает распространение света и электромагнитных волн.
Давайте теперь смоделируем поток тепла в стержне единичной длины, изолированном с обоих концов, с помощью представленного ниже уравнения теплопроводности:
Поскольку стержень изолирован с обоих концов, то через них проходит нулевой поток тепла, что можно выразить как граничные условия вида х = 0 и х = 1:
Теперь нужно указать начальное температурное распределение в стержне. В этом примере мы будем использовать приведённую ниже линейную функцию. В левом конце (х = 0) начальная температура — 20 градусов, в правом (х = 1) — 100:
И теперь мы можем решить уравнение теплопроводности с заданными условиями:
Как и в приведённом выше примере с волновым уравнением, мы можем извлечь несколько членов суммы и получить приближенное решение:
Первый член приближенного решения — 60 — среднее от температур на границах стержня, и она является стационарной температурой для этого стержня. Как показано на графике функции температуры от длины, представленном ниже, температура стержня быстро достигает стационарного значения в 60 градусов:
Уравнение теплопроводности относится к классу линейных параболических уравнений в частных производных, которые описывают процессы диффузии. Это простое на вид уравнение часто можно встретить в самых различных, а иногда и весьма неожиданных областях. Далее в статье мы рассмотрим два примера этого явления.
Рассмотрим теперь уравнение Лапласа, которое используется для моделирования стационарного состояния систем, т. е. поведения после некоторых зависящих от времени уже законченных переходных процессов. В двумерном случае это уравнение можно представить следующим образом:
Ограничим координаты х и у прямоугольной областью Ω, как показано ниже:
Классическая задача Дирихле — найти функцию u(x,y), удовлетворяющую уравнению Лапласа внутри области Ω с заданным условием Дирихле (DirichletCondition), которое определяет значения на границах области Ω, как показано ниже:
Задачу Дирихле можно решить с помощью функции DSolve, весьма изящно задав при этом область:
Как и в примерах ранее, мы можем извлечь некоторое количество членов (скажем, 100) из суммы и визуализировать решение:
Следует заметить, что решение u(x,y) задачи Дирихле представляется гладким в Ω, несмотря на то, что граничные условия имеют резкие черты. Помимо этого, u(x,y) достигает экстремальных значений на границах, в то время как в центре прямоугольника находится седловая точка. Эти черты характерны для линейных эллиптических уравнений — класса уравнений в частных производных, к которым и принадлежит уравнение Лапласа.
Волновое уравнение, уравнение теплопроводности, уравнение Лапласа — самые известные примеры классических УрЧП. Теперь мы рассмотрим три примера типичных современных УрЧП, первым среди которых будет уравнение Бюргерса для вязкой жидкости, которое может быть представлено следующим образом:
Это нелинейное УрЧП было введено Иоханнесом Бюргерсом в сороковых годах в качестве простой модели для турбулентных потоков (параметр ϵ в уравнении представляет собой вязкость жидкости). Однако, десять лет спустя, Э. Хопф и Д. Коул показали, что уравнение Бюргерса сводится к уравнению теплопроводности, а это значит, что данное уравнение не может проявлять хаотического поведения. Преобразование Коула-Хопфа позволяет решать уравнения Бюргерса в замкнутой форме для начального условия, заданного, к примеру, так:
В этом примере мы будем использовать функцию DSolveValue, которая возвращает только выражение для решения. Члены с функцией ошибок (Erf) в формуле ниже возникают из решения соответствующей граничной задачи теплового уравнения:
Представленный ниже график демонстрирует изменение во времени гипотетического одномерного поля скоростей потока. Решение представляется гладким для положительного ϵ, при том что начальное условие есть кусочно заданная функция:
Как можно заметить на нижепреведённых графиках, решение стремится к разрывному при сремлении вязкости ϵ к нулю. Подобные решения с резким переходом (shock solutions) — известная особенность уравнений Бюргерса для невязкой (ϵ = 0) среды.
В качестве второго примера современных УрЧП рассмотрим уравнение Блэка-Шоулза, используемое в финансовых расчётах. Это уравнение впервые представили Фишер Блэк и Майрон Шоулз в 1973 году в качестве модели для определения теоретической цены на европейские опционы, и формулируется оно следующим образом:
где:
c — цена опциона как функция от стоимости акций s и времени t,
r — процентная ставка без риска,
σ — волатильность акций.
В их эпохальной статье (которая была процитирована более 28000 раз), Блэк и Шоулз отметили, что их уравнения с помощью преобразования переменных могут быть сведены к уравнению теплопроводности. Это резкое упрощение приводит к знаменитой формуле Блэка-Шоулза для европейских опционов с конечными условиями, основанными на цене исполнения (strike price) k актива в момент времени t=Т:
Вооружившись этой формулой, мы можем вычислить значения финансовых опционов для типичных значений параметров:
Ответ согласуется со значением, полученным с помощью встроенной функции FinancialDerivative:
В качестве третьего примера современных УрЧП рассмотрим уравнение Шредингера для электрона в одномерной потенциальной яме с глубиной d и соответствующим начальным условием. Уравнение и условия можно сформулировать следующим образом:
Этот пример имеет элементарное решение, которое принимает мнимые значения из-за наличия I в уравнении Шредингера:
Функция плотности вероятности для электрона ρ = Ψ ⊹ Ψ, с использованием подходящих значений параметров в задаче, может быть вычислена следующим образом:
Мы можем создать анимацию изменения плотности вероятности во времени, которая показывает, что «центр» электрона в яме движется из стороны в сторону:
Собственные значения и собственные функции играют важную роль как в решении уравнения Шрёдингера, так и в других УрЧП. В частности, они предоставляют «строительные блоки» для решений волновых уравнений и уравнений теплопроводности в виде бесконечных сумм, которые приводились ранее в статье. Поэтому, в качестве нашего последнего примера рассмотрим задачу о нахождении девяти наименьших собственных значений и собственных функций для оператора Лапласа с однородным (нулевым) условием Дирихле для трехмерной сферической области. Найдем девять наименьших значений λ и соответствующих им функций ϕ, удовлетворяющих Λϕ = λ ϕ, которые определяются следующим образом:
Новая функция DEigensystem в версии 10.3 позволяет вычислить требуемые собственные значения и функции следующим образом:
Собственные значения в этой задаче выражаются через BesselJZero. Вот пример:
Собственные значения можно визуализировать с помощью функции DensityPlot3D, которая возвращает красивые графики, как показано ниже:
УрЧП являются важным инструментом во многих отраслях науки и техники, в статистике и финансах. На более фундаментальном уровне они предоставляют точные математические формулировки некоторых самых глубоких и тонких вопросов о нашей Вселенной, скажем, о возможности существования голых сингулярностей. По моему опыту, изучение УрЧП награждает редким сочетанием из практических идей и интеллектуального удовлетворения.
Рекомендую изучить документацию по DSolve, NDSolve, DEigensystem, NDEigensystem и методу конечных элементов, чтобы узнать больше о различных подходах к решению УрЧП в Wolfram Language.
УрЧП в символьной форме поддерживаются в Wolfram Mathematica и Wolfram Language с версии 10.3, а в ближайшее время будут представлены и во всех остальных программных продуктах Wolfram.
Иллюстрированный самоучитель по Mathematica 3/4
Дифференциальные уравнения. Решение дифференциальных уравнений в символьном виде.
Дифференциальными принято называть уравнения, в состав которых входят производные функции у(х), представляющей решение уравнения. Дифференциальные уравнения могут быть представлены в различной форме, например в общеизвестной форме Коши:
Несколько дифференциальных уравнений образуют систему дифференциальных уравнений. Решение таких систем также возможно средствами Mathematica и подробно описано в ряде книг по использованию системы. Дифференциальные уравнения и системы дифференциальных уравнений могут быть линейными и нелинейными. Для линейных уравнений обычно существуют решения в аналитическом виде. Нелинейные дифференциальные уравнения в общем случае аналитических решений не имеют, но могут решаться приближенными численными методами.
Дифференциальные уравнения широко используются в практике математических вычислений. Они являются основой при решении задач моделирования – особенно в динамике. Немногие математические системы имеют реализации численных методов решения систем дифференциальных уравнений. Но система Mathematica имеет средства как для символьного, так и для численного решения дифференциальных уравнений и их систем.
Для решения дифференциальных уравнений в символьном виде используются следующие средства:
- DSolve[eqn, y[x], х] – решает дифференциальное уравнение относительно функций у [ х ] с независимой переменной х;
- DSolve[, , ] – решает систему дифференциальных уравнений.
У функции DSolve и ее численного варианта NDSolve есть пара опций, на которые следует обратить внимание:
- DSolveConstants – опция к DSolve, определяющая постоянные интегрирования, которые будут использованы в результате;
- StartingStepSize – опция к NDSolve, определяющая величину начального шага.
В решении дифференциальных уравнений встречаются постоянные интегрирования. По умолчанию они обозначаются как С [ i ].
Уравнения в частных производных wolfram mathematica
Достаточно войти на страницу wolframalpha набрать в текстовом поле свой запрос и нажать на кнопку «=»
(имеет всплывающую подсказку вычислить ) или просто нажать Enter .
Функционал Wolfram Alpha не ограничивается лишь поиском ответов на поставленные вопросы. С помощью этой системы можно, например, строить графики и сопоставлять различные данные, что намного наглядней и лучше воспринимается, чем просто текст. Кроме того, с помощью Wolfram Alpha можно производить математические операции, как элементарные (которые без проблем выполняет и Google), так и решать уравнения различной сложности. Также Wolfram Alpha умеет строить графики функций, вычислять значения синуса или косинуса и так далее.
Например можно решить вот такое уравнение :
а чтобы узнать, какое расстояние между Москвой и Тель-Авивом, нужно ввести в поле
и вот вам результат:
Один из минусов сервиса Wolfram Alpha – это его англоязычность…так что если хотите задать вопрос системе придется писать его на английском языке. Даже неизвестно, появится ли русскоязычная версия этой поисково-вычислительной системы.
Основные команды для Вольфрам Альфа
(Команды вводятся в строку Вольфрама — например выше. Все команды заканчиваются нажатием Enter)
1. Решение уравнений, построение графиков
- Арифметические знаки плюс, минус, умножить, поделить +, — , *, / Примеры: 3*2, x*y, (a+b)/c
- Возведение в степень «x в степени а» x^a. Примеры x^a, x**a, (a+b)^2, (a+b)**2, (a+b)^(2x+1)
- Скобки. Действия в скобках ведутся первыми
- Функции .sin(x), cos(x), tan(x)=sin(x)/cos(x), cotan(x)=cos(x)/sin(x), sec(x)=1/cos(x), cosec(x)=1/sin(x)
- Функции log(x), exp(x), sinh(x), cosh(x), tanh(x), cotanh(x)
- Корень квадратный из «х» sqrt(x) или x^(1/2)
Чтобы вычислить выражение, нужно его просто ввести. Например корень из 2 будет выглядеть как sqrt(2) или же 2^(1/2).
2. Чтобы решить уравнение, нужно просто его ввести
3. Чтобы построить график, нужно использовать команду plot
Например нарисуем с помощью Вольфрама функцию 2^(-x) cos(x). Это делается командой plot (график).
Чтобы построить несколько графиков на одной координатной плоскости (например для визуализации решения систем уравнений), при значении переменной x в интервале (A,B), нужно использовать команду
4. Чтобы собрать множители из двучлена (многочлена) f, наберите factor[f]
5. Чтобы развалить произведение f на слагаемые, используйте команду expand[f]
6. Чтобы упростить выражение f[x], наберите команду Simplify[f[x]]
Например упростить «е в степени догарифм х»:
Simplify[ exp[ log[x] ] ]
Вольфрам альфа: интегралы
Как работать с Wolfram Alpha
Основные операции
- Сложение : a+b
- Вычитание : a-b
- Умножение : a*b
- Деление : a/b
- Возведение в степень : a^b
Примеры
- 314+278; 314—278; 314*278; 314^278;
- (a^2+b^2)+(a^2-b^2); (a^2+b^2)/(a^2-b^2); (a+b)^(2+2/3).
Знаки сравнения
- Меньше : : >
- Равно : = или ==
- Меньше или равно : =
Логические символы
- И : &&
- ИЛИ : ||
- НЕ : !
Основные константы
- Число : Pi
- Число : E
- Бесконечность : Infinity, inf или oo
Основные функции
- : x^a
- : Sqrt[x]
- : x^(1/n)
- : a^x
- : Log[a, x]
- : Log[x]
- : cos[x] или Cos[x]
- : sin[x] или Sin[x]
- : tan[x] или Tan[x]
- : cot[x] или Cot[x]
- : sec[x] или Sec[x]
- : csc[x] или Csc[x]
- : ArcCos[x]
- : ArcSin[x]
- : ArcTan[x]
- : ArcCot[x]
- : ArcSec[x]
- : ArcCsc[x]
- : cosh[x] или Cosh[x]
- : sinh[x] или Sinh[x]
- : tanh[x] или Tanh[x]
- : coth[x] или Coth[x]
- : sech[x] или Sech[x]
- : csch[x] или Csch[е]
- : ArcCosh[x]
- : ArcSinh[x]
- : ArcTanh[x]
- : ArcCoth[x]
- : ArcSech[x]
- : ArcCsch[x]
Решение уравнений
Чтобы получить решение уравнения вида достаточно записать в строке Wolfram|Alpha: f[x]=0, при этом Вы получите некоторую дополнительную информацию, которая генерируется автоматически. Если же Вам необходимо только решение, то необходимо ввести: Solve[f[x]=0, x].
Примеры
- Solve[Cos[x]+Cos[2x]+Sin[4x]=0,x] или Cos[x]+Cos[2x]+Sin[4x]=0;
- Solve[x^5+x^4+x+1=0,x] или x^5+x^4+x+1=0;
- Solve[Log[3,x^2+x+1]-Log[9,x^2]=0,x] или Log[3,x^2+x+1]-Log[9,x^2]=0.
Если Ваше уравнение содержит несколько переменных, то запись: f[x, y,…,z]=0 даст весьма разнообразный набор сведений, таких как решение в целых числах, частные производные функции и т. д. Чтобы получить решение уравнения вида по какой-либо одной из переменных, нужно написать в строке: Solve[f[x, y, …, z]=0, j], где — интересующая Вас переменная.
Примеры
- Cos[x+y]=0 или Solve[Cos[x+y]=0,x] или Solve[Cos[x+y]=0,y];
- x^2+y^2-5=0 или Solve[x^2+y^2-5=0,x] или Solve[x^2+y^2-5=0,y];
- x+y+z+t+p+q=9.
Решение неравенств
Решение в Wolfram Alpha неравенств типа 0″ src=»http://upload.wikimedia.org/math/3/d/9/3d97eb56e02c2889dd20a89529548180.png» />, полностью аналогично решению уравнения . Нужно написать в строке WolframAlpha: f[x]>0 или f[x]>=0 или Solve[f[x]>0, x] или Solve[f[x]>=0,x].
Примеры
- Cos[10x]-1/2>0 или Solve[Cos[10x]-1/2>0,x];
- x^2+5x+10>=0 или Solve[x^2+5x+10>=0,x].
Если Ваше неравенство содержит несколько переменных, то запись: f[x, y,…,z]>0 или f[x, y,…,z]>=0 даст весьма разнообразный набор сведений, как и в случае соответствующих уравнений. Чтобы получить решение такого неравенства по какой-либо одной из переменных нужно написать в строке: Solve[f[x, y,…,z]>0,j] или Solve[f[x, y,…,z]>=0,j], где — интересующая Вас переменная.
Примеры
- Cos[x+y]>0 или Solve[Cos[x+y]>0,x] или Solve[Cos[x+y]>0,y];
- x^2+y^3-5 =9.
Решение различных систем уравнений, неравенств и уравнений
Решение систем различного вида в Wolfram Alpha крайне просто. Достаточно набрать уравнения и неравенства Вашей системы, точно так, как это описано выше в пунктах 7. и 8., соединяя их союзом «И», который в Wolfram Alpha имеет вид &&.
Сервис Wolfram Alpha поддерживает возможность построения графиков функций как вида , так и вида . Для того, чтобы построить график функции на отрезке нужно написать в строке Wolfram Alpha: Plot[f[x],]. Если Вы хотите, чтобы диапазон изменения ординаты был конкретным, например , нужно ввести: Plot[f[x],,].
Если Вам требуется построить сразу несколько графиков на одном рисунке, то перечислите их, используя союз «И»:Plot[f[x]&&g[x]&&h[x]&&…&&t[x],].
Для того, чтобы построить график функции на прямоугольнике , нужно написать в строке Wolfram Alpha: Plot[f[x, y],,]. К сожалению, диапазон изменения аппликаты пока что нельзя сделать конкретным. Тем не менее, интересно отметить, что при построении графика функции Вы получите не только поверхность, которую она определяет, но и «контурную карту» поверхности (линии уровня).
Математический анализ
Wolfram Alpha способен находить пределы функций, последовательностей, различные производные, определенные и неопределенные интегралы, решать дифференциальные уравнения и их системы и многое многое другое.
Пределы
Для того, чтобы найти предел последовательности нужно написать в строке Wolfram Alpha: Limit[x_n, n -> Infinity].
Примеры
- Limit[n^3/(n^4 + 2*n), n -> Infinity];
- Limit[(1+1/n)^n, n -> Infinity].
Найти предел функции при можно совершенно аналогично: Limit[f[x], x -> a].
Производные
Для того, чтобы найти производную функции нужно написать в строке WolframAlpha: D[f[x], x]. Если Вам требуется найти производную n-го порядка, то следует написать: D[f[x], ]. В том случае, если Вам требуется найти частную производную функции напишите в окне гаджета: D[f[x, y, z,…,t], j], где — интересующая Вас переменная. Если нужно найти частную производную по некоторой переменной порядка n, то следует ввести: D[f[x, y, z,…,t], ], где означает тоже, что и Выше.
Важно подчеркнуть, что Wolfram Alpha выдает пошаговое нахождение производной при нажатии на «Show Steps» в правом верхнем углу выдаваемого ей ответа.
Интегралы
Для того, чтобы найти неопределенный интеграл от функции нужно написать в строке WolframAlpha: Integrate f[x], x. Найти определенный интеграл так же просто: Integrate[f[x], ] либо Integrate f(x), x=a..b.
Важно подчеркнуть, что Wolfram Alpha выдает пошаговое нахождение интеграла при нажатии на «Show Steps» в правом верхнем углу выдаваемого ей ответа.
Дифференциальные уравнения и их системы
Чтобы найти общее решение дифференциального уравнения нужно написать в строке WolframAlpha: F[x, y, y’,y»,…] (при k-й производной y ставится k штрихов).
Если Вам требуется решить задачу Коши, то впишите: F[x, y, y’,y»,…], y[s]==A,y'[s]==B, …. Если нужно получить решение краевой задачи, что краевые условия, так же перечисляются через запятую, причем они должны иметь вид y[s]==S.
Решение систем дифференциальных уравнений также просто, достаточно вписать: , где f_1, f_2, …, f_n — дифференциальные уравнения, входящие в систему. К сожалению, решение задач Коши и краевых задач для систем дифференциальных уравнений пока-что не поддерживается.
Ошибки при работе с системой
Система может допускать некоторые ошибки при решении сложных задач [1] . К примеру, если попытаться решить неравенство , для чего ввести запрос solve (3x^2-18x+24)/(2x-2)-(3x-12)/(2x^2-6x+4) Примечания
Использование Wolfram Mathematica в решении дифференциальных уравнений
Саратовский национальный исследовательский государственный университет имени Н.Г. Чернышевского
NovaInfo55, с. 5-9
Опубликовано 20 ноября 2016
Раздел: Физико-математические науки
Просмотров за месяц: 49
CC BY-NC
Аннотация
В статье рассматриваются примеры решения обыкновенных дифференциальных уравнений в системе Wolfram Mathematica.
Ключевые слова
Текст научной работы
Системы компьютерной математики (Maple, Mathematica, MatLab, Derive и др.) применяются в различных областях науки. Они содержат процедуры для численных и аналитических расчетов, средства программирования, визуализации. В настоящее время пакеты прикладных программ используются не только при решении численных задач, но и при доказательстве теорем. Системы компьютерной математики используются в решении математических проблем в работах Д.С. Воронова, О.П. Гладуновой, Е.С. Корнева, М.В. Куркиной, Е.Д. Родионова, Я.В. Славолюбовой, В.В. Славского, Н.К. Смоленцева, Л.Н. Чибриковой и др.
Система компьютерной математики Wolfram Mathematica является одним из наиболее распространенных программных средств, которое позволяет выполнять численные, символьные вычисления, имеет развитую двумерную и трехмерную графику, а также встроенный язык программирования высокого уровня. Для знакомства с языком программирования Wolfram Language рекомендуется интернет-ресурс Wolfram Language & System «Documentation Center» (http://reference.wolfram.com/language/). Выбирая раздел, можно познакомиться с имеющимися командами для решения задач и с примерами их использования. Примеры использования Mathematica в решении геометрических задач приведены в 5.
Система Mathematica обладает обширными возможностями решения обыкновенных дифференциальных уравнений и их систем в символьном виде. Для этого используется функция DSolve, в алгоритме которой реализовано большинство известных на сегодняшний день аналитических методов.
Пример 1. Решим дифференциальное уравнение и построим график решений при различных значениях постоянной.
Пример 2. Решим уравнение y’=frac
Попытаемся решить уравнение с помощью функции DSolve:
В данном случае функция DSolve не может решить нелинейное уравнение. Поэтому запишем уравнение в виде:
и будем интегрировать обе части уравнения:
Следовательно, общее решение уравнения примет вид
-(-2+y^2)cos y+2ysin y=x-10ln (1-x)+13ln(2-x)+C
Пример 3. Решим дифференциальное уравнение и построим поле направлений и график решения уравнения при различных значениях константы.
Построим таблицу решений, заменив С[1] на a, где a изменяется от -2 до 2 с шагом 0,5:
Отобразим два графика одновременно и покажем, что векторы поля направлений являются касательными к решениям дифференциального уравнения:
Система Wolfram Mathematica используется для решения дифференциальных уравнений не только в математике, но и актуальна в других научных областях. Ее можно применять и в механике, в частности, для решения различных постановок задач, где в качестве математических объектов используются дифференциальные уравнения. В работах [6,7] рассмотрены уравнения движения мембран и акустических сред в виде обыкновенных дифференциальных уравнений. Для их решения может быть использована система компьютерной математики Wolfram Mathematica.
Читайте также
Математическая подготовка студентов в вузе в контексте будущей профессиональной деятельности
Использование прикладных программ при изучении математической статистики
Применение систем компьютерной математики при изучении комплексного анализа
Организация самостоятельной работы студентов в условиях информационно-образовательной среды вуза
Системы компьютерной математики в решении дифференциальных уравнений
Список литературы
- Букушева А.В. Использование Mathematica для описания геометрии динамических систем // Математика и ее приложения: фундаментальные проблемы науки и техники : сборник трудов всероссийской конференции, Барнаул, 24 — 26 ноября 2015. — Барнаул : Изд-во Алт. ун-та, 2015. С. 248-249.
- Букушева А.В. Применение Wolfram Language для выделения специальных классов почти контактных метрических структур // Компьютерные науки и информационные технологии : Материалы Междунар. науч. конф. — Саратов : Издат. центр.»Наука», 2016. С. 105-107.
- Букушева А.В. Использование систем компьютерной математики для решения геометрических задач сложного уровня // Информационные технологии в образовании: Материалы VI Всероссийской научно-практической конференции. – Саратов: ООО «Издательский центр «Наука»». 2014. – С. 76-77.
- Букушева А.В. Решение учебно-исследовательских задач с использованием систем компьютерной математики // Информационные технологии в образовании: Материалы VII Всеросс. научно-практ. конф. – Саратов: ООО «Издательский центр «Наука»», 2015. С.185-187.
- Букушева А.В. Учебно-исследовательские задачи в продуктивном обучении будущих бакалавров-математиков // Образовательные технологии. 2016. №2. С. 16-26.
- Вельмисова А.И. Распространение и отражение гармонических волн в плоском акустическом слое с гибкими стенками в случае разрыва упругих свойств на одной из стенок // Математика. Механика: Сб. науч. тр. Саратов: Изд-во Сарат. ун-та, 2010. Вып.12. С. 136-140.
- Вельмисова А.И., Вильде М.В., Кириллова И.В. Распространение и отражение гармонических волн в плоском акустическом слое с кусочно-неоднородными гибкими стенками // Известия Саратовского университета. Новая серия. Серия: Математика. Механика. Информатика. 2011. Т.11. №4. С. 68-73.
Цитировать
Зинина, А.И. Использование Wolfram Mathematica в решении дифференциальных уравнений / А.И. Зинина. — Текст : электронный // NovaInfo, 2016. — № 55. — С. 5-9. — URL: https://novainfo.ru/article/8754 (дата обращения: 23.02.2022).
Поделиться
Электронное периодическое издание зарегистрировано в Федеральной службе по надзору в сфере связи, информационных технологий и массовых коммуникаций (Роскомнадзор), свидетельство о регистрации СМИ — ЭЛ № ФС77-41429 от 23.07.2010 г.
Соучредители СМИ: Долганов А.А., Майоров Е.В.
http://www.sites.google.com/site/matenatikucozru/wolfram-alpha
http://novainfo.ru/article/8754
Расширение серии на бесконечности показывает, что действительная и мнимая части имеют очень разные масштабы. Я бы посоветовал вычислять их отдельно, а не добавлять. Ниже я использую первые несколько терминов расширения серии, чтобы получить мнимую часть.
In[186]:=
w[x_?NumericQ] := {N[Exp[-SetPrecision[x, 25]^2], 20],
N[(3 /(4 Sqrt[[Pi]] x^5) + 1/(2 Sqrt[[Pi]] x^3) + 1/(
Sqrt[[Pi]] x))]}
In[187]:= w[11]
Out[187]= {2.8207700884601354011*10^-53, 0.05150453151309212}
In[188]:= w[1000]
Out[188]= {3.296831478088558579*10^-434295, 0.0005641898656429712}
Не уверен, как сильно вы хотите эту очень маленькую реальную часть. Если вы можете уронить его, это будет держать цифры в разумных пределах. В некоторых диапазонах (или если требуется точность, превышающая точность станка), вы можете использовать больше терминов из расширения этой воображаемой части.
Даниэль Лихтблау Вольфрам Исследования
Время на прочтение
6 мин
Количество просмотров 22K
Перевод поста Devendra Kapadia «New in the Wolfram Language: Symbolic PDEs».
Код, приведенный в статье, можно скачать здесь.
Выражаю огромную благодарность Кириллу Гузенко KirillGuzenko за помощь в переводе и подготовке публикации.
Уравнения в частных производных (УрЧП) играют очень важную роль в математике и ее приложениях. Их можно использовать для моделирования реальных явлений, таких как колебания натянутой струны, распространения потока тепла в стержне, в финансовых областях. Цель этой статьи — приоткрыть завесу в мир УрЧП (тем кто еще с ним не знаком) и ознакомить читателя с тем, как можно эффективно решать УрЧП в Wolfram Language, используя новый функционал для решения краевых задач в DSolve, а так же новую функцию DEigensystem, которая появилась в версии 10.3.
История УрЧП восходит к работам известных математиков восемнадцатого века — Эйлера, Даламбера, Лапласа, однако развитие этой области в последние три столетия так и не остановилось. И потому в статье я приведу как классические, так и современные примеры УрЧП, что позволит рассмотреть эту область знаний под разными углами.
Давайте начнем с рассмотрения колебаний натянутой струны с длиной π, закрепленной на обоих концах. Колебания струны можно смоделировать с помощью одномерного волнового уравнения, приведённого ниже. Здесь u(x,t) — вертикальное смещение точки струны с координатой х в момент времени t:
Затем мы задаём граничные условия, указав тем самым, что концы струны при колебаниях сохраняют свои положения.
Зададим теперь начальные условия для движения струны, указав смещения и скорости различных точек струны в момент времени t=0:
Теперь мы можем использовать DSolve для решения волнового уравнения с начальными и краевыми условиями:
Как указано выше, решение есть бесконечная сумма тригонометрических функций. Сумма возвращается в невычисленной форме (Inactive), поскольку каждый отдельный член разложения имеет физическую интерпретацию, и зачастую даже небольшое количество членов может являться хорошим приближением. К примеру, мы можем взять первые четыре члена для получения приближенного решения asol(x,t)
Каждый член в сумме представляет собой стоячую волну, которые могут быть представлены следующим образом:
И все эти стоячие волны складываются воедино, образуя гладкую кривую, как показано на анимации ниже:
Волновое уравнение относится к классу линейных гиперболических уравнений в частных производных, описывающих распространение сигналов с конечными скоростями. Это УрЧП представляет собой удобный способ для моделирования колебаний в струне или в каком-то другом деформирумом теле, однако ещё более важную роль оно играет в современной физике и инженерных приложениях, т.к. оно описывает распространение света и электромагнитных волн.
Давайте теперь смоделируем поток тепла в стержне единичной длины, изолированном с обоих концов, с помощью представленного ниже уравнения теплопроводности:
Поскольку стержень изолирован с обоих концов, то через них проходит нулевой поток тепла, что можно выразить как граничные условия вида х = 0 и х = 1:
Теперь нужно указать начальное температурное распределение в стержне. В этом примере мы будем использовать приведённую ниже линейную функцию. В левом конце (х = 0) начальная температура — 20 градусов, в правом (х = 1) — 100:
И теперь мы можем решить уравнение теплопроводности с заданными условиями:
Как и в приведённом выше примере с волновым уравнением, мы можем извлечь несколько членов суммы и получить приближенное решение:
Первый член приближенного решения — 60 — среднее от температур на границах стержня, и она является стационарной температурой для этого стержня. Как показано на графике функции температуры от длины, представленном ниже, температура стержня быстро достигает стационарного значения в 60 градусов:
Уравнение теплопроводности относится к классу линейных параболических уравнений в частных производных, которые описывают процессы диффузии. Это простое на вид уравнение часто можно встретить в самых различных, а иногда и весьма неожиданных областях. Далее в статье мы рассмотрим два примера этого явления.
Рассмотрим теперь уравнение Лапласа, которое используется для моделирования стационарного состояния систем, т. е. поведения после некоторых зависящих от времени уже законченных переходных процессов. В двумерном случае это уравнение можно представить следующим образом:
Ограничим координаты х и у прямоугольной областью Ω, как показано ниже:
Классическая задача Дирихле — найти функцию u(x,y), удовлетворяющую уравнению Лапласа внутри области Ω с заданным условием Дирихле (DirichletCondition), которое определяет значения на границах области Ω, как показано ниже:
Задачу Дирихле можно решить с помощью функции DSolve, весьма изящно задав при этом область:
Как и в примерах ранее, мы можем извлечь некоторое количество членов (скажем, 100) из суммы и визуализировать решение:
Следует заметить, что решение u(x,y) задачи Дирихле представляется гладким в Ω, несмотря на то, что граничные условия имеют резкие черты. Помимо этого, u(x,y) достигает экстремальных значений на границах, в то время как в центре прямоугольника находится седловая точка. Эти черты характерны для линейных эллиптических уравнений — класса уравнений в частных производных, к которым и принадлежит уравнение Лапласа.
Волновое уравнение, уравнение теплопроводности, уравнение Лапласа — самые известные примеры классических УрЧП. Теперь мы рассмотрим три примера типичных современных УрЧП, первым среди которых будет уравнение Бюргерса для вязкой жидкости, которое может быть представлено следующим образом:
Это нелинейное УрЧП было введено Иоханнесом Бюргерсом в сороковых годах в качестве простой модели для турбулентных потоков (параметр ϵ в уравнении представляет собой вязкость жидкости). Однако, десять лет спустя, Э. Хопф и Д. Коул показали, что уравнение Бюргерса сводится к уравнению теплопроводности, а это значит, что данное уравнение не может проявлять хаотического поведения. Преобразование Коула-Хопфа позволяет решать уравнения Бюргерса в замкнутой форме для начального условия, заданного, к примеру, так:
В этом примере мы будем использовать функцию DSolveValue, которая возвращает только выражение для решения. Члены с функцией ошибок (Erf) в формуле ниже возникают из решения соответствующей граничной задачи теплового уравнения:
Представленный ниже график демонстрирует изменение во времени гипотетического одномерного поля скоростей потока. Решение представляется гладким для положительного ϵ, при том что начальное условие есть кусочно заданная функция:
Как можно заметить на нижепреведённых графиках, решение стремится к разрывному при сремлении вязкости ϵ к нулю. Подобные решения с резким переходом (shock solutions) — известная особенность уравнений Бюргерса для невязкой (ϵ = 0) среды.
В качестве второго примера современных УрЧП рассмотрим уравнение Блэка-Шоулза, используемое в финансовых расчётах. Это уравнение впервые представили Фишер Блэк и Майрон Шоулз в 1973 году в качестве модели для определения теоретической цены на европейские опционы, и формулируется оно следующим образом:
где:
c — цена опциона как функция от стоимости акций s и времени t,
r — процентная ставка без риска,
σ — волатильность акций.
В их эпохальной статье (которая была процитирована более 28000 раз), Блэк и Шоулз отметили, что их уравнения с помощью преобразования переменных могут быть сведены к уравнению теплопроводности. Это резкое упрощение приводит к знаменитой формуле Блэка-Шоулза для европейских опционов с конечными условиями, основанными на цене исполнения (strike price) k актива в момент времени t=Т:
Вооружившись этой формулой, мы можем вычислить значения финансовых опционов для типичных значений параметров:
Ответ согласуется со значением, полученным с помощью встроенной функции FinancialDerivative:
В качестве третьего примера современных УрЧП рассмотрим уравнение Шредингера для электрона в одномерной потенциальной яме с глубиной d и соответствующим начальным условием. Уравнение и условия можно сформулировать следующим образом:
Этот пример имеет элементарное решение, которое принимает мнимые значения из-за наличия I в уравнении Шредингера:
Функция плотности вероятности для электрона ρ = Ψ⊹ Ψ, с использованием подходящих значений параметров в задаче, может быть вычислена следующим образом:
Мы можем создать анимацию изменения плотности вероятности во времени, которая показывает, что «центр» электрона в яме движется из стороны в сторону:
Собственные значения и собственные функции играют важную роль как в решении уравнения Шрёдингера, так и в других УрЧП. В частности, они предоставляют «строительные блоки» для решений волновых уравнений и уравнений теплопроводности в виде бесконечных сумм, которые приводились ранее в статье. Поэтому, в качестве нашего последнего примера рассмотрим задачу о нахождении девяти наименьших собственных значений и собственных функций для оператора Лапласа с однородным (нулевым) условием Дирихле для трехмерной сферической области. Найдем девять наименьших значений λ и соответствующих им функций ϕ, удовлетворяющих Λϕ = λ ϕ, которые определяются следующим образом:
Новая функция DEigensystem в версии 10.3 позволяет вычислить требуемые собственные значения и функции следующим образом:
Собственные значения в этой задаче выражаются через BesselJZero. Вот пример:
Собственные значения можно визуализировать с помощью функции DensityPlot3D, которая возвращает красивые графики, как показано ниже:
УрЧП являются важным инструментом во многих отраслях науки и техники, в статистике и финансах. На более фундаментальном уровне они предоставляют точные математические формулировки некоторых самых глубоких и тонких вопросов о нашей Вселенной, скажем, о возможности существования голых сингулярностей. По моему опыту, изучение УрЧП награждает редким сочетанием из практических идей и интеллектуального удовлетворения.
Рекомендую изучить документацию по DSolve, NDSolve, DEigensystem, NDEigensystem и методу конечных элементов, чтобы узнать больше о различных подходах к решению УрЧП в Wolfram Language.
УрЧП в символьной форме поддерживаются в Wolfram Mathematica и Wolfram Language с версии 10.3, а в ближайшее время будут представлены и во всех остальных программных продуктах Wolfram.