微积分是一种非常重要的“数学分析”思想(方法),在许多领域中都有应用,比如:计算平面面积、曲线长度、空间图形的体积、旋转曲面面积和物理学中的“微元法”等。而如何用好“微积分”是这部分学习的重点。要用好微积分,关键是理解透彻“微分-differential”和“定积分-Integral”的定义。微积分在英文中有时又被称为“Infinitesimal calculus”,即“无穷小量微积分”,这个名字从一定意义上可以帮助我们记忆“微积分”思想:在微观上上研究无穷小量的特征,找出规律,然后回到宏观上计算结果,控制误差。具体方法上,可以参考“Riemann积分”分为五步:分割、取点、近似、求和(求定积分)、分析误差。

一、分割

分割是微积分方法的第一步,也是微积分应用中非常重要的一步。算法中有“分而治之”的策略(Divide-and-conquer algorithms),微积分的“分割”也正暗合这种思想。另外所谓“微观化”,通俗理解就是取待研究的对象的一小部分作为单元,放大了仔细研究,找出特征,然后再总结整体规律。而微积分的“分割”也正是这个“取一小部分作为单元”。

普遍来说,有两种分割方式:直角坐标系分割和极坐标系分割。

1.直角坐标系分割

对于直角坐标系分割,我们已经和熟悉了,前面将定积分定义的时候,就是在直角坐标系下用“矩形逼近”的方法来计算曲线与x轴围成的面积。它是沿x轴分割成n小段{Δxi},即在直角坐标系下分割是按自变量进行分割。

当然,直角坐标系下也可以沿y轴分割,本质上,直角坐标系中沿x轴分割和沿y轴分割意义是一样的。将沿y轴分割看作是:

将函数关系反转,同时也将坐标轴反转。

2,极坐标系分割

同样地,极坐标也是按自变量分割。只是,直观上看,与直角坐标系的分割差异较大。如下图:

显然,极坐标分割的单元形状类似三角形而不是梯形或矩形。

总结:

不论是什么坐标系,都是按自变量进行分割。这是由函数的映射关系决定的,已知自变量,通过函数运算,就可以得到函数值。从图形上来看,这样的分割可以使每个分割单元“不规则的边”的数量最小,最好是只有一条不规则的边。选择好了坐标系,分割就不是问题了,所以,在研究实际问题建模的时候,重要的是选取合适的坐标系。

二、取点

根据积分的定义,取点具有任意性。但是,在实际应用中,为了简化计算或定性分析,我们往往会取一些特殊点,比如左端点或右端点。比如,为了证明这个不等式,我们会把左右两端的式子当作两条曲线的积分,而将中间的和式当作矩形之和,而每个矩形的左右两端点分别落在左右两条曲线上。

此外,Darboux Integral也是取得左右两端点。

三、近似

近似是微积分方法最重要的一步。通过“分割”,有了微观上的“单元”后,这个“单元”还是不太适合直接研究,因为它不规则,只有通过近似,将这个不规则的“单元”近似为一个“规则的单元”,这样才能继续下一步研究。这么说来,“近似”是整个微积分中最有创意,最需要发挥人的联想能力的一步。

1,不规则近似为规则

可以这么说:近似就是在微观上将不规则的“单元”替换为规则的“单元”。回到面积法,我们无法直接计算一个曲边图形的面积,但是在微观单元上,我们可以用一个相似的直边图形来替代它。直观上看,只要这个微观单元足够小,这个替代的误差也就足够小。也就是说,这个替代某种意义上是可行的,误差是可控制的。前面在讲“分割”的时候说“要使不规则的边的数量尽可能小”,实际上也就是方便做“近似”。

2,直线代曲线

更具体一点,在前面介绍的定积分定义和上面的“极坐标图形”问题,可以发现这两类问题近似的实际就是“用直线替代曲线”。在直角坐标系中,这么替代后,分割单元由曲边梯形变成了斜边梯形;极坐标系中,这么替代后分割单元由曲边三角形变成了普通三角形。这一步做完后,你会发现在微观上,原来不可计算的问题变成了可计算的问题了。

注意,在极坐标系中,计算面积时,既可以用“三角形近似”(Triangle),也可以用“圆弧近似”(Arc),后面将讨论这两种近似的误差是一致的。

3,套用计算公式

之所以要将不规则单元替换为规则单元,是因为规则单元可以套用计算公式。

替换完成后,下一步就是针对待求解的问题,对“规则单元”套用已知的公式。待求解的问题不同,套用的公式显然也不同。比如:

1)Riemann和定义的例子

待求解的是在区间[a,b]上曲线与x轴围成的面积,因此套用的是平面面积公式。

2)极坐标系曲线积分(上图)

待求解的是在区间[θ1,θ2]上曲线与原点围成的面积,因此套用的是圆弧面积公式。

3)平面曲线长度

平面曲线在微观上近似为一段段“斜线”(切线),它遵循的是“直角三角形斜边与直边的公式”,即“Pythagoras定理”:

4)极坐标曲线长度

注意,不能直接使用弧长公式

这个公式的推导过程中用到了π,而π本身就是近似得到的。

类似地,我们也可推广到旋转体的体积和表面积。

四、求和

前面几步都是在微观层面进行的,只有通过“求和”(Riemann和)才能回到宏观层面。

其中,Fi表示各个微观单元的公式

五、误差分析

近似”是发挥人联想能力的时候,但联想完了之后,我们要证明这种“近似”是可行的,即证明“误差在可接受范围内”。当然,对于误差的计算是要回到宏观层面上来的。一是我们原本要研究的就是一个宏观问题,最后的计算结果只有回到宏观上看才有意义;二是微观上的小误差有可能累积到宏观上变成大误差,正所谓“差之毫厘谬以千里”。

1,平面曲线积分误差分析

在“定积分”那一节,我通过“无穷小的运算”证明了“梯形近似”的误差 ϵ=O(Δx) ,同时也证明了“矩形近似与梯形近似的误差在同一个级别—— O(Δx) ”。

2,极坐标曲线积分误差分析

现在我们来证明极坐标曲线积分的“三角形近似”和“圆弧近似”的误差 ϵ=O(Δx)。

1)圆弧近似(Arc)

先用弧线代曲线

误差为

再算单元面积

有单元面积公式可知,Si与Δθi是一次线性关系,即 Si∼Δθi ,那么用弧形面积近似后误差

求和后总误差为

注意,这里为了计算方便,假设各子区域的误差相等。

所以,当Δθ→0时,ϵ→0

2)三角形近似(Triangle)

先用直线代曲线,修改面积公式

同样地,可以计算误差为:

根据无穷小的替换

此外,通过无穷小的替换,也可以证明这两个面积相等(Riemann和)

这里关于三角形近似与圆弧近似的论述,可能是因果颠倒的,但是能方便理解。

3,曲线长度计算的误差分析

1)“Δx”代曲线可行吗?

在计算平面曲线的积分时,我们不仅用“Δl”来代替曲线(梯形近似),而且为了简化计算,直接用“Δx”来代替曲线(矩形近似)。有没有很惊讶,这两种近似在求面积的时候误差是一个级别的(等价无穷小)。那么,是不是什么情况下都可以这么近似呢?

答案是,不能!

当我们求曲线长度的时候,如果用“Δx”来代替曲线,那么结果很明显是不对的(误差不可接受)

如下图,直观上都可以感受到这个误差之大。

在计算曲线长度的时候,我们只用“Δl”来代替曲线,并根据“Pythagoras定理”,将“Δl”换算为“Δx”,如下:

2)“Δl”代曲线的误差计算

每个单元误差为

求和后总误差为

注意,这里为了计算方便,假设各小段的误差相等。

所以,当Δl→0时,ϵ→0

3)两种近似的比较

六、练习

求双纽线(lemniscate)

围成的平面区域的面积

解:先看lemniscate的图形,它是一个对称图形,只需要计算其中的四分之一区域的面积即可。

求心形线(heart-line)

围成的平面区域的面积

解:先看heart-line的图形,它也是一个对称图形,只需要计算其中的二分之一区域的面积即可。需要注意的是,为了美观,这个图与公式并没对应,按题中公式画出的是一个水平偏右的心形。

python微积分求面积_用Python学微积分(微积分应用)相关推荐

  1. python输入坐标求面积_利用python中的坐标计算多边形面积

    您没有正确实现Shoelace formula.我修改了一点你的代码来修复它:sum1=0.0 sum2=0.0 b=input("Number of corners: ") ma ...

  2. python惰性求值_让Python中类的属性具有惰性求值的能力

    起步 我们希望将一个只读的属性定义为 property 属性方法,只有在访问它时才进行计算,但是,又希望把计算出的值缓存起来,不要每次访问它时都重新计算. 解决方案 定义一个惰性属性最有效的方法就是利 ...

  3. python迭代法求极值_用Python实现最速下降法求极值的方法

    对于一个多元函数 ,用最速下降法(又称梯度下降法)求其极小值的迭代格式为 其中 为负梯度方向,即最速下降方向,αkαk为搜索步长. 一般情况下,最优步长αkαk的确定要用到线性搜索技术,比如精确线性搜 ...

  4. python编程求导数_用python怎么计算导数最简单?

    谢邀,请恕我微积分学得不扎实,我记得常数的一阶导数均为0. 如果列表中传入的为含变量x的式子,代码可能如下. from sympy import Symbol, diff x = Symbol('x' ...

  5. python 多项式求系数_在Python中用于计算“多项式系数”的numpy / scipy函数

    是否有任何 python函数(可能来自numpy或scipy)计算扩展中x ** r的系数(1 xx ** 2 x ** 3 - x **(k-1))** n ,其中k> = 1,n> = ...

  6. python递归求5!_用Python解数独[6]:递归获得最终答案

    import copy import time # 求每一行单元格行值域 def valueRange(row): temp = copy.deepcopy(row) row_value_range ...

  7. python编程求导数_在python中如何计算导数?

    这个问题的答案很简单.当然,在另一个答案中给出的subs选项可用于计算某个数的导数,但如果要绘制导数,则不起作用.有一种方法可以解决这个问题:lambdify,如下所述. 使用lambdify将所有s ...

  8. python正方形阴影面积计算_利用Python求阴影部分的面积实例代码

    一.前言说明 今天看到微信群里一道六年级数学题,如下图,求阴影部分面积 看起来似乎并不是很难,可是博主添加各种辅助线,写各种方法都没出来,不得已而改用写Python代码来求面积了 二.思路介绍 1.用 ...

  9. python 计算面积 比计算几何慢_计算几何_求面积_辛普森积分公式

    附上一道水(模板)题 https://vjudge.net/problem/HDU-1724 和一道我认为卡精度要命的题(当然 是用这个方法被卡得要命的...) https://vjudge.net/ ...

  10. 用python计算圆的面积_用Python计算大圆距

    用python计算圆的面积 The shortest distance between two locations on the surface of Earth (or any planet) is ...

最新文章

  1. 收藏 | 卷积神经网络 C++ 从零开始实现
  2. Netty实现自定义协议
  3. containerd 与安全沙箱的 Kubernetes 初体验
  4. html登录注册的正则,怎么用html5编写用户注册验证程序
  5. python csv文件复制时的编码问题_使用python读取CSV文件时的编码问题
  6. CUDA和LAPACK混编的MakeFile文件
  7. 使用JDBC处理Oracle大数据
  8. 数据结构之c++感悟
  9. 某大型银行深化系统技术方案之九:核心层之流程数据管理
  10. 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。
  11. 远程桌面连接(连接服务器)报错Oracle修正
  12. GD32E230开发笔记-GD32E230开发Demo
  13. js获取当前URL中的参数
  14. 基于SpringBoot的救援物资管理系统
  15. C#/VB.NET 合并PDF页面
  16. PHP从入门到精通 第3版pdf
  17. 关于“Windows无法验证设备所需的驱动程序的数字签名”错误的解决方法
  18. 解决鼠标右键中没有新建选项
  19. ps2改usb接口_PS2键盘接口改USB接口
  20. jekyll部署到服务器

热门文章

  1. php 美化登录页面,把你的WordPress登录页面进行CSS美化
  2. 软件工程—需求分析阶段
  3. andorid安卓优秀博文源码推荐集锦
  4. 亿图图示 软件下载与安装 20200715
  5. 给你 2021 最酷网页设计指南!
  6. 知识图谱+Recorder︱中文知识图谱API与工具、科研机构与算法框架
  7. OI、ACM大佬楼天城的回忆录
  8. multisim二极管_每日干货——光敏二极管传感器
  9. 乾颐堂现任明教教主(2014年课程)TCPIP协议详解卷一 第二节课笔记
  10. 丁向荣单片机pdf_单片机原理与应用