导数
导数是一个非常重要的概念,先来看一个引例:速度问题。历史上速度问题与倒数概念的形成有着密切的关系。
平均速度 v = s t v=\frac{s}{t} v=ts那么如何表示瞬时速度呢?
瞬时经过路程: Δ s = s ( t 0 + Δ t ) − s ( t 0 ) Δs=s(t_0+Δt)-s(t_0) Δs=s(t0+Δt)−s(t0)
这一小段的平均速度: v ˉ = Δ s Δ t = s ( t 0 + Δ t ) − s ( t 0 ) Δ t \bar{v}=\frac{Δs}{Δt}=\frac{s(t_0+Δt)-s(t_0)}{Δt} vˉ=ΔtΔs=Δts(t0+Δt)−s(t0)
当 Δ t → 0 Δt→0 Δt→0时,对应的 v 平 v_平 v平就是瞬时速度。在时刻 t 0 t_0 t0的瞬时速度为
v = lim Δ t → 0 v ‾ = lim Δ t → 0 s ( t 0 + Δ t ) − s ( t 0 ) Δ t v=\lim_{Δt \to 0} \overline{v}=\lim_{Δt \to 0} \frac{s(t_0+Δt)-s(t_0)}{Δt} v=Δt→0limv=Δt→0limΔts(t0+Δt)−s(t0)
从公式可以看出,瞬时速度就是变化率的问题。
导数的定义
设 f ( x ) f(x) f(x)在 x 0 x_0 x0的某个邻域有意义,当 x x x的增量为 Δ x Δx Δx时, y y y的增量 Δ y Δy Δy为 f ( x 0 + Δ x ) − f ( x 0 ) f(x_0+Δx)-f(x_0) f(x0+Δx)−f(x0)。当 Δ x → 0 Δx \to 0 Δx→0时, Δ y Δ x \frac{Δy}{Δx} ΔxΔy的极限存在,则称函数f(x)在 x 0 x_0 x0处可导。此极限值为函数f(x)在点 x 0 x_0 x0处的导数,记作 f ′ ( x 0 ) f'(x_0) f′(x0)。即:
f ′ ( x 0 ) = lim Δ x → 0 Δ y Δ x = lim Δ x → 0 f ( x 0 + Δ x ) − f ( x 0 ) Δ x f'(x_0)=\lim_{Δx \to 0}\frac{Δy}{Δx}=\lim_{Δx \to 0}\frac{f(x_0+Δx)-f(x_0)}{Δx} f′(x0)=Δx→0limΔxΔy=Δx→0limΔxf(x0+Δx)−f(x0)
可记作:
y ′ ∣ x = x 0 、 \left. y' \right|{x=x_0} 、 y′∣x=x0、 d f d x ∣ x = a 或 \left. \frac{df}{dx} \right|{x=a}或 dxdf x=a或 d f ( x ) d x ∣ x = x 0 \left. \frac{df(x)}{dx} \right|_{x=x_0} dxdf(x) x=x0
导数的几何意义
从几何意义上讲,函数在某一点 x 0 x_0 x0的变化率等于这一点的切线的斜率。
函数的基本求导法则
如果函数 u = u ( x ) 、 v = v ( x ) u=u(x)、v=v(x) u=u(x)、v=v(x)都在点x有导数,那么它们的和、差、积、商(除分母为0的点外)都在点x具有导数,且满足以下法则:
(1) [ u ( x ) ± v ( x ) ] = u ′ ( x ) ± v ′ ( x ) [u(x)±v(x)]=u'(x)±v'(x) [u(x)±v(x)]=u′(x)±v′(x)
(2) [ u ( x ) . v ( x ) ] = u ′ ( x ) . v ( x ) + u ( x ) . v ′ ( x ) [u(x).v(x)]=u'(x).v(x)+u(x).v'(x) [u(x).v(x)]=u′(x).v(x)+u(x).v′(x)
(3) [ u ( x ) v ( x ) ] ′ = u ′ ( x ) v ( x ) − u ( x ) v ′ ( x ) v ( x ) 2 [\frac{u(x)}{v(x)}]'=\frac{u'(x)v(x)-u(x)v'(x)}{v(x)^2} [v(x)u(x)]′=v(x)2u′(x)v(x)−u(x)v′(x)
反函数的求导法则
设函数 x = f ( y ) x=f(y) x=f(y)在区间 D y D_y Dy内单调可导,且 f ′ ( y ) ≠ 0 f'(y)≠0 f′(y)=0,那么它的反函数 y = f − 1 ( x ) y=f^{-1}(x) y=f−1(x)在区间 D x = { x = f ( y ) , y ∈ D y } D_x =\{x=f(y),y∈D_y\} Dx={x=f(y),y∈Dy}内也可导,且满足下式:
f − 1 ( x ) \] ′ = 1 f ′ ( y ) 或 d y d x = 1 d x d y \[f\^{-1}(x)\]' = \\frac{1}{f'(y)}或\\frac{dy}{dx}=\\frac{1}{\\frac{dx}{dy}} \[f−1(x)\]′=f′(y)1或dxdy=dydx1 #### 复合函数的求导法则 如果u=g(x)在点x处可导,y=f(u)在点u=g(x)处可导,那么复合函数y=f\[g(x)\]在点x处可导,且其导数为 d y d x = f ′ ( u ) g ′ ( x ) 或 d y d x = d y d u . d u d x \\frac{dy}{dx}=f'(u)g'(x)或\\frac{dy}{dx}=\\frac{dy}{du}.\\frac{du}{dx} dxdy=f′(u)g′(x)或dxdy=dudy.dxdu #### 常用的求导公式 ```python from sympy import * # diff 求导函数,arcsin函数表示形式为asin x = sp.symbols('x') print(diff(sin(x))) print(diff(cos(x))) print(diff(tan(x))) print(diff(asin(x))) print(diff(acos(x))) print(diff(atan(x))) ```  ### 偏导数 如果涉及的函数都只有一个自变量,那么这种函数被称为一元函数。但在很多研究领域中,经常需要研究多个变量间的关系,在数学上,这就表现为一个变量与另外多个变量的相互依赖关系。 二元函数是函数值z随着两个自变量的变化而变化,记为 z = f ( x , y ) z=f(x,y) z=f(x,y),其图形是一个x,y轴展开的曲面,如下图所示:  一元函数的导数反映了函数相对于自变量的变化率。但多元函数的自变量有两个或者两个以上,函数对于自变量的变化率问题更为复杂,但有规律可循。一般来说,对于多元函数,在研究某一个自变量的变化率时,**往往会把其余的自变量暂时固定下来** ,即视为常数,使其成为一元函数,然后**再对其进行求导**,这就是偏导数的概念。 #### 偏导数的定义 设函数 z = f ( x , y ) z=f(x,y) z=f(x,y)在点(x_0,y_0)的某一邻域内有定义,当y固定在y_0,而x在x_0处有增量Δx时,函数有增量 f ( x 0 + Δ x , y 0 ) − f ( x 0 , y 0 ) f(x_0+Δx,y_0)-f(x_0,y_0) f(x0+Δx,y0)−f(x0,y0),如果极限 lim Δ x → 0 f ( x 0 + Δ x , y 0 ) − f ( x 0 , y 0 ) Δ x \\lim_{Δx \\to 0} \\frac{f(x_0+Δx,y_0)-f(x_0,y_0)}{Δx} Δx→0limΔxf(x0+Δx,y0)−f(x0,y0)存在,则称此极限为函数 z = f ( x , y ) z=f(x,y) z=f(x,y)在点 ( x 0 , y 0 ) (x_0,y_0) (x0,y0)处对x的偏导数记为 f x ( x 0 , y 0 ) f_x(x_0,y_0) fx(x0,y0),即 f x ( x 0 , y 0 ) = lim Δ x → 0 f ( x 0 + Δ x , y 0 ) − f ( x 0 , y 0 ) Δ x f_x(x_0,y_0)=\\lim_{Δx \\to 0} \\frac{f(x_0+Δx,y_0)-f(x_0,y_0)}{Δx} fx(x0,y0)=Δx→0limΔxf(x0+Δx,y0)−f(x0,y0) 函数 z = f ( x , y ) z=f(x,y) z=f(x,y)在点 ( x 0 , y 0 ) (x_0,y_0) (x0,y0)处对 y y y的偏导数记为 f y ( x 0 , y 0 ) f_y(x_0,y_0) fy(x0,y0),可类似定义,即 f y ( x 0 , y 0 ) = lim Δ y → 0 f ( x 0 , y 0 + Δ y − f ( x 0 , y 0 ) Δ y f_y(x_0,y_0)=\\lim_{Δy \\to 0} \\frac{f(x_0,y_0+Δy-f(x_0,y_0)}{Δy} fy(x0,y0)=Δy→0limΔyf(x0,y0+Δy−f(x0,y0) 对 f x ( x 0 , y 0 ) f_x(x_0,y_0) fx(x0,y0),还可以使用以下记号: ∂ f ∂ x ∣ x = x 0 y = y 0 \\left. \\frac{\\partial f}{\\partial x} \\right\|_{\\scriptstyle x=x_0 \\atop \\scriptstyle y=y_0} ∂x∂f y=y0x=x0, z x ( x 0 , y 0 ) z_x(x_0,y_0) zx(x0,y0) #### 偏导数的几何意义 偏导数的几何意义可直接由一元函数导数的几何意义得出, 例1 求 f ( x , y ) = x 2 + 3 x y + y 2 f(x,y)=x\^2+3xy+ y \^2 f(x,y)=x2+3xy+y2在点 ( 1 , 2 ) (1,2) (1,2)处的偏导数,并用python编程实现。 解: f x ( x , y ) = 2 x + 3 y f_x(x,y)=2x+3y fx(x,y)=2x+3y f y ( x , y ) = 3 x + 2 y f_y(x,y)=3x+2y fy(x,y)=3x+2y f x ( 1 , 2 ) = 8 f_x(1,2)=8 fx(1,2)=8 f y ( 1 , 2 ) = 7 f_y(1,2)=7 fy(1,2)=7  偏导数的几何意义可直接由一元函数导数的几何意义得出,由于 f x ( x 0 , y 0 ) f_x(x_0,y_0) fx(x0,y0)就是 z = f ( x , y 0 ) z=f(x,y_0) z=f(x,y0)在 x = x 0 x=x_0 x=x0处的导数,而 z = f ( x , y 0 ) z=f(x,y_0) z=f(x,y0)在几何上可以看作是平面 y = y 0 y=y_0 y=y0截曲面 z = f ( x , y ) z=f(x,y) z=f(x,y)得到的曲线 C x C_x Cx。因此 f x ( x 0 , y 0 ) f_x(x_0,y_0) fx(x0,y0)的几何意义:曲线 C x C_x Cx在点 M 0 ( x 0 , y 0 , z 0 ) M_0(x_0,y_0,z_0) M0(x0,y0,z0)处切线 M 0 T x M_0T_x M0Tx对 x x x轴的斜率。 同理,若 C y C_y Cy是平面 x = x 0 x=x_0 x=x0截曲面 z = f ( x , y ) z=f(x,y) z=f(x,y)得到的曲线,则偏导数 f y ( x 0 , y 0 ) f_y(x_0,y_0) fy(x0,y0)的几何意义就是曲线 C y C_y Cy在点 M 0 ( x 0 , y 0 , z 0 ) 的切线 M 0 T y M_0(x_0,y_0,z_0)的切线M_0T_y M0(x0,y0,z0)的切线M0Ty对 y y y轴的斜率。 #### 方向导数 偏导数反映的是函数沿坐标轴方向的变化率,**方向导数本质上研究的是函数在某点处沿某特定方向的变化率问题** 。比如 z = f ( x , y ) z=f(x,y) z=f(x,y)在点 p ( x 0 , y 0 ) p(x_0,y_0) p(x0,y0)沿方向 l l l的变化率。假设方向如下图所示, l l l为 x O y xOy xOy平面上以 p p p为起始点的一条射线, p ′ p' p′为方向 l l l上的另一点。  由上图可知: p p p与 p ′ p' p′之间的距离 ∣ p p ′ ∣ = ρ = Δ x 2 + Δ y 2 \|pp'\|=ρ=\\sqrt{Δx\^2 + Δy \^2} ∣pp′∣=ρ=Δx2+Δy2 。考虑函数的**增量与这两点的距离** 的比值,当p'沿着方向l趋于p时,如果这个比的极限存在,则称这个极限为函数f(x,y)在点p沿方向l的方向导数,记作 ∂ f ∂ l \\frac{\\partial f} {\\partial l} ∂l∂f,即: ∂ f ∂ f = lim ρ → 0 f ( x 0 + Δ x , y 0 + Δ y ) − f ( x 0 , y 0 ) ρ \\frac{\\partial f}{\\partial f} = \\lim_{ρ \\to 0}\\frac{f(x_0 +Δx,y_0+Δy)-f(x_0,y_0 )}{ρ} ∂f∂f=ρ→0limρf(x0+Δx,y0+Δy)−f(x0,y0) 从定义可知,当函数 f ( x , y ) f(x,y) f(x,y)在点 p ( x 0 , y 0 ) p(x_0,y_0) p(x0,y0)的偏导数 f x ( x 0 , y 0 ) 、 f y ( x 0 , y 0 ) f_x(x_0,y_0)、f_y(x_0,y_0) fx(x0,y0)、fy(x0,y0)存在时,函数 f ( x , y ) f(x,y) f(x,y)在 p p p点沿着 x x x轴正向单位向量 e 1 = { 1 , 0 } e_1=\\{1,0\\} e1={1,0},y轴正向单位向量 e 2 = { 0 , 1 } e_2=\\{0,1\\} e2={0,1}的方向导数存在,且其值依次为 f x ( x 0 , y 0 ) 、 f y ( x 0 , y 0 ) f_x(x_0,y_0)、f_y(x_0,y_0) fx(x0,y0)、fy(x0,y0);函数f(x,y)在p点沿着x轴负向单位向量 e 1 ′ = { − 1 , 0 } e'_1=\\{-1,0\\} e1′={−1,0},y轴负向单位向量 e 2 ′ = { 0 , − 1 } e'_2=\\{0,-1\\} e2′={0,−1}的方向导数存在,且其值依次为 − f x ( x 0 , y 0 ) 、 − f y ( x 0 , y 0 ) -f_x(x_0,y_0)、-f_y(x_0,y_0) −fx(x0,y0)、−fy(x0,y0)。 方向导数 ∂ f ∂ l \\frac{\\partial f}{\\partial l} ∂l∂f的存在及计算定理如下: 定理:如果函数 z = f ( x , y ) z=f(x,y) z=f(x,y)在点 p ( x 0 , y 0 ) p(x_0,y_0) p(x0,y0)是可微分的,那么函数在该点沿任意方向 l l l的方向导数都存在,且有 ∂ f ∂ l = ∂ f ∂ x c o s φ + ∂ f ∂ y s i n φ \\frac{\\partial f}{\\partial l} = \\frac{\\partial f}{\\partial x}cosφ +\\frac{\\partial f}{\\partial y}sinφ ∂l∂f=∂x∂fcosφ+∂y∂fsinφ,其中 φ 为 x 轴到 l φ为x轴到l φ为x轴到l方向的转角。 #### 方向导数的几何意义 函数 z = f ( x , y ) z=f(x,y) z=f(x,y)的变化方向为 l l l,方向导数 ∂ f ∂ l ∣ p \\left. \\frac{\\partial f}{\\partial l}\\right\|_{p} ∂l∂f p是函数 z = f ( x , y ) z=f(x,y) z=f(x,y)在点 p p p处沿方向l的变化率,从 方向 l 方向l 方向l作垂直于 x O y xOy xOy平面的一个平面,与曲面相交成一条曲线 M Q MQ MQ,即为曲线 M Q MQ MQ在 M M M点的切线 M N MN MN的斜率。 例题:求函数 z = x e 2 y z=xe\^{2y} z=xe2y在点 P ( 1 , 0 ) 处沿从点 P ( 1 , 0 ) 到点 Q ( 2 , − 1 ) P(1,0)处沿从点P(1,0)到点Q(2,-1) P(1,0)处沿从点P(1,0)到点Q(2,−1)方向的方向导数。 解:这里的 方向 l 方向l 方向l即向量 P Q = { 1 , − 1 } PQ=\\{1,-1\\} PQ={1,−1}的方向,可以看出x轴到方向l的转角 φ = − π 4 φ=-\\frac {π}{4} φ=−4π 又因为 ∂ z ∂ x ∣ 1 , 0 = e 2 y ∣ 1 , 0 = 1 \\left. \\frac{\\partial z}{\\partial x}\\right\|_{1,0}=\\left. e\^{2y}\\right\|_{1,0}=1 ∂x∂z 1,0=e2y 1,0=1 ∂ z ∂ y ∣ 1 , 0 = 2 x e 2 y ∣ 1 , 0 = 2 \\left. \\frac{\\partial z}{\\partial y}\\right\|_{1,0}=\\left. 2xe\^{2y}\\right\|_{1,0}=2 ∂y∂z 1,0=2xe2y 1,0=2 所求方向导数: ∂ z ∂ l ∣ 1 , 0 = 1 × c o s ( − π 4 ) + 2 × s i n ( − π 4 ) = − 2 2 \\left. \\frac{\\partial z}{\\partial l}\\right\|_{1,0}=1×cos(-\\frac {π}{4}) + 2×sin(-\\frac {π}{4})=-\\frac{\\sqrt{2}}{2} ∂l∂z 1,0=1×cos(−4π)+2×sin(−4π)=−22 由方向导数意义可知,方向导数 ∂ f ∂ l ∣ p \\left. \\frac{\\partial f}{\\partial l}\\right\|_{p} ∂l∂f p是 z = f ( x , y ) z=f(x,y) z=f(x,y)在点 p p p处沿 方向 l 方向l 方向l的变化率,是曲面上过M点的一条曲线的切线的斜率,那么点 p p p在某一方向的变化率,就是过曲面M点的某一条曲线的切线的斜率。 那么哪一个方向的变化率最大呢?下面继续讨论。 #### 梯度 定义:设函数 z = f ( x , y ) z=f(x,y) z=f(x,y)在平面区域D内具有一阶连续偏导数,则 #### 综合实例------梯度下降法求函数的最小值 梯度下降法,是寻找函数极小值最常用的优化方法。当目标函数是凸函数时,梯度下降法的解是全局解。但在一般情况下,其解不保证是全局最优解。最普遍的做法是,在已知参数当前值时,按当前点对应的梯度向量的反方向及事先定好的步长大小对参数进行调整。按上述方法对参数做出多次调整之后,函数就会逼近一个极小值。