From fd72bca141cef4617b2a13421a4ed8adb18dec1c Mon Sep 17 00:00:00 2001 From: Steve Fanning Date: Tue, 7 Jan 2025 11:16:30 +0000 Subject: [PATCH] Add description for ERF function. --- docs/src/functions/engineering.md | 2 +- docs/src/functions/engineering/erf.md | 50 ++++++++++++++++-- .../functions/images/error-function-curve.png | Bin 0 -> 52798 bytes xlsx/tests/docs/ERF.xlsx | Bin 0 -> 11424 bytes 4 files changed, 46 insertions(+), 6 deletions(-) create mode 100644 docs/src/functions/images/error-function-curve.png create mode 100644 xlsx/tests/docs/ERF.xlsx diff --git a/docs/src/functions/engineering.md b/docs/src/functions/engineering.md index ff2ec90..3e08e59 100644 --- a/docs/src/functions/engineering.md +++ b/docs/src/functions/engineering.md @@ -27,7 +27,7 @@ All Engineering functions are already supported in IronCalc. | DEC2BIN | | – | | DEC2HEX | | – | | DEC2OCT | | – | -| ERF | | – | +| ERF | | [ERF](engineering/erf) | | ERF.PRECISE | | – | | ERFC | | – | | ERFC.PRECISE | | – | diff --git a/docs/src/functions/engineering/erf.md b/docs/src/functions/engineering/erf.md index b245e6c..67fc4cd 100644 --- a/docs/src/functions/engineering/erf.md +++ b/docs/src/functions/engineering/erf.md @@ -3,9 +3,49 @@ layout: doc outline: deep lang: en-US --- - -# ERF - +# ERF function ::: warning -🚧 This function is implemented but currently lacks detailed documentation. For guidance, you may refer to the equivalent functionality in [Microsoft Excel documentation](https://support.microsoft.com/en-us/office/excel-functions-by-category-5f91f4e9-7b42-46d2-9bd1-63f26a86c0eb). -::: \ No newline at end of file +**Note:** This draft page is under construction 🚧 +::: +## Overview +ERF (ERror Function) is a function of the Engineering category that calculates a value for the _error function_. Also known as the _Gauss error function_, the error function represents the probability of a random variable falling within a certain range, given that it follows a specified normal distribution. +## Usage +### Syntax +**ERF(X, Y) => erf** +### Argument descriptions +* *X* ([number](/features/value-types#numbers), required). Integration limit. If no value is supplied for the _Y_ argument, ERF integrates over the range [0, _X_]. +* *Y* ([number](/features/value-types#numbers), [optional](/features/optional-arguments)). Upper integration limit. When a value is supplied for this argument, ERF integrates over the range [_X_, _Y_]. +### Additional guidance +None. +### Returned value +ERF returns a [number](/features/value-types#numbers) that is the error function probability for the specified arguments. The returned value has a magnitude in the range [0, 1] but may be either positive (upper integration limit > lower integration limit) or negative (upper integration limit < lower integration limit). +### Error conditions +* In common with many other IronCalc functions, ERF propagates errors that are found in its arguments. +* If no argument, or more than two arguments, are supplied, then ERF returns the [`#ERROR!`](/features/error-types.md#error) error. +* If the value of any argument is not (or cannot be converted to) a [number](/features/value-types#numbers), then ERF returns the [`#VALUE!`](/features/error-types.md#value) error. +* For some argument values, ERF may return the [`#DIV/0!`](/features/error-types.md#div-0) error. + + +## Details +* The error function arises in many scientific, engineering, and mathematical fields and is commonly defined by the following equation (applicable for any real number $x$): +$$ +\text{erf}(x) = \frac{2}{\sqrt{\pi} }\: \int_{0}^{x} e^{-t^2}\:dt +$$ +* The figure below illustrates the output of the ERF function for values of $x$ in the range -3 to +3. +
Graph showing erf(x) for x between -3 and +3.
+ +* This figure illustrates some of the key characteristics of the error function: + + * erf($0$) = $0$ + * erf($x$) = -erf($x$) + * As $x → ∞$, erf($x$) $→ 1$. + * As $x → -∞$, erf($x$) $→ -1$. + +* The error function is a [transcendental](https://en.wikipedia.org/wiki/Transcendental_function), non-algebraic mathematical function. IronCalc implements the ERF function by numerical approximation using a power series. +## Examples +[See some examples in IronCalc](https://app.ironcalc.com/?example=erf). + +## Links +* See also IronCalc's [ERFC](/functions/engineering/erfc.md), [ERF.PRECISE](/functions/engineering/erf.precise.md) and [ERFC.PRECISE](/functions/engineering/ERFC.PRECISE.md) functions. +* Visit Microsoft Excel's [ERF function](https://support.microsoft.com/en-gb/office/erf-function-c53c7e7b-5482-4b6c-883e-56df3c9af349) page. +* Both [Google Sheets](https://support.google.com/docs/answer/9116267) and [LibreOffice Calc](https://wiki.documentfoundation.org/Documentation/Calc_Functions/ERF) provide versions of the ERF function. \ No newline at end of file diff --git a/docs/src/functions/images/error-function-curve.png b/docs/src/functions/images/error-function-curve.png new file mode 100644 index 0000000000000000000000000000000000000000..1b28ac6f557c5c4d4dd9552253d33dc6b9de7439 GIT binary patch literal 52798 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

Hk0@LZv=W1!Y8%IX~O+I?uF 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 V_L)DIKSRLZfqj;HbN9G}{|6_W#4G>+ literal 0 HcmV?d00001 diff --git a/xlsx/tests/docs/ERF.xlsx b/xlsx/tests/docs/ERF.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..0e7e9ac673cd035baa713332782c784294b0d4e4 GIT binary patch literal 11424 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