若x → = ( x 1 , x 2 , . . . , x n ) ,y → = ( y 1 , y 2 , . . . , y n ) ,x → ∈ R n ,y → ∈ R n 。
那么向量的线性运算规则如下。
x → ± y → = ( x 1 ± y 1 , x 2 ± y 2 , . . . , x n ± y n ) 。
λ x → = ( λ x 1 , λ x 2 , . . . , λ x n ) ,λ ∈ R 。
向量的模
:| x → | = ( x 1 2 + x 2 2 + . . . + x n 2 ) 。
数量积
空间平面方程 的一般形式是:a x + b y + c z + d = 0 。
两个平面交线构成的空间直线方程的一般形式是: { a 1 x + b 1 y + c 1 z + d 1 = 0 a 2 x + b 2 y + c 2 z + d 2 = 0
空间曲线参数方程 的一般形式是: { x = x ( t ) y = y ( t ) z = z ( t )
设D 是R 2 上的非空子集,映射f : D → R 为定义在D 上的二元函数 ,可记为z = f ( x , y ) ,( x , y ) ∈ D 。
设二元函数 f ( x , y ) 的定义域为D ,P 0 ( x 0 , y 0 ) 是D 的聚点,如果存在常数A ,对于任意给定的正数ε ,总存在正数δ ,使得当点P ( x , y ) ∈ D ∩ U ˚ ( P 0 , δ ) 时,都有lim ( x , y ) → ( x 0 , y 0 ) f ( x , y ) = A ,则称A 为函数f ( x , y ) 为( x , y ) → ( x 0 , y 0 ) 时的极限 ,记为| f ( x , y ) − A | < ε 。
由于二元函数 是空间平面方程 中的某一个点,因此它的极限 的趋近方向可以有无穷多个。
当任意方向趋近于某点时,函数值都趋近于同一个值,此时的极限 才存在。
一切多元初等函数
在其定义区间内都是连续的。
一般地,如果f ( x , y ) 是初等函数,且( x 0 , y 0 ) 是函数f ( x , y ) 定义域内的点,那么函数f ( x , y ) 在点( x 0 , y 0 ) 处连续,则有lim ( x , y ) → ( x 0 , y 0 ) f ( x , y ) = f ( x 0 , y 0 ) 。
在有界闭区间D , D ∈ R 上的多元连续函数
必然在D 上有界,且能取得最大值和最小值。
在有界闭区间D , D ∈ R 上的多元连续函数
必然能取得介于最大值和最小值之间的任何值。
设函数z = f ( x , y ) 在点( x 0 , y 0 ) 的某一邻域内有定义。如果lim Δ x → 0 f ( x 0 + Δ x , y 0 ) − f ( x 0 , y 0 ) Δ x 存在,则该极限 为函数z = f ( x , y ) 在点( x 0 , y 0 ) 处的偏导数 ,记为∂ z ∂ x | y = y 0 x = x 0 , ∂ f ∂ x | y = y 0 x = x 0 , z x | y = y 0 x = x 0 或f x ( x 0 , y 0 ) 。
若函数z = f ( x , y ) 在其定义域内的任意一点( x , y ) 的偏导数 均存在,那么这个偏导数 就是关于点( x , y ) 的偏导函数
。
对x 的偏导函数
记为∂ z ∂ x , ∂ f ∂ x , z x 或f x ( x , y ) 。
对y 的偏导函数
记为∂ z ∂ y , ∂ f ∂ y , z y 或f y ( x , y ) 。
另外,偏导数 的数学符号∂ z ∂ x 是一个整体,不像一元函数
d y d x 那样可以视为d y 和d x 的商
。
偏导数 的几何意义在于求曲线在某个点处的切线对于X 轴的斜率 。
偏导数的几何意义 偏导数 f x ( x 0 , y 0 ) 表示切面上的某一点( x 0 , y 0 , z 0 ) 相对于X 轴切线的斜率 。
偏导数 f y ( x 0 , y 0 ) 表示切面上的某一点( x 0 , y 0 , z 0 ) 相对于Y 轴切线的斜率 。
极大值
:设函数z = f ( x , y ) 的定义域为D ,P 0 ( x 0 , y 0 ) 是D 的聚点。若存在P 0 的某个邻域U ( P 0 ) ∈ D ,使得对于该邻域内异于P 0 的任何点x , y 都有f ( x , y ) < f ( x 0 , y 0 ) ,则称f ( x 0 , y 0 ) 为函数的极大值
。
极小值
:设函数z = f ( x , y ) 的定义域为D ,P 0 ( x 0 , y 0 ) 是D 的聚点。若存在P 0 的某个邻域U ( P 0 ) ∈ D ,使得对于该邻域内异于P 0 的任何点x , y 都有f ( x , y ) > f ( x 0 , y 0 ) ,则称f ( x 0 , y 0 ) 为函数的极小值
。
根据一元函数 的微分 公式Δ y = A · Δ x + ∘ ( Δ x ) ,猜想二元函数 z = f ( x , y ) 的微分 公式为:Δ z = A · Δ x + B · Δ y + ∘ ( Δ x , Δ y ) ,并且可以进一步猜想A = ∂ f ∂ x ,B = ∂ f ∂ y 。
设函数z = f ( x , y ) 在点( x , y ) 的某个邻域内有定义,如果函数在点( x , y ) 的全增量Δ z = f ( x + Δ x , y + Δ y ) − f ( x , y ) 可表示为Δ z = A · Δ x + B · Δ y + ∘ ( ρ ) , ρ = ( Δ x ) 2 + ( Δ y ) 2 ,且A , B 与Δ x , Δ y 无关,则称函数z = f ( x , y ) 在点( x , y ) 可微分
,A · Δ x + B · Δ y 称函数在点( x , y ) 处的全微分 ,记为d z = A · Δ x + B · Δ y 。
全微分 存在的充分条件是:函数z = f ( x , y ) 的偏导数 在点( x , y ) 处连续。
全微分 存在的必要条件是:点( x , y ) 处的偏导数 存在,且d z = ∂ z ∂ x · Δ x + ∂ z ∂ y · Δ y 。
一元函数 中某点的微分 表示可以用该点切线逼近
的方式来表示该函数。
二元函数 中某点的全微分 表示可以用该点切面逼近
的方式来表示该函数。
方向导数 和梯度下降 是整个微积分 中的重点之一,方向导数 的意义在于 在变化率最大的方向上寻找函数极值
。
单位方向向量 e l → = ( cos α , cos β ) ,射线 以P 0 ( x 0 , y 0 ) 为起点,且与e l → 同向,则射线 的参数方程为 { x = x 0 + t · cos α y = y 0 + t · cos β ( t ≥ 0 )
函数z = f ( x , y ) 在P 0 的某个邻域内有定义,P 0 到P 的函数增量为Δ z = f ( x 0 + t cos α , y 0 + t cos β ) − f ( x 0 , y 0 ) ,P 0 到P 的距离为| P 0 P | = ( x 0 + t cos α − x 0 ) 2 + ( y 0 + t cos β − y 0 ) 2 = t 。
当P 沿l 趋近P 0 时,比值Δ z P 0 P = f ( x 0 + t cos α , y 0 + t cos β ) t 的极限 即为方向导数 ,记为∂ f ∂ l | ( x 0 , y 0 ) = lim t → 0 + f ( x 0 + t cos α , y 0 + t cos β ) − f ( x 0 , y 0 ) t = g ( α , β ) 。
方向导数 也就是说,g ( α , β ) 的最大值表示函数在某个方向上具有的最大变化率。
当全微分 存在时,f ( x 0 + t cos α , y 0 + t cos β ) − f ( x 0 , y 0 ) = f x ( x 0 , y 0 ) · t cos α + f y ( x 0 , y 0 ) · t cos β + ∘ ( t ) ,代入方向导数 化简得到g ( α , β ) = f x ( x 0 , y 0 ) · cos α + f y ( x 0 , y 0 ) · cos β 。
记向量 a → = ( f x ( x 0 , y 0 ) , f y ( x 0 , y 0 ) ) ,e l → = ( cos α , cos β ) ,则有g ( α , β ) = f x ( x 0 , y 0 ) · cos α + f y ( x 0 , y 0 ) · cos β = | a → | · | e l → | · cos θ ,θ 是向量 a → 与向量 e l → 的夹角。
当a → 、e l → 同向时,g ( α , β ) 取得最大值f x 2 ( x 0 , y 0 ) + f y 2 ( x 0 , y 0 ) 。
当a → 、e l → 反向时,g ( α , β ) 取得最小值− f x 2 ( x 0 , y 0 ) + f y 2 ( x 0 , y 0 ) 。
向量 a → = ( f x ( x 0 , y 0 ) , f y ( x 0 , y 0 ) ) 则被称为梯度 ,记为g r a d f ( x 0 , y 0 ) 。
梯度 指明了函数变化率最大和最小的方向。
梯度下降 需要注意的是:梯度下降 并不是全局变化最快的,而是局部最快。
显然,从全局角度来说,从点A 到点B 应该是虚线最快,但实际计算结果可能会有一定的随机性,例如,上图中的结果是沿着实线的方向进行迭代。
通过Python 演示梯度下降 算法。
# 用梯度下降算法求函数最小值:z = x^2 + 2y^2
import matplotlib.pyplot as plt
# 搜索步长
m = 0.01
x = - 10
y = 30
L = x ** 2 + 2 * y ** 2
# 迭代次数
n = 0
# 迭代误差
err = 1
# 迭代阈值
threshold = 0.0000001
value = []
while (err > threshold) and n < 100 :
# 迭代
x = x - 2 * m * x
y = y - 4 * m * y
# 计算前后两次迭代后函数差值的绝对值
err = abs (x ** 2 + 2 * y ** 2 - L)
value. append (err)
L = x ** 2 + 2 * y ** 2
# print(x, y, n)
n = n + 1
print (x, y, L, n)
plt. plot (value)
plt. show ()