美文网首页人工智能通识程序员自然科普
人工智能通识-科普-微积分计算曲线长度

人工智能通识-科普-微积分计算曲线长度

作者: zhyuzh3d | 来源:发表于2019-03-18 08:03 被阅读12次

    欢迎关注我的专栏( つ•̀ω•́)つ【人工智能通识】


    这篇我们介绍微积分弧长公式的推导,复习微积分的概念。
    如何计算任意函数曲线的长度?

    细分曲线

    如下图,如何计算在[a,b]区间上任意连续函数f(x)曲线的长度?

    使用积分的思路,我们把[a,b]区间划分为n份,然后研究每一份的曲线长度如何计算。

    如上图所示,我们把曲线长度L划分为n段,变为:

    L=\lim_{n \to \infty} \sum_{i=0}^{n}|P_i-P_{i-1}|

    每段长度

    现在问题就变成了如何计算|P_i-P_{i-1}|长度了。

    从上图可以知道,每段弧线的长度最终可以近似成为两点之间的直线长度,就是x和y的微分量,即:

    \begin{align} |P_i-P_{i-1}|&=\sqrt{(\Delta x)^2+(\Delta y)^2}\\ &=\sqrt{(x_i-x_{i-1})^2+(y_i-y_{i-1})^2}\\ &=\sqrt{(x_i-x_{i-1})^2+(f(x_i)-f(x_{i-1}))^2}\\ \end{align}

    使用微分函数

    从微分定义和斜率概念我们知道:

    f'(x)=\frac{\Delta y}{\Delta x}

    关于微分部分请参考这两个文章:
    0117数学-微分
    0118数学-微分2

    所以每段细分线段的长度就可以转换成:

    \begin{align} |P_i-P_{i-1}|&=\sqrt{(\Delta x)^2+(\Delta y)^2}\\ &=\sqrt{(\Delta x)^2+(f'(x)*\Delta x)^2}\\ &=\sqrt{(\Delta x)^2(1+(f'(x))^2)}\\ &=\Delta x\sqrt{1+(f'(x))^2}\\ \end{align}

    由于\Delta x就是dx,所以可以写作:

    |P_i-P_{i-1}|=\sqrt{1+(f'(x))^2}dx

    使用积分

    我们利用上面这个结论就可以替换掉曲线总长公式中的|P_i-P_{i-1}|部分内容:
    \begin{align} L&=\lim_{n \to \infty} \sum_{i=0}^{n}|P_i-P_{i-1}|\\ &=\lim_{n \to \infty} \sum_{i=0}^{n}\sqrt{1+(f'(x))^2}dx \end{align}

    如果我们把上面结果的根号下面内容视为一个函数,那么看上去就很像是积分定义的格式:

    \int_a^bf(z)dx= {\lim_{n \to +\infty}}\sum_{i=1}^{n}f(z)dx

    关于积分的内容请参考这两个文章:
    人工智能通识-科普-微积分定理
    人工智能通识-科普-微积分概念

    所以我们可以写作把曲线的长度积分公式表示为:

    L=\int_a^b\sqrt{1+(f'(x))^2}dx

    从这里我们知道,要求[a,b]区间一个曲线函数f(x)的曲线长度,那么只要找到它的斜率函数f'(x),然后就可以用积分求得。

    在下一篇我们将使用这个曲线公式推导圆周长的算法,为什么圆周长是2\pi r

    可能大家已经发现,我很久没有更新编程类文章了,尤其是Python和TensorFlow相关文章,对这方面感兴趣的读者可以观看这里获得更多技巧,例如:
    - 神经网络P图神器:摘墨镜,戴美瞳,加首饰,换发型【TensorFlow实现】
    - CentOS7 下 nginx 安装 ,SSL证书申请和配置,让网站支持https


    欢迎关注我的专栏( つ•̀ω•́)つ【人工智能通识】


    每个人的智能新时代

    如果您发现文章错误,请不吝留言指正;
    如果您觉得有用,请点喜欢;
    如果您觉得很有用,欢迎转载~


    END

    相关文章

      网友评论

        本文标题:人工智能通识-科普-微积分计算曲线长度

        本文链接:https://www.haomeiwen.com/subject/bbjpmqtx.html