用R语言理解连续性和导数

文章讨论了微分的几何意义,强调连续性对于存在切线的重要性。连续性被定义为当定义域的区间长度趋近于0时,值域的区间长度也趋近于0的函数。接着,文章介绍了求导作为函数在某点切线斜率的极限表达,以及不连续性和不可导性的例子。
摘要由CSDN通过智能技术生成

微分

1 连续性

众所周知微分的几何意义是斜率,然而斜率最初的定义只涉及直线,指的是 y = k x + b y=kx+b y=kx+b中的 k k k,而对任意曲线 y = f ( x ) y=f(x) y=f(x)而言,若想谈其斜率,就必须先做出其切线,换句话说, y = f ( x ) y=f(x) y=f(x)其在 x 0 x_0 x0点的导数,是 f ( x ) f(x) f(x) x 0 x_0 x0点的切线的斜率。

从几何的视角去看, y = f ( x ) y=f(x) y=f(x) x 0 x_0 x0点的切线首先要过 x 0 x_0 x0点,然后要求在足够小的区间内,和 f ( x ) f(x) f(x)方向一致,从而才能说二者在了一起。而所谓方向一致,直观的说法就是,在这个足够小的区间内,二者几乎重合。就像此前画的 sin ⁡ x \sin x sinx x x x x = 0 x=0 x=0附近的那张图一样。

这意味着,并非所有的函数都在任意点处存在切线。最直观的例子就是随机函数,对于 y = r ( x ) y=r(x) y=r(x)来说,任何一点都随机地对应 ( 0 , 1 ) (0,1) (0,1)区间中的某个点,由于这种对应足够稠密,任何位置都没有切线。

比如下面这个随机函数

x = seq(0,0.1,0.01)
y = runif(11,0,1)
plot(x,y)
lines(x,y)

在这里插入图片描述

尽管看上去任意一点都可画出一条不与相邻点相交的直线,但问题在于,我们所绘制的这个图只是对随机函数的一个抽样,在其任意相邻的两个点的中间,都有无穷多个 ( 0 , 1 ) (0,1) (0,1)区间内的点,所以无论在 x 0 x_0 x0处绘制一条怎样的曲线,对于任意小的 ε \varepsilon ε,我们都能找到一点 ( x , f ( x ) ) (x,f(x)) (x,f(x)),满足 ∣ x − x 0 ∣ < ε |x-x_0|<\varepsilon xx0<ε的同时, ( x 0 , f ( x 0 ) ) (x_0,f(x_0)) (x0,f(x0)) ( x , f ( x ) ) (x,f(x)) (x,f(x))没有任何重合的意图。

这个案例启发我们必须对函数进行一次划分,把随机函数这种过于混乱的东西从我们的研究对象中剔除,从而我们需要引入连续的概念。

对于 r ( x ) ∈ ( 0 , 1 ) r(x)\in(0,1) r(x)(0,1)的随机函数来说,对任意一点 x 0 x_0 x0,我们创建一个任意小的区间 [ x 0 − ε , x 0 + ε ] [x_0-\varepsilon,x_0+\varepsilon] [x0ε,x0+ε],这个区间的值域恒为 ( 0 , 1 ) (0,1) (0,1),如果我们画出 ( 0 , 0.01 ) (0,0.01) (0,0.01)区间内的1000个点,那么大致是这样的

x = seq(0,0.01,0.00001)
y = runif(1001,0,1)
plot(x,y)

在这里插入图片描述

无论我们把区间缩小到什么程度,这种乱糟糟的仿佛要铺满整个坐标图的点的样式并不会发生变化。

但直线 y = x y=x y=x却非如此,对任意一点 x 0 x_0 x0,我们创建一个任意小的区间 [ x 0 − ε , x 0 + ε ] [x_0-\varepsilon,x_0+\varepsilon] [x0ε,x0+ε],这个区间的值域为 ( x 0 − ε , x 0 + ε ) (x_0-\varepsilon,x_0+\varepsilon) (x0ε,x0+ε),随着 ε \varepsilon ε的不断缩小,这个区间也不断地趋近于0。

由此,我们可以定义连续函数:即随着定义域的区间长度趋近于0,则值域的区间长度也趋近于0的函数。

区间长度趋近于0就意味着区间内的元素个数越来越少,甚至到了常数个,乃至剩下最后一个。也就是说,随着 x → x 0 x\to x_0 xx0,必有 f ( x ) → f ( x 0 ) f(x)\to f(x_0) f(x)f(x0)。这就是最常见的连续性的定义

lim ⁡ x → x 0 f ( x ) = f ( lim ⁡ x → x 0 x ) = f ( x 0 ) \lim_{x\to x_0}f(x)=f(\lim_{x\to x_0}x)=f(x_0) xx0limf(x)=f(xx0limx)=f(x0)

需要注意的是,上式中, f ( lim ⁡ x → x 0 x ) = f ( x 0 ) f(\lim_{x\to x_0}x)=f(x_0) f(limxx0x)=f(x0)之所以成立,乃因 f ( x ) = x f(x)=x f(x)=x是不证自明的连续函数。

把一个连续函数变成不连续的函数十分简单,只要把其中任意一个点扣掉就可以了,例如函数 y = f ( x ) y=f(x) y=f(x)显然是连续的,但下面这个函数就显然不连续。

f ( x ) = { x , x ≠ 0 1 , x = 0 f(x)=\left\{\begin{aligned} x,\quad &x\not=0\\ 1,\quad&x=0 \end{aligned}\right. f(x)={x,1,x=0x=0

或者把一个连续的函数撕成两半,比如下面这个

f ( x ) = { x , x > 0 x + 1 , x ≤ 0 f(x)=\left\{\begin{aligned} &x,\quad &x>0\\ &x+1,\quad&x\leq0 \end{aligned}\right. f(x)={x,x+1,x>0x0

而这个函数在 x = 0 x=0 x=0的时候又有了一个奇怪的性质,即

lim ⁡ x → x + f ( x ) = 0 ≠ f ( 0 ) lim ⁡ x → x − f ( x ) = 1 = f ( 0 ) \begin{aligned} \lim_{x\to x_+}f(x)=0\not =f(0)\\ \lim_{x\to x_-}f(x)=1=f(0)\\ \end{aligned} xx+limf(x)=0=f(0)xxlimf(x)=1=f(0)

也就是说, f ( x ) f(x) f(x)从左边趋近于0的时候,f(x)在0处是连续的,而在右侧趋近于0的时候,却并不连续。此即左连续和右连续的概念。

2 求导

回到切线的问题,如果曲线 y = f ( x ) y=f(x) y=f(x) x 0 x_0 x0点并不连续,那么这点显然没有唯一的一条切线。

有的时候,尽管满足了连续性的要求,也不一定存在切线,比如

y = ∣ x ∣ y=|x| y=x

x = seq(-10,10)
y = abs(x)
plot(x,y,type='l')

在这里插入图片描述

x = 0 x=0 x=0的位置,我们找到的切线要么和左边重合,要么和右边重合,也就是说这个函数在 x = 0 x=0 x=0处存在两条切线。

同时也就意味着这一点有两个斜率,两个导数。所以,如果把导数定义为某种映射,则一个点不可能映射为两个导数,所以宁愿让这点的导数不存在。

这种为了保证映射成立而舍弃某个值的做法并不罕见,早在中学时代, N \sqrt N N 就是个典型的例子,在定义偶数次根的时候,我们把负值舍弃了。但这里做得更绝,左右两端的值都被舍弃了,从而被判定不可导。

在对求导有了直观的几何印象之后,我们再来用分析的语言表述何谓“在足够小的区间内几乎重合”。

对于曲线 y = f ( x ) y=f(x) y=f(x),在 x = x 0 x=x_0 x=x0处的切线为 y = k x + b y=kx+b y=kx+b,则满足

lim ⁡ ε → 0 f ( x 0 + ε ) − [ k ( x 0 + ε ) + b ] = 0 \lim_{\varepsilon\to0}f(x_0+\varepsilon)-[k(x_0+\varepsilon)+b]=0 ε0limf(x0+ε)[k(x0+ε)+b]=0

由于二者在 x 0 x_0 x0点重合,即 f ( x 0 ) = k x 0 + b f(x_0)=kx_0+b f(x0)=kx0+b这个式子可以写为

lim ⁡ ε → 0 f ( x 0 + ε ) = lim ⁡ ε → 0 [ k x 0 + b + k ε ] = lim ⁡ ε → 0 [ f ( x 0 ) + k ε ] \lim_{\varepsilon\to0}f(x_0+\varepsilon)=\lim_{\varepsilon\to0}[kx_0+b+k\varepsilon]=\lim_{\varepsilon\to0}[f(x_0)+k\varepsilon] ε0limf(x0+ε)=ε0lim[kx0+b+kε]=ε0lim[f(x0)+kε]

整理可得

k = lim ⁡ ε → 0 f ( x 0 + ε ) − f ( x 0 ) ε k=\lim_{\varepsilon\to0}\frac{f(x_0+\varepsilon)-f(x_0)}{\varepsilon} k=ε0limεf(x0+ε)f(x0)

k k k就是导数。写成我们熟悉的形式就是

f ′ ( x 0 ) = lim ⁡ Δ x → 0 f ( x 0 + Δ x ) − f ( x 0 ) Δ x f'(x_0)=\lim_{\Delta x\to0}\frac{f(x_0+\Delta x)-f(x_0)}{\Delta x} f(x0)=Δx0limΔxf(x0+Δx)f(x0)

若将 d x \text dx dx定义为 x x x的微小变化量, d y \text dy dy定义为 y y y的微小变化量,则导数可以写成微分的形式

f ′ ( x 0 ) = d y d y ∣ x = x 0 f'(x_0)=\frac{\text dy}{\text dy}|_{x=x_0} f(x0)=dydyx=x0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

微小冷

请我喝杯咖啡

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值