函数

这是正在写的一本数学和Python的小书中的一节,感兴趣的移步 http://ryancheunggit.gitbooks.io/calculus-with-python/

函数

我们可以将函数(functions)想象成一台机器f,每当我们向机器提供输入x,这台机器便会产生输出f(x)

这台机器所能接受的所有输入的集合称为定义域(domain),其所有可能输出的集合称为值域(range)。函数的定义域和值域有着非常重要的意义,如果我们知道一个函数的定义域,便不会将不合适的输入丢给函数;知道函数的值域,便能判断一个值是否可能是这个函数所输出的。

一些函数的例子:

1.多项式(polynomials)

f(x)=x^3-5x^2+9
因为这是一个三次函数,当xrightarrow -inftyf(x)rightarrow -infty;当xrightarrow inftyf(x)rightarrow infty,因此这个函数的定义域和值域都是实属集mathbb{R}

在Python中,我们这样定义上面这个函数:

函数定义好后,我们可以测试一下其是否正确:

读者可以自行计算一下,与Python中我们所定义函数所给出的结果比较一下。

通常,将函数绘制成函数图能够帮助我们理解函数的变化。

01-01 plot of a polynomial function

2.指数函数(Exponential Functions):

exp(x)=e^x
其定义域为(-infty,infty),值域为(0,infty)。在Python中,利用欧拉常数e可以如下方式定义指数函数:

或者可以使用numpy自带的指数函数

指数函数的函数图:

01-02 plot of a exponential function

注意到,上面的Python定义中,我们只是利用了numpy中现成的欧拉常数e,如果没有这个神奇的常数,我们是否就无法定义指数函数了呢?答案是否定的:

上面定义中的奇妙公式:
e^x = sum_{k = 0}^{infty}frac{x^k}{k!}
究竟是从何而来,又为何是这样的,将是本书讨论的重点之一。

3.对数函数(Logarithmic Functions):

log_{e}(x)=ln(x)
对数函数是指数函数的反函数,其定义域为(0,infty),值域(-infty,infty)
numpy为我们提供了以2,e,10为底的对数函数:

01-03 plot of three logarithmic functions

4.三角函数(Trigonometric Functions):

周期性是三角函数的特点之一,同时,不同三角函数的值域和定义域也需要我们牢记,下面是Python绘制的一些三角函数的函数图:

01-04 plot of sin

01-05 plot of cos

这里我们没有给出对数函数和三角函数的数学表达式,没有告诉大家如何在Python中定义自己的对数函数和三角函数。这并不表述我们没法这么做,与指数函数一样,我们会在后面章节为读者揭开这些奇妙函数背后的故事。

Leave a Reply

Your email address will not be published. Required fields are marked *