Что такое erf в математике
Перейти к содержимому

Что такое erf в математике

  • автор:

Приближенные методы расчета функции ошибок Гаусса и интегралов Текст научной статьи по специальности «Математика»

Похожие темы научных работ по математике , автор научной работы — Янченко Геннадий Алексеевич, Гринь Евгений Васильевич, Жаровкин Андрей Васильевич

К расчету времени единичного цикла поверхностного хрупкого термического разрушения горных пород
Моделирование процесса рифления изделий из древесно-полимерных композиций

Количественная оценка КПД процесса хрупкого термического разрушения горных пород при термическом бурении и разбуривании взрывных скважин

К вопросу о прогнозировании глубины зоны лазерной закалки
К исследованию вопроса повышения энергоэффективности зданий на железнодорожном транспорте
i Не можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Приближенные методы расчета функции ошибок Гаусса и интегралов»

© Г.А. Янченко, Е.В. Гринь,

А.В. Жаровкин, 2002

Г.А. Янченко, Е.В. Гринь, А.В. Жаровкин

ПРИБЛИЖПННЫЕ МЕТОЛЫ РАСЧОТА ФУНКЦИИ ОШИБОК ГАУССА И ИНТЕГРАЛОВ

Функция ошибок Гаусса (наиболее распространенное обозначение этой функции в технической литературе — erf (t), где t — аргумент) довольно широко применяется не только в теории ошибок при обработке результатов измерений, но и при расчетах показателей различных нестационарных процессов: теплопроводности, фильтрации жидкостей и газов через пористые среды и т.д. Она определяется как:

erf (t) =^=] ехР( -У 2 )dy,

где у- переменная интегрирования.

Помимо elf (t) довольно широкое использование нашла также функция erfc(t), связанная с erf (t) простым соотношением и названная дополнительной функцией ошибок Гаусса:

erfc(t) = 1 — erf (t) = -j= Jexp( -y 2 )dy

Вычисление erf (t) осуществляется численным, т.е. приближенным, интегрированием, для чего используются определенные ряды разложения [1].

При наличии современных вычислительных средств, например персональных компьютеров, с установленными пакетами специальных математических систем типа Mathematics, Mathcad и др., вычисление функций erf (t), а соответственно и etfc (t) никаких затруднений не вызывает. Кроме того, в соответствующей справочной литературе, например [2], результаты расчетов величин erf (t) приводятся и в табличной форме.

Однако при аналитических исследованиях соответствующих процессов широко используются различные аппроксимации функции erf (t) более простыми выражениями. Это существенно облегчает получение конечных расчетных формул, причем в виде приемлемом для инженерных расчетов даже при использования простых вычислительных средств, например инженерных калькуляторов.

Наиболее часто er (t) аппроксимируется параболой л-го порядка следующего вида [3, 4]:

при этом в [3] рекомендовано брать n = 8, тогда:

а в [4] отмечается, что в зависимости от рассматриваемого процесса можно принимать п = 1, 2, 3, тогда:

при п = 2 еГ() * 1-(1* )2, (6) л/3

при п= 3 е^() * 1 -(1 ‘ )3 . (7)

В то же время здесь же указывается, что наиболее точные результаты при расчетах процессов теплопроводности имеют место при п = 1,75. В этом случае (3) имеет вид:

В [5] указано, что с точностью, достаточной для инженерных расчетов, функция еГ^) может быть также аппроксимирована следующим выражением:

erf (t) и-\j 1 -exp(-1,26t2 ).

Анализ (4). (9) показывает, что все они, за исключением (8), позволяют рассчитывать еГ() при всех встречающихся на практике значениях аргумента t. Выражение же (8) применимо только при t< 1,55121, т. к. при более высоких tв скобках получается отрицательное число, которое в дробную степень не возводится. Следует также отметить, что и в

(6) и (7) при t > л/3 и t > у[6 в скобках получается также отрицательное число. В этом случае, если эти выражения вычисляются на калькуляторах, операцию Ху надо осуществлять как: (-Х)*(-Х) = X2 и (-Х)*

(7) дает такую же погрешность уже практически во всем рассмотренном диапазоне изменения t. В среднем такую же погрешность в этом диапазоне изменения ^ает и формула (4). Однако с увеличением t ее точность повышается и при t > 1,5 погрешность (4) становится уже не более 7 %. Формула (8) действительно является самой точной, 8

формул вида (3), однако, как уже указывалось выше, область ее применения ограничивается величиной t < 1,5.

При решении ряда задач приходится сталкиваться с необходимостью дифференцирования и интегрирования функций eif(t) и erfc(t), и вычислением численных значений полученных производных и интегралов.

Дифференцирование этих функций принципиальных затруднений не вызывает:

—erf (t) = — [-= f exp( -у 2)dx ] = exp( -t2). (10)

Производные eif(t) отличаются от производных erfc(t) соответственно только знаками. Излишне говорить, что вычисление этих производных затруднений не вызывает и легко осуществляется даже на простых инженерных калькуляторах.

Процессу же интегрирования этих функций в современной технической литературе уделено довольно мало внимания, что в определенной степени затрудняет использование этой математической операции в соответствующих аналитических исследованиях и практических расчетах.

В задачах нестационарной теплопроводности довольно часто применяются несобственные интегра-

Ierfc(x )dx , где x —

рования, при этом в полученных конечных расчетных формулах имеют место суммы последовательного многократного интегрирования функции

егИс(х). Поэтому для сокращения записи было введено обозначение:

inerfc(t) = | erfc( х )ск, где п = 0, 1, 2,. . (11)

ierfc (г) = [ егфс (х )dx = —-^= ехр( -г2) — г • еф (г); (13)

P’erfcU) = Iierfc(x )dx = —[(1 + 2t2)erfc(t)————^t • exp(-t2)] =

= \[еф(г ) — 2г • ierfc(t)] (14)

Общая рекуррентная формула (так именуется любая формула, выражающая какую-либо величину, зависящую от числа п, через ту же величину при меньшем абсолютном значении п) для расчетов ГеГс() имеет вид:

2ninerfc(t) = in 2erfc(t)-2tin 1erfc(t).

Интегралы ГеГсЮ для п = 1, 2, 3, 4, 5, 6 определены и их значения в табличной форме приведены в соответствующих литературных источниках, например [6]. Расчет этих интегралов в настоящее время также принципиальных затруднений не вызывает. При использовании же указанных выше соответствующих аппроксимаций функции е/О) этот расчет относительно легко осуществляется даже на простых инженерных калькуляторах. Кроме того, относительно простой вид функций ГеГЬ(0 позволяет аппроксимировать их, так же как и функцию еГ(), простыми зависимостями еще более облегчающими процесс вычисления этих функций.

Однако анализ аппроксимирующих выражений показал, что в диапазоне t= 0.2,5 (при t > 2,5 величины Гег/сО) уже не превышают 0,00005) аппроксимировать функции ГеГсО для п = 1, 2, 3, 4, 5, 6 простыми, легко рассчитываемыми на инженерных калькуляторах, не удается. При О> 1,0 погрешность в расчетах функций ГеГс() такими аппроксимирующими выражениями резко возрастает. Аппроксимировать эти функции в этом диапазоне изменения О можно только довольно сложными выражениями, использование которых практически не облегчает вычисление функций ГеГс(). Аппроксимация функций ГеГс простыми выражениями оказалось возможна только в том случае, если указанный диапазон изменения О разбить минимум на две части. Было установлено, что если указанный диапазон изменения О разбить на следующие две части — О = 0.1,0 и О = 1,0. 2,5, то функции /,ел/с(О) для п = 1, 2, 3, 4, 5, 6 в обеих частях можно довольно точно аппроксимировать выражением одного вида:

У = а •ехр(-Ь где У = Гегк(). (16)

Значения коэффициентов а, Ь и соответствующих корреляционных отношений г с точностью до 5-го знака после запятой (это точность табличных значений функций ГегИсО в [6]) приведены в таблице.

Функция 1ег/с(О) позволяет без затруднений вы-

Функция Коэффициенты аппроксимирующих зависимостей У = ашехр(-ЬО и величины их корреляционных отношений г в диапазоне изменения О

ieifc(t) 0,58343 2,19058 0,99797 2,05112 3,66278 0,99938

ferfcft) 0,25632 2,61519 0,99891 0,32769 3,36683 0,97937

Perfc(t) 0,09586 2,97738 0,99934 0,42686 4,66622 0,99700

feifc(t) 0,03177 3,30219 0,99955 0,25499 5,36949 0,97177

ferfc(t) 0,00951 3,60600 0,99956 _* — —

ferfc(t) 0,00259 3,83964 0,99888 — — —

*согласно [6] Рег/сО) и /’ел/с(О) при О > 1,0 с точностью до 5-го знака после запятой равны нулю

числять интегралы вида | ефс (х )с1х , которые ис-

пользуются, например, при вычислении температуры, усредненной по толщине прогретого тела при нестационарном теплообмене.

учитывая свойство определенного интеграла, имеем:

| еуфс(х )^х = | еуфс(х )с1х — | еуфс(х )аХ = ierfc(tl) — ierfc(t2 ). г1 г1 г2

При наличии аппроксимаций (16) вычисление вышеуказанных интегралов легко осуществляется даже на простых инженерных калькуляторах. При необходимости точность расчетов этих интегралов можно повысить. Учитывая (13) и (17), получим:

I еф( x )dx = [-=exp( -t12) — t1erfc(t1 )] — [-^exp(-t2 ) — t2eKfc(t2 )] =

= -j= [exp(-t1 ) — exp( -t2 )] — [t1erfc(t1) — t2erfc(t2)]. (18)

i Не можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

причем на всем диапазоне изменения аргумента t, который может встретиться в практических расчетах процессов горного производства.

Интегралы вида ferf (x )dx в расчетах использо-

ваны быть не могут, т. к. являются расходящимися. Довольно широко в практических расчетах исполь-

зуются интегралы вида f erf (x )dx , выражение для

расчета которых можно получить, учитывая (18):

| erf (x )dx = | [1- erfc(x )]dx = J dx — J erfc(x )dx = (t2 — ^) —j= [exp(-t2 ) -t1 t1 ‘ n

— exp(-t2 )]+ [t1erfc(tj) — t2erfc(t2)] = (tj -t2) —= [exp(-tj ) — exp(-t2 )] +

+ it1[l- erf (t1)] — t2[l- erf (t2 )]> = t2 -11-^[exp(-t? ) — exp(-t2 )] + t1 —

— herf (t1) -12 + t2erf (t2) = -^[exp(-t|) — exp(-t12)] +12erf (t2) — tlerf (t1).

При t1 = 0 (20) имеет вид:

|erfc(x)dx =—^[1-exp(-tf)] +12erfc(t2). (19) J erf (x)dx =“/= texP(_t2 )-4 + t2erf (t2). (21)

При использовании для вычисления функций еп/ЬО) аппроксимации (9) точность вычисления ин-

тегралов | е^с (х )дх , становится очень высокой,

При использовании рассмотренных выше аппроксимаций функции расчет интегралов (20) и

(21) также легко осуществляется даже на простых инженерных калькуляторах.

1. Справочник по специальным функциям с формулами, графиками и математическими таблицами: Пер. с англ.; Под ред. М. Абрамовица и И. Стигана. — М.: Наука, 1979. — 832 с.

2. Митропольский А.К. Интеграл

вероятностей. — Л.: Изд-во ЛГУ,

3. Воропаев А.Ф. Тепловое кондиционирование рудничного воздуха в глубоких шахтах. — М.: Недра, 1979. — 192 с.

4. Вейник А.И. Приближенный расчет процессов теплопроводности. — М.-Л.: Госэнергоиздат, 1959. — 184 с.

5. Резников А.Н., Резников Л.А. Тепловые процессы в техно-

логических системах: Учебник для вузов. — М.: Машиностроение,

6. Карслоу Г., Егер Д. Теплопроводность твердых тел. — М.: Наука, 1964. — 488 с.

7. Пехович А. И, Жидких В.М. Расчеты теплового режима твердых тел. — Л.: Энергия, 1976. — 352 с.

Янченко Геннадий Алексеевич — профессор, доктор технических наук, кафедра «Физика горных пород и процессов», Московский государственный горный университет.

Гринь Евгений Васильевич, Жаровкин Андрей Васильевич — студенты гр. ГФ-1- 97 Московского государственного горного университета.

erf , erff , erfl , erfc , erfcf , erfcl

Вычисляет функцию ошибок или дополнительную функцию ошибок значения.

Синтаксис

double erf( double x ); float erf( float x ); // C++ only long double erf( long double x ); // C++ only float erff( float x ); long double erfl( long double x ); double erfc( double x ); float erfc( float x ); // C++ only long double erfc( long double x ); // C++ only float erfcf( float x ); long double erfcl( long double x ); #define erf(X) // Requires C11 or higher #define erfc(X) // Requires C11 or higher 

Параметры

x
Значение с плавающей запятой.

Возвращаемое значение

Функция erf возвращает функцию Гаусса (нормального распределения) ошибок x . Функция erfc возвращает дополнительную функцию Гаусса (нормального распределения) ошибок x .

Замечания

Функции erf вычисляют функцию x ошибки Gauss, которая определяется следующим образом:

The error function of x equals two over the square root of pi times the integral from zero to x of e to the minus t squared d t.

Дополнительная функция ошибки Gauss определяется как 1 – erf(x). Функция erf возвращает значение в диапазоне от -1,0 до 1,0. Не возвращается ошибка. Функция erfc возвращает значение в диапазоне от 0 до 2. Если значение x слишком большое для erfc , переменная errno задается равной ERANGE .

Так как C++ разрешает перегрузку, можно вызывать erf и erfc перегрузки, которые принимают и возвращают float и long double типы. В программе C, если вы не используете для вызова этой функции, erf и erfc всегда принимаете и возвращаете значение double .

Если вы используете erf() , тип аргумента определяет, какая версия функции выбрана. Дополнительные сведения см . в разделе «Математика с универсальным типом».

По умолчанию глобальное состояние этой функции ограничивается приложением. Чтобы изменить это поведение, см . статью «Глобальное состояние» в CRT.

Требования

Функция Обязательный заголовок
erf , erff , erfl , erfc , erfcf , erfcl
erf Макрос

Дополнительные сведения о совместимости см. в разделе Совместимость.

Документация

Live скрипты MATLAB поддерживают большую часть функциональности MuPAD, хотя существуют некоторые различия. Для получения дополнительной информации смотрите, Преобразовывают Notebook MuPAD в Live скрипты MATLAB.

Синтаксис

erf(x) 

Описание

erf(x) представляет функцию ошибок 2 π ∫ 0 x e − t 2 d t .

Эта функция задана для всех сложных аргументов x . Для аргументов с плавающей точкой erf возвращает результаты с плавающей точкой.

Реализованные точные значения: erf(0) = 0 , erf(∞) = 1 , erf(-∞) = -1 , erf(i ∞) = i ∞ и erf(-i ∞) = -i ∞ . Для всех других аргументов функция ошибок возвращает символьные вызовы функции.

Для вызова функции может произойти erf(x) = 1 — erfc(x) с аргументами с плавающей точкой большого абсолютного значения, внутренней числовой потери значимости или переполнения. Если вызов потери значимости причин erfc или переполнения, эта функция возвращается:

  • Результат, усеченный к 0.0 , если x является большим положительным вещественным числом
  • Результат округлился к 2.0 , если x является большим отрицательным вещественным числом
  • RD_NAN , если x является большим комплексным числом и MuPAD ® , не может аппроксимировать значение функции

Функция ошибок erf(x) = 1 — erfc(x) возвращает соответствующие значения для больших аргументов. Смотрите Пример 2.

MuPAD может упростить выражения, которые содержат функции ошибок и их инверсии. Для действительных значений x система применяет следующие правила упрощения:

  • inverf(erf(x)) = inverf(1 — erfc(x)) = inverfc(1 — erf(x)) = inverfc(erfc(x)) = x
  • inverf(-erf(x)) = inverf(erfc(x) — 1) = inverfc(1 + erf(x)) = inverfc(2 — erfc(x)) = -x

Для любого значения x система применяет следующие правила упрощения:

  • inverf(-x) = -inverf(x)
  • inverfc(2 — x) = -inverfc(x)
  • erf(inverf(x)) = erfc(inverfc(x)) = x
  • erf(inverfc(x)) = erfc(inverf(x)) = 1 — x

Взаимодействия среды

Когда названо аргументом с плавающей точкой, функции чувствительны к переменной окружения DIGITS , который определяет числовую рабочую точность.

Примеры

Пример 1

Можно вызвать функцию ошибок с точными и символьными аргументами:

erf(0), erf(3/2), erf(sqrt(2)), erf(infinity)

Функция ошибок

\operatorname<erf></p>
<p>\,x = \frac<\sqrt<\pi>>\int\limits_0^x e^\,\mathrm dt» width=»» height=»» />.</p>
<p><b>Дополнительная функция ошибок</b>, обозначаемая <img decoding=

Комплексная функция ошибок, обозначаемая , также определяется через функцию ошибок:

w(x) = e^<-x^2></p>
<p>\operatorname\,(-ix)» width=»» height=»» />.</p>
<h3>Свойства</h3>
<ul>
<li>Функция ошибок нечётна:</li>
</ul>
<p><img decoding=

  • Для любого комплексного xвыполняется

\operatorname\,\bar = \overline<\operatorname\,x> » width=»» height=»» /></p>
<p><img decoding=

где черта обозначает комплексное сопряжение числа .

\operatorname<erf></p>
<ul>
<li>Функция ошибок не может быть представлена через элементарные функции, но, разлагая интегрируемое выражение в ряд Тейлора и интегрируя почленно, мы можем получить её представление в виде ряда:</li>
</ul>
<p>\,x= \frac<\sqrt<\pi>>\sum_^\infin\frac>=\frac<\sqrt<\pi>> \left(x-\frac+\frac-\frac+\frac-\ \cdots\right)» width=»» height=»» /></p>
<p><img decoding=

Это равенство выполняется (и ряд сходится) как для любого вещественного [источник не указан 302 дня] , так и на всей комплексной плоскости. Последовательность знаменателей образует последовательность A007680 в OEIS.

\operatorname<erf></p>
<ul>
<li>Для итеративного вычисления элементов ряда полезно представить его в альтернативном виде:</li>
</ul>
<p>\,x= \frac<\sqrt<\pi>>\sum_^\infin\left(x \prod_^n>\right) = \frac<\sqrt<\pi>> \sum_^\infin \frac\prod_^n \frac» width=»» height=»» /></p><div class='code-block code-block-13' style='margin: 8px 0; clear: both;'>
<!-- 13joomlaumnik -->
<script src=

поскольку \frac<-(2i-1) x^2>» width=»» height=»» /> — сомножитель, превращающий <img decoding=-й член ряда в (i+1)-й, считая первым членом x.

  • Функция ошибок на бесконечности равна единице; однако это справедливо только при приближении к бесконечности по вещественной оси, так как:
  • При рассмотрении функции ошибок в комплексной плоскости точка z=\inftyбудет для неё существенно особой.
  • Производная функции ошибок выводится непосредственно из определения функции:

\frac<d>\,\operatorname\,x=\frac<\sqrt<\pi>>\,e^.» width=»» height=»» /></p>
<ul>
<li><b>Обратная функция ошибок</b> представляет собой ряд</li>
</ul>
<p><img decoding=

Дополнительная функция ошибок

Применение

Если набор случайных чисел подчиняется нормальному распределению со стандартным отклонением \sigma, то вероятность, что число отклонится от среднего не более чем на a, равна  \operatorname<erf>\,\frac>» width=»» height=»» />.</p>
<p>Функция ошибок и дополнительная функция ошибок встречаются в решении некоторых дифференциальных уравнений, например, уравнения теплопроводности с граничными условиями описываемыми функцией Хевисайда («ступенькой»).</p>
<p>В системах цифровой оптической коммуникации, вероятность ошибки на бит также выражается формулой, использующей функцию ошибок.</p>
<h3>Асимптотическое разложение</h3>
<p><img decoding=

При больших полезно асимптотическое разложение для дополнительной функции ошибок:

\operatorname<erfc></p>
<p>\,x = \frac><x\sqrt<\pi>>\left [1+\sum_^\infty (-1)^n \frac\right ]=\frac><x\sqrt<\pi>>\sum_^\infty (-1)^n \frac>.\,» width=»» height=»» /></p>
<p>Хотя для любого конечного <img decoding=этот ряд расходится, на практике первых нескольких членов достаточно для вычисления \operatorname<erfc>\,x» width=»» height=»» /> с хорошей точностью, в то время как ряд Тейлора сходится очень медленно.</p><div class='code-block code-block-15' style='margin: 8px 0; clear: both;'>
<!-- 15joomlaumnik -->
<script src=

Другое приближение даётся формулой

(\operatorname<erf></p>
<p>\,x)^2\approx 1-\exp\left(-x^2\frac\right)» width=»» height=»» /></p>
<p><img decoding=

С точностью до масштаба и сдвига, функция ошибок совпадает с нормальным интегральным распределением, обозначаемым

\Phi(x) = \frac<1></p>
<p>\left(1+\operatorname\,\frac<\sqrt>\right)\,.» width=»» height=»» /></p>
<p>Обратная функция к <img decoding=, известная как нормальная квантильная функция, иногда обозначается \operatorname<probit>» width=»» height=»» /> и выражается через нормальную функцию ошибок как</p><div class='code-block code-block-16' style='margin: 8px 0; clear: both;'>
<!-- 16joomlaumnik -->
<script src=

 \operatorname<probit></p>
<p>\,p = \Phi^(p) = \sqrt\,\operatorname^(2p-1). » width=»» height=»» /></p>
<p>Нормальное интегральное распределение чаще применяется в теории вероятностей и математической статистике, в то время как функция ошибок чаще применяется в других разделах математики.</p>
<p>Функция ошибок является частным случаем функции Миттаг-Леффлера, а также может быть представлена как вырожденная гипергеометрическая функция (функция Куммера):</p>
<p><img decoding=

График обобщённых функций ошибок E_n(x):
серая линия: E_1(x)=(1-e^<-x>)/\sqrt<\pi>» width=»» height=»» /> <br />красная линия: <img decoding=
синяя линия: E_4(x)
жёлтая линия: E_5(x).

Некоторые авторы обсуждают более общие функции

E_n(x) = \frac</p>
<p><\sqrt<\pi>> \int\limits_0^x e^\,\mathrm dt =\frac<\sqrt<\pi>>\sum_^\infin(-1)^p\frac>\,.» width=»» height=»» /></p>
<p>Примечательными частными случаями являются:</p>
<ul>
<li><img decoding=— прямая линия, проходящая через начало координат: E_0(x)=\frac<x>>» width=»» height=»» /></li>
<li><img decoding=— функция ошибок \operatorname<erf>\,x» width=»» height=»» />.</li>
</ul>
<p>После деления на <img decoding=все E_nс нечётными nвыглядят похоже (но не идентично). Все E_nс чётными nтоже выглядят похоже, но не идентично, после деления на n!. Все обобщённые функции ошибок с n>0″ width=»» height=»» /> выглядят похоже на полуоси <img decoding=Как добавить приложение в трей

  • Как отдалить камеру в generals zero hour
  • Как отключить сетевую карту
  • Как создать генеративную коллекцию
  • Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *