3blue1brown系列课程,精美的动画,配上生动的讲解,非常适合帮助建立数学的形象思维,非常值得反复观看:

http://www.3blue1brown.com/

哔哩哔哩:

https://space.bilibili.com/88461692

作者还把制作视频的用到的代码放到了 github 上,有兴趣的同学可以研究看看

Github: https://github.com/3b1b/manim

我们节选其中一部分内容,领略一下微积分的奥妙

要了解微积分的本质,我们从一个大家都知道的公式说起。这个公式就是求圆的面积公式:A=πr²

 我们将用微积分的方式来推导这个公式,在这个过程中,我们将利用到微分,积分,和两者的互逆。

首先我们先将一个圆如下图切分成数个圆环。我们获得每个圆环的面积,然后将他们相加不就得到圆的面积了。

所以我们以相同的距离dr将圆切分成若干个同心圆环。

比如圆环的半径是3,dr取0.1 那么我们就将一个圆换分成了30个宽度都是0.1的同心圆环:

每一个圆环拉直会得到一个新的形状,我们将这个形状近似看做一个矩形

那么这个矩形的面积就是这个圆环的周长乘以dr,圆环的周长为圆环到圆心的距离*2π

那么每个圆环的近似面积面积就为:**2πr*dr**(这里的r是每个圆环到圆心的距离)

你会发现我们的dr 取值越小,那么我们计算出来的圆的面积也就越精确。

现在如果我们把所有近似矩从小到大一个接一个的排列在一起,我们会有一些全新的发现:

注意,为了方便观察我们y轴与x轴的比例为5:1

现在我们去的dr是0.1,而我们取的dr值越小,获得的圆环的数量就越多,而这些圆环的近似矩形面积相加起来的面积就靠近原来的圆的面积。

若是无限多个圆环,那么我们获得的近似值越来越靠近真实值。

可是我们取的圆环越多,那么计算量不就越大,无限多的就代表根本没法计算。

但注意,当dr取值无限小的时候,我们将所有圆环的面积加起来与下图三角形的面积是相同的。

这个三角形的底是3 而高最大圆环的周长,也就是圆的周长:2π*3

如果圆的半径是r,那么它对应的三角形就是一个底为r,高为2π*r的三角形。根据三角形面积公式,我们得到

圆的面积为:πr²

对于数学家来说,你不光要找到答案,你还想要能发展处解决一般问题的工具和技巧

我们回想一下刚刚发生了什么。为什么这样做是可行的。这个从近似值到精确值的过程,通过这个过程,我们可以了解微积分的本质。

最开我们将问题化解为许多微小值的和,来获得一个近似的结果。

首先我们取每间隔dr值,取一个圆环。我们将一个圆换分成若干个小圆环,将其近似看成若干个矩形,我们就能获得近似的圆形面积。

这里的dr 不仅是圆环的宽度,也是每个圆环半径的间距。

我们将这个这个dr越缩小,dr值取的越小,所有矩形相加的面积就越接近于一个三角形的面积。

我们可以得出结论,原来的原型的面积恰好就是这个三角形的面积。

注意此时已经不是近似值,而是完全准确。

通过这种方法,我们重新推导了计算圆的面积的公式。

现在我们看看这种方法在其他的地方如何发挥作用。

例如,已知骑车在每个时间点上的速度,求这段时间骑车走了多远的距离。

我们可以用每个时间点的速度乘以这段微小的时间,然后相加求和,就是这一整段时间走的距离的近似值。

从图中,我们可以看出,最后我们将一个物理学的问题,变成了几何学的问题。这是不是很有趣?

还有很多的问题都可以这样来计算,我们将一个复杂的问题,拆解为若干近似于a*b然后相加求和的问题(如上面的速度乘以时间),

其中每一个乘法计算中的a都是相同的。(如上一例子中,每一个时间点之间的距离是相同的,也就是vt中的t是相同的)

那么我们就可以将问题转化为若干细长的矩形面积(a*b不就是求矩形面积的公式?)相加取得近似值的问题。

若是我们取的a(在这个汽车例子中的t)取值越小,我们最终获得的值就越精确,而且越发靠近求下图面积的问题的。

等等,这个形状的面积似乎也不是那么好求得。

似乎我们不会像求圆的面积的时候那么的幸运,得到图形正好是一个三角形。

如上题我们求一个汽车从发动到停止这段时间经过的距离,最后我们得到的这样一个形状,我们要怎么求它的面积呢?

一个二次函数的曲线下的面积要怎么求呢?

视频告诉我们,当你在数学上遇到一个特别难解的问题是,不要想着正面硬解,这样你往往会撞上南墙。

相反,你应该带着不明确的目的不断把玩这些概念。

我们将二次函数,x²函数曲线下的面积设置A(x)

那么A(x)与x²之间有什么特殊关系呢?

如果我们将x的值增加一点点,那A(x²)的值回发生怎样的变化呢?

我们把增加的面积叫做dA,x的增加值叫做dx

我们将这个增加的面积近似看做一个矩形。

我们可以得到:

dA≈x²*dx   由此我们得到: dA/dx≈x²

这里我们dx的值取的越小,那么这个dA的面积就越接近矩形的面积。dA/dx也就越接近x²

我们将x=3,dx0.001代入这个公式可以得到

现在我们还是不知道神秘的A(x),但是我们有了这样一个一个公式:dA/dx≈f(x)

dx取值越小,这个公式就越精确。

作者:guolaomao@cnblogs

https://www.cnblogs.com/guolaomao/category/1136473.html

100天搞定机器学习|Day 30-32 微积分的本质的更多相关文章

  1. 100天搞定机器学习|Day11 实现KNN

    机器学习100天|Day1数据预处理 100天搞定机器学习|Day2简单线性回归分析 100天搞定机器学习|Day3多元线性回归 100天搞定机器学习|Day4-6 逻辑回归 100天搞定机器学习|D ...

  2. 100天搞定机器学习|day37 无公式理解反向传播算法之精髓

     100天搞定机器学习(Day1-34) 100天搞定机器学习|Day35 深度学习之神经网络的结构 100天搞定机器学习|Day36 深度学习之梯度下降算法 本篇为100天搞定机器学习之第37天,亦 ...

  3. 100天搞定机器学习|day40-42 Tensorflow Keras识别猫狗

    100天搞定机器学习|1-38天 100天搞定机器学习|day39 Tensorflow Keras手写数字识别 前文我们用keras的Sequential 模型实现mnist手写数字识别,准确率0. ...

  4. 100天搞定机器学习|Day7 K-NN

    最近事情无比之多,换了工作.组队参加了一个比赛.和朋友搞了一些小项目,公号荒废许久.坚持是多么重要,又是多么艰难,目前事情都告一段落,我们继续100天搞定机器学习系列.想要继续做这个是因为,一方面在具 ...

  5. 100天搞定机器学习|Day8 逻辑回归的数学原理

    机器学习100天|Day1数据预处理 100天搞定机器学习|Day2简单线性回归分析 100天搞定机器学习|Day3多元线性回归 100天搞定机器学习|Day4-6 逻辑回归 100天搞定机器学习|D ...

  6. 100天搞定机器学习|Day9-12 支持向量机

    机器学习100天|Day1数据预处理 100天搞定机器学习|Day2简单线性回归分析 100天搞定机器学习|Day3多元线性回归 100天搞定机器学习|Day4-6 逻辑回归 100天搞定机器学习|D ...

  7. 100天搞定机器学习|Day16 通过内核技巧实现SVM

    前情回顾 机器学习100天|Day1数据预处理100天搞定机器学习|Day2简单线性回归分析100天搞定机器学习|Day3多元线性回归100天搞定机器学习|Day4-6 逻辑回归100天搞定机器学习| ...

  8. 100天搞定机器学习|Day17-18 神奇的逻辑回归

    前情回顾 机器学习100天|Day1数据预处理 100天搞定机器学习|Day2简单线性回归分析 100天搞定机器学习|Day3多元线性回归 100天搞定机器学习|Day4-6 逻辑回归 100天搞定机 ...

  9. 100天搞定机器学习|Day19-20 加州理工学院公开课:机器学习与数据挖掘

    前情回顾 机器学习100天|Day1数据预处理 100天搞定机器学习|Day2简单线性回归分析 100天搞定机器学习|Day3多元线性回归 100天搞定机器学习|Day4-6 逻辑回归 100天搞定机 ...

  10. 100天搞定机器学习|Day21 Beautiful Soup

    前情回顾 机器学习100天|Day1数据预处理 100天搞定机器学习|Day2简单线性回归分析 100天搞定机器学习|Day3多元线性回归 100天搞定机器学习|Day4-6 逻辑回归 100天搞定机 ...

随机推荐

  1. I/O:Reader

    FileReader: /* 用来读取字符文件的便捷类.此类的构造方法假定默认字符编码和默认字节缓冲区大 小都是适当的.要自己指定这些值,可以先在 FileInputStream 上构造一个 Inpu ...

  2. 分享基于EF6、Unitwork、Autofac的Repository模式设计

    目录 分享基于EF6.Unitwork.Autofac的Repository模式设计 一.实现的思路和结构图 二.Repository设计具体的实现代码 三.Repository设计的具体的使用 四. ...

  3. visual studio 容器工具首次加载太慢 vsdbg\vs2017u5 exists, deleting 的解决方案

    ========== 正在准备容器 ========== 正在准备 Docker 容器... C:\Windows\System32\WindowsPowerShell\v1.\powershell. ...

  4. Sublime Text 3 实现C++代码的编译和运行

    在数据结构代码的编写中,我选用了优秀的编辑器 Sublime Text 3,但是在实现C++代码的编译和运行上费了一番周折,接下来我贴出 C++ 编译系统的代码,供各位参考. 编译后是在弹出的CMD命 ...

  5. JAVA面试题 StringBuffer和StringBuilder的区别,从源码角度分析?

    面试官Q1:请问StringBuffer和StringBuilder有什么区别? 这是一个老生常谈的话题,笔者前几年每次面试都会被问到,作为基础面试题,被问到的概率百分之八九十.下面我们从面试需要答到 ...

  6. Baozi Leetcode Solution 205: Isomorphic Strings

    Problem Statement Given two strings s and t, determine if they are isomorphic. Two strings are isomo ...

  7. JS实现当前页弹出窗口,且页面变灰不可操作

    使用JS在当前页面在div中加载弹出窗口,并让当前页面变灰不可操作. 加载弹出窗口的div需将宽高设置成整个页面的大小,以覆盖当前页面的内容. opacity:0.6: 页面可见度设置为0.6(1为完 ...

  8. Excel催化剂开源第4波-ClickOnce部署要点之导入数字证书及创建EXCEL信任文件夹

    Excel催化刘插件使用Clickonce的部署方式发布插件,以满足用户使用插件过程中,需要对插件进行功能升级时,可以无痛地自动更新推送新版本.但Clickonce部署,对用户环境有较大的要求,前期首 ...

  9. 【区分】Typescript 中 interface 和 type

    在接触 ts 相关代码的过程中,总能看到 interface 和 type 的身影.只记得,曾经遇到 type 时不懂查阅过,记得他们很像,相同的功能用哪一个都可以实现.但最近总看到他们,就想深入的了 ...

  10. python红蓝英雄大乱斗(面向对象实现)

    红蓝英雄大乱斗 游戏规则 ''' 有红蓝两方英雄(可自定义个数) 随机一方英雄使用随机攻击方式攻击另一方英雄,任意一方英雄全部阵亡则游戏结束 每个英雄有 名字.生命值.普通攻击.Q技能攻击.W技能攻击 ...