首页 | 主题 | 图库 | 问答 | 文摘 | 原创 | 百科

历史 | 地理 | 人物 | 艺术 | 体育 | 科学 | 音乐 | 电影 | 信息技术 | 世界遗产

 开放、中立,源自维基百科

个人工具


指数函数

维库,知识与思想的自由文库

跳转到: 导航, 搜索

指数函数数学中最重要的函数。应用到值 x 上的这个函数写为 exp(x)。还可以等价的写为 ex,这里的 e 是数学常数,就是自然对数的底数,近似等于 2.718281828,还叫做欧拉数。

指数函数对于 x 的负数值非常平坦,对于 x 的正数值迅速攀升,在 x 等于 0 的时候等于 1。它的 y 值总是等于在这一点上的斜率。
指数函数对于 x 的负数值非常平坦,对于 x 的正数值迅速攀升,在 x 等于 0 的时候等于 1。它的 y 值总是等于在这一点上的斜率

作为实数变量 x 的函数,y=ex图像总是正的(在 x 轴之上)并递增(从左向右看)。它永不触及 x 轴,尽管它可以任意程度的靠近它(所以,x 轴是这个图像的水平渐进线。它的反函数自然对数 ln(x),它定义在所有正数 x 上。

有时,特别是在科学中,术语指数函数更一般性的用于形如 kax 的函数,这里的 a 叫做“底数”,是不等于 1 的任何正实数。本文最初集中于带有底数为欧拉数 e 的指数函数。

一般的说,变量 x 可以是任何实数或复数,甚至是完全不同种类的数学对象;参见后面的形式定义。

目录

[编辑] 性质

最简单的,指数函数按恒定速率翻倍。例如细菌培养时细菌总数(近似的)每三个小时翻倍,和汽车的价值每年减少 10% 都可以被表示为一个指数。

使用自然对数,你可以定义更一般的指数函数。函数

\!\, a^x=(e^{\ln a})^x=e^{x \ln a}

定义于所有的 a > 0,和所有的实数 x。它叫做底数a指数函数。注意这个 ax 的定义依赖于先前确立的定义于所有实数上的函数 ex 的存在。(这里我们先既不在形式上的也不概念上明确这样一个函数是否存在,或非自然指数意味着什么。)

注意上述等式对于 a = e 成立,因为

\!\, e^{x \ln e}=e^{x \cdot 1}=e^x.

指数函数可“在加法和乘法之间转换”,在下列“指数定律”的前三个和第五个中表述:

\!\, a^0 = 1
\!\, a^1 = a
\!\, a^{x + y} =  a^x a^y
\!\, a^{x y} = \left( a^x \right)^y
\!\, {1 \over a^x} = \left({1 \over a}\right)^x = a^{-x}
\!\, a^x b^x = (a b)^x

它们对所有正实数 ab 和所有实数 xy 都是有效的。涉及分数方根的表达式经常可以使用指数符号简化:

{1 \over a} = a^{-1}

对于任何 a > 0,实数 b,和整数 n > 1:

\sqrt[n]{a^b} = \left(\sqrt[n]{a}\right)^b = a^{b/n}.

[编辑] 导数和微分方程

指数函数在数学和科学中的重要性主要源于它的导数的性质。特别是

{d \over dx} e^x = e^x

就是说,ex 是它自己的导数。对于常数 K 的形如 Kex 的函数是唯一有这个性质的函数。(这得出自Picard-Lindelöf定理,通过 y(t) = et,y(0) = Kf(t,y(t)) = y(t))。其他等价说法有:

  • 函数的图像的在任何一点上的斜率是这个函数在这一点上的高度。
  • 函数在 x 的增长速率等于在这个函数在 x 上的值。
  • 这个函数是微分方程 y' = y 的解。
  • exp 是泛函导数不动点

事实上,很多不同的方程引发指数函数,包括薛定谔方程拉普拉斯方程简单谐波运动的方程。

对于有其他底数的指数函数:

{d \over dx} a^x = (\ln a) a^x

所以任何指数函数都是它自己导数的常数倍。

如果一个变量的增长或衰减速率是与它的大小成比例的,比如在无限制情况下的人口增长、复利放射性衰变,则这个变量可以写为常数倍的时间的指数函数。

进一步的,对任何可微函数 f(x),我们可以通过链规则找到:

{d \over dx} e^{f(x)} = f'(x)e^{f(x)}.

[编辑] 形式定义

指数函数 ex 可以用各种等价的无穷级数的方式定义。特别是它可以定义为幂级数:

e^x = \sum_{n = 0}^{\infty} {x^n \over n!} = 1 + x + {x^2 \over 2!} + {x^3 \over 3!} + {x^4 \over 4!} + \cdots

序列的极限:

e^x = \lim_{n \to \infty} \left( 1 + {x \over n} \right)^n.

在这些定义中,n! 表示 n阶乘,而 x 可以是任何实数复数、和巴拿赫代数的元素。

这些定义的进一步解释和它们的等价性的证明,参见文章指数函数的特征描述

[编辑] 数值值

要得到指数函数的数值值,无穷级数可以重写为:

e^x = {1 \over 0!} + x \, \left( {1 \over 1!} + x \, \left( {1 \over 2!} + x \, \left( {1 \over 3!} + \cdots \right)\right)\right)
= 1 + {x \over 1} \left(1 + {x \over 2} \left(1 + {x \over 3} \left(1 + \cdots \right)\right)\right)

这个表达式快速收敛,如果我们确保 x 小于 1。

为了确保如此,我们可以使用下列恒等式。

e^x\, =e^{z+f}\,
= e^z \times \left[{1 \over 0!} + f \, \left( {1 \over 1!} + f \, \left( {1 \over 2!} + f \, \left( {1 \over 3!} + \cdots \right)\right)\right)\right]
  • 这里的 zx 的整数部分
  • 这里的 fx 的小数部分
  • 所以,f 总是小于 1 而 fz 合计为 x

常数 ez 的值可以预先通过 e 自乘 z 次计算。

[编辑] 计算实数 x 的 exp(x)

可以找到如下更好的算法。

首先,注意到答案 y = ex 通常是用尾数 m 和指数 n 表示的浮点数,所以 y = m 2n 对于某个整数 n 和适合的小 m。因此我们得到了:

y = m\,2^n = e^x.

在每项上取对数:

\log(y) = \log(m) + n\log(2) = x. \,

所以,我们得到了 n 作为 x 除以 log(2) 的结果,并找到不大于它的最大整数 - 也就是应用floor函数:

n = \left\lfloor\frac{x}{\log(2)}\right\rfloor.

已经找到了 n,我们可以接着找到分数部分 u:

u = x - n\log(2). \,

u 是小的并在范围 0 ≤ u < log(2) 内,所以我们可以使用前面提到的级数来计算 m:

m = e^u = 1 + u(1 + u(\frac{1}{2!} + u(\frac{1}{3!} + u(....)))).

已经找到了 mn,我们可以接着通过简单组合这两部分成一个浮点数而生成 y:

y = e^x = m\,2^n.

[编辑] ex 的连分数

通过欧拉恒等式:

\ e^x=1+x+\frac{x^2}{2!}+\cdots= 1+\cfrac{x}{1-\cfrac{x}{x+2-\cfrac{2x}{x+3-\cfrac{3x}{x+4-\cfrac{4x}{x+5-\cfrac{5x}{\ddots}}}}}}

需要更高级的技术来构造如下:

\ e^{2m/n}=1+\cfrac{2m}{(n-m)+\cfrac{m^2}{3n+\cfrac{m^2}{5n+\cfrac{m^2}{7n+\cfrac{m^2}{9n+\cfrac{m^2}{\ddots}}}}}}\,

设置 m=x 和 n=2 生成

\ e^x=1+\cfrac{2x}{(2-x)+\cfrac{x^2}{6+\cfrac{x^2}{10+\cfrac{x^2}{14+\cfrac{x^2}{18+\cfrac{x^2}{\ddots}}}}}}\,

[编辑] 计算自然数(正整数) nan

最快的方式计算 an,当 n 是正整数的时候。它利用了测试一个数是奇数在计算机上是非常容易的,和通过简单的移所有位向右来除以 2 的事实。 步骤 1,初始化某个变量
y := 1, k := n, f := a

步骤 2,测试 k
如果 k 为 0,跳转步骤 7

步骤 3,(k 不是 0,测试 k 是否为偶数)
如果 k 是偶数,跳转步骤 5

步骤 4,(k 是奇数,乘入它)
y: = y * f

步骤 5,(k 除以 2 / 忽略余数,通过移位做除法,平方 f)
k := k 右移 1 位 f := f * f

步骤 6,(循环)
回到步骤 2

步骤 7,(完成,y 是结果 = an)
返回 y

C语言中,你可以写如下算法:

<source lang="cpp">

  double power(double a, unsigned int n)
  {
       double y = 1;
       double f = a;
       unsigned int k = n;
       while (k != 0) {
          if ((k & 1) != 0) y *= f;
          k >>= 1;
          f *= f;
       }
       return y;
  }

</source>

在一个天真的 a^100 的乘法中,我们可能需要乘 a 的循环的 100 次迭代,而这个循环迭代只用 7 次(数 100 写为 7 位)。

这个算法可以通过套上下列步骤轻易的扩展到有符号整数:

步骤 1. 如果 k 是负数,取负这个值得到整数 k。n 仍记住最初的值。

步骤 2. 进行对 y = a | k | 的上述计算

step 3. 如果 n 是负数,倒转结果 y := 1/y。y 现在是 an 对整数 n 的结果。

[编辑] 在复平面上

在考虑定义在复平面上的函数的时候,指数函数拥有重要的性质

\!\, e^{z + w} = e^z e^w
\!\, e^0 = 1
\!\, e^z \ne 0
\!\, {d \over dz} e^z = e^z

对于所有的 zw

它是周期的全纯函数,带有虚数周期 i,它可以写为

\!\, e^{a + bi} = e^a (\cos b + i \sin b)

这里的 ab 是实数值。这个公式把指数函数和三角函数双曲函数联系起来了。随意我们看到除了多项式的所有初等函数都以某种方式起源于指数函数。

参见欧拉公式

扩展自然对数到复数参数生成多值函数 ln(z)。我们可以接着定义更一般性的指数函数:

\!\, z^w = e^{w \ln z}

对于所有复数 zw。这也是多值函数。上述指数定律仍成立,如果正确的解释为关于多值函数的陈述。

指数函数把在复平面上任何直线映射到在复平面中以原点为中心的对数螺线。要注意两个特殊情况: 当最初的线平行于实轴的时候,结果的螺线永不遮盖(close in on)自身;当最初的线平行于虚轴的时候,结果的螺线是某个半径的圆。

[编辑] 计算复数 z 的 exp(z)

非常直接的给出公式

e^{x + yi} = e^xe^{yi} = e^x(\cos(y) + i \sin(y)) = e^x\cos(y) + ie^x\sin(y). \,

注意给三角函数的参数 y 是实数。

[编辑] 计算复数 abab

直接给出公式:

如果 a = x + yi 且 b = u + vi,先把 a 转换到极坐标,需要找到满足如下条件的 θr:

re^{{\theta}i} = r\cos\theta + i r\sin\theta = a = x + yi \,

x = r\cos\theta \,y = r\sin\theta \,

所以,x^2 + y^2 = r^2 \,r = \sqrt{x^2 + y^2} \, 而且 \tan\theta = \frac{y}{x} \,\theta = arctan2(y,x) \,

现在我们有:

a = re^{{\theta}i} = e^{\log(r) + {\theta}i} \,

所以:

a^b = (e^{\log(r) + {\theta}i})^{u + vi} = e^{(\log(r) + {\theta}i)(u + vi)} \,

指数因此是两个复数值的简单乘积生成复数结果,它可以接着通过如下公式转换回到正规的笛卡尔坐标:

e^{p + qi} = e^p(\cos(q) + i\sin(q)) = e^p\cos(q) + ie^p\sin(q) \,

这里的 p 是乘法的实部:

p = u\log(r) - v\theta \,

q 是乘法的虚部:

q = v\log(r) + u\theta \,

注意在这些计算中所有 x,y,u,v,r, θ, pq 都是实数值。a^b \, 的结果因此是 p + qi \,

还要注意因为我们计算和使用了 \log(r) \, 而不是 r 自身,你不需要计算平方根。转而简单的计算 \log(r) = \frac12\log(x^2 + y^2) \,。预防潜在的上溢出并尽可能在计算 x^2 + y^2 \, 之前通过适当的 2 幂按比例缩减 x 和 y,如果 xy 太大就会上溢出。如果你有下溢出的危险,在计算平方和之前通过适当的 2 的幂按比例增加它们。在任何一个情况下,你可以接着得到按比例缩放版本的 x 称为 x' \,,和按比例缩放版本的 y 称为 y' \,,因此得到:

x = x'2^s \,y = y'2^s \,

这里的 2^s \, 是缩放因子。

接着得到 \log(r) = \frac12(\log(x'^2 + y'^2) + s) \, 这里的 x' \,y'\, 被缩放了使得平方和不上溢出或下溢出。如果 x 是非常大而 y 是非常小,因而不能找到这样一个缩放因子,你就会上溢出所以这个和本质上等于 x^2 \,,因为 y 被忽略了,因此你在这种情况下得到了 r = |x| \,\log(r) = \log(|x|) \,。同样情况出现在 x 非常小而 y 非常大的时候。如果两个都非常小或都非常大就可以找到前面提到的缩放因子。

[编辑] 矩阵和巴拿赫代数

上面给出的指数函数的定义可以用于所有巴拿赫代数,特别是对于方块矩阵(在这种情况函数叫做矩阵指数)。在这种情况下我们有

\ e^{x + y} = e^x e^y \mbox{ if } xy = yx
\ e^0 = 1
\ e^x\ e^{-x} 是互倒的
\ e^x 在点 \ x 的导数是从 \ u\ ue^x 的线性映射。

在非交换巴拿赫代数的上下文中,比如矩阵代数或在巴拿赫空间希尔伯特空间上的算子,指数函数经常被认做实数参数的函数:

\ f(t) = e^{t A}

这里的 A 是这个代数的固定元素而 t 是任何实数。这个函数有重要的性质

\ f(s + t) = f(s) f(t)
\ f(0) = 1
\ f'(t) = A f(t)

[编辑] 在李代数上

李代数李群的“指数映射”有着上述性质。事实上因为 R 是带有乘法的所有正实数的李群的李代数,实数参数的常规指数函数是李代数下的特殊情况。类似的,因为所有方块实数矩阵的李代数 M (n, R) 属于所有正可逆方块矩阵的李群,方块矩阵的指数函数是李代数指数映射的特殊情况。


[编辑] 参见

[编辑] 外部链接

其它语言
AD Links