![优化理论与实用算法](https://wfqqreader-1252317822.image.myqcloud.com/cover/413/46055413/b_46055413.jpg)
上QQ阅读APP看书,第一时间看更新
2.1 导数
f′(x)是单自变量x的函数f的导数,它是f的值在x处的变化速率。作图时,通常使用函数在x处的切线表示,如图2.1所示。导数的值等于切线的斜率。
![](https://epubservercos.yuewen.com/1510EB/25220464609634806/epubprivate/OEBPS/Images/image-2d1.jpg?sign=1739614575-UKDWt3wB94qYrwoZoMy8ZhGH6vRTvbxE-0-2cb0a302ba51d6ed62ff55dc35ebb302)
图2.1 函数f用黑色表示,f(x)的切线用灰色表示。f在x处的导数是切线的斜率
可以使用导数来表示x附近函数的线性近似:
![](https://epubservercos.yuewen.com/1510EB/25220464609634806/epubprivate/OEBPS/Images/image-021-1.jpg?sign=1739614575-ncFZSi2zeC8gWZjnuM12Dd3xWeIxzI5S-0-09fed3ba2c120832dc012cb39351b91c)
导数是x点处f的变化与x的变化之比:
![](https://epubservercos.yuewen.com/1510EB/25220464609634806/epubprivate/OEBPS/Images/image-021-2.jpg?sign=1739614575-QfUm6cMJ4adt68uKbpts8ECq5y9UkWem-0-3af368de9f65dafd21ea8171f81e9385)
即f(x)的变化量除以x的变化量,当步长变得无穷小时,如图2.2所示。
![](https://epubservercos.yuewen.com/1510EB/25220464609634806/epubprivate/OEBPS/Images/image-2d2.jpg?sign=1739614575-psi0I8BQF4ymSyzBrvSUZNfeLIrMFvTe-0-b18cf63dd0cf66c36a47ec671531088e)
图2.2 切线是由具有足够小的步长差的点连接而得到的
f′(x)是拉格朗日发明的导数表示法。我们还可以使用莱布尼茨创建的表示法,
![](https://epubservercos.yuewen.com/1510EB/25220464609634806/epubprivate/OEBPS/Images/image-021-3.jpg?sign=1739614575-3wALIFJv1eOBvIoA40gNKCnAZzBeGn2h-0-49b3849380f35979058bebabc12e4558)
其强调了一个事实,即导数是f的变化量与x的变化量在x点的比率。
导数的极限方程可以用三种不同的方式表示:前向差分、中心差分和后向差分。每种方式都使用无穷小的步长h:
![](https://epubservercos.yuewen.com/1510EB/25220464609634806/epubprivate/OEBPS/Images/image-022-1.jpg?sign=1739614575-IVd8OYEvKfHb3qiOaueiYU7pXSKOcExw-0-1eb0cfbd1bc6c2315f703dc8835290c5)
如果f可以用符号表示,那么符号微分通常可以用微积分中的导数规则来给出f′的精确解析表达式。然后可以计算任意点x处的解析表达式。例2.1说明了该过程。
例2.1 符号微分提供解析导数
符号微分的实现细节不在本书的讨论范围之内。多种软件包(如Julia中的SymEngine.jl和Python中的SymPy)都提供了实现。这里我们使用SymEngine.jl来计算x2+x/2-sin(x)/x的导数。
![](https://epubservercos.yuewen.com/1510EB/25220464609634806/epubprivate/OEBPS/Images/image-pz21.jpg?sign=1739614575-Mkj2Jl28YOXts4aV59fzMk9wkcliwWNU-0-96c3b683d30429f68b761ba70a04f558)