用Python学《微积分B》(微积分应用)


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


一、分割


  分割是微积分方法的第一步,也是微积分应用中非常重要的一步。算法中有“分而治之”的策略(Divide-and-conquer algorithms),微积分的“分割”也正暗合这种思想。另外所谓“微观化”,通俗理解就是取待研究的对象的一小部分作为单元,放大了仔细研究,找出特征,然后再总结整体规律。而微积分的“分割”也正是这个“取一小部分作为单元”。
  普遍来说,有两种分割方式:直角坐标系分割和极坐标系分割。
1,直角坐标系分割
  对于直角坐标系分割,我们已经和熟悉了,前面将定积分定义的时候,就是在直角坐标系下用“矩形逼近”的方法来计算曲线与x轴围成的面积。它是沿x轴分割成n小段 {Δxi} ,即在直角坐标系下分割是按自变量进行分割。
  当然,直角坐标系下也可以沿y轴分割,本质上,直角坐标系中沿x轴分割和沿y轴分割意义是一样的。将沿y轴分割看作是: x=f1(y) ,将函数关系反转,同时也将坐标轴反转。
2,极坐标系分割
  同样地,极坐标也是按自变量分割。只是,直观上看,与直角坐标系的分割差异较大。如下图:
这里写图片描述
  显然,极坐标分割的单元形状类似三角形而不是梯形或矩形。
总结:
  不论是什么坐标系,都是按自变量进行分割。这是由函数的映射关系决定的,已知自变量,通过函数运算,就可以得到函数值。从图形上来看,这样的分割可以使每个分割单元“不规则的边”的数量最小,最好是只有一条不规则的边。选择好了坐标系,分割就不是问题了,所以,在研究实际问题建模的时候,重要的是选取合适的坐标系。


二、取点


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

n+11nn2+x2dxk=1nnn2+k2f(1)+n1nn2+x2dx

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


三、近似


  近似是微积分方法最重要的一步。通过“分割”,有了微观上的“单元”后,这个“单元”还是不太适合直接研究,因为它不规则,只有通过近似,将这个不规则的“单元”近似为一个“规则的单元”,这样才能继续下一步研究。这么说来,“近似”是整个微积分中最有创意,最需要发挥人的联想能力的一步。
1,不规则近似为规则
  可以这么说:近似就是在微观上将不规则的“单元”替换为规则的“单元”。回到面积法,我们无法直接计算一个曲边图形的面积,但是在微观单元上,我们可以用一个相似的直边图形来替代它。直观上看,只要这个微观单元足够小,这个替代的误差也就足够小。也就是说,这个替代某种意义上是可行的,误差是可控制的。前面在讲“分割”的时候说“要使不规则的边的数量尽可能小”,实际上也就是方便做“近似”。
2,直线代曲线
  更具体一点,在前面介绍的定积分定义和上面的“极坐标图形”问题,可以发现这两类问题近似的实际就是“用直线替代曲线”。在直角坐标系中,这么替代后,分割单元由曲边梯形变成了斜边梯形;极坐标系中,这么替代后分割单元由曲边三角形变成了普通三角形。这一步做完后,你会发现在微观上,原来不可计算的问题变成了可计算的问题了。
  注意,在极坐标系中,计算面积时,既可以用“三角形近似”(Triangle),也可以用“圆弧近似”(Arc),后面将讨论这两种近似的误差是一致的。
3,套用计算公式
  之所以要将不规则单元替换为规则单元,是因为规则单元可以套用计算公式。
  替换完成后,下一步就是针对待求解的问题,对“规则单元”套用已知的公式。待求解的问题不同,套用的公式显然也不同。比如:
1)Riemann和定义的例子
  待求解的是在区间[a,b]上曲线与x轴围成的面积,因此套用的是平面面积公式。

Si=hiwi=f(ξi)Δxi

2)极坐标系曲线积分(上图)
  待求解的是在区间 [θ1,θ2] 上曲线与原点围成的面积,因此套用的是圆弧面积公式。
Si=12r2iΔθi=12[f(ξi)]2Δθi

3)平面曲线长度
  平面曲线在微观上近似为一段段“斜线”(切线),它遵循的是“直角三角形斜边与直边的公式”,即“Pythagoras定理”:
Δli=(Δxi)2+(Δyi)2=1+(ΔyiΔxi)2Δxi

4)极坐标曲线长度
dl=(dx)2+(dy)2=d2[r(θ)cos(θ)]dθ2+d2[r(θ)sin(θ)]dθ2dθ=r2(θ)+r2(θ)dθ

注意,不能直接使用弧长公式 Δli=riΔθi=f(ξi)Δθi ,这个公式的推导过程中用到了 π ,而 π 本身就是近似得到的。
  类似地,我们也可推广到旋转体的体积和表面积。


四、求和


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

limλ0+i=0nFi

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


五、误差分析


  “近似”是发挥人联想能力的时候,但联想完了之后,我们要证明这种“近似”是可行的,即证明“误差在可接受范围内”。当然,对于误差的计算是要回到宏观层面上来的。一是我们原本要研究的就是一个宏观问题,最后的计算结果只有回到宏观上看才有意义;二是微观上的小误差有可能累积到宏观上变成大误差,正所谓“差之毫厘谬以千里”。
1,平面曲线积分误差分析
  在“定积分”那一节,我通过“无穷小的运算”证明了“梯形近似”的误差 ϵ=O(Δx) ,同时也证明了“矩形近似与梯形近似的误差在同一个级别—— O(Δx) ”。传送门-Integral
2,极坐标曲线积分误差分析
  现在我们来证明极坐标曲线积分的“三角形近似”和“圆弧近似”的误差 ϵ=O(Δx)
这里写图片描述
1)圆弧近似(Arc)
  先用弧线代曲线

Δli=ΔriΔθi+O[(Δθi)2]=f(ξi)Δθi+O[(Δθi)2]

  误差为 ϵl=O[(Δθi)2]
  再算单元面积
Si=12r2iΔθi=12[f(ξi)]2Δθi

  有单元面积公式可知, Si Δθi 是一次线性关系,即 SiΔθi ,那么用弧形面积近似后误差 ϵi=O[(Δθi)2]
  求和后总误差为
ϵ=nO[(Δθ)2]=1ΔθO[(Δθ)2]=O(Δθ)

  注意,这里为了计算方便,假设各子区域的误差相等。
  所以,当 Δθ0 时, ϵ0
2)三角形近似(Triangle)
  先用直线代曲线,修改面积公式
Si=12r2isin(Δθi)=12[f(ξi)]2sin(Δθi)

  同样地,可以计算误差为:
ϵi=O[sin2(Δθi)]ϵ=nO[sin2(Δθ)]=1ΔθO[sin2(Δθ)]

  根据无穷小的替换
limΔθ0+sin(Δθ)Δθ=1ϵ=1ΔθO[sin2(Δθ)]=O(Δθ)

  此外,通过无穷小的替换,也可以证明这两个面积相等(Riemann和)
StSa=limΔθ0+ni=012[f(ξi)]2sin(Δθi)limΔθ0+ni=012[f(ξi)]2Δθi=1

  这里关于三角形近似与圆弧近似的论述,可能是因果颠倒的,但是能方便理解。事实上,在该课程第一章“极限论”中,介绍“割圆术”的时候,扈老师就用极限的方法演示了三角形近似与圆弧近似在极限情况下是相等的,有兴趣的可以再去观看那一段视频。
3,曲线长度计算的误差分析
1)“ Δx ”代曲线可行吗?
  在计算平面曲线的积分时,我们不仅用“ Δl ”来代替曲线(梯形近似),而且为了简化计算,直接用“ Δx ”来代替曲线(矩形近似)。有没有很惊讶,这两种近似在求面积的时候误差是一个级别的(等价无穷小)。那么,是不是什么情况下都可以这么近似呢?
  答案是,不能!
  当我们求曲线长度的时候,如果用“ Δx ”来代替曲线,那么结果很明显是不对的(误差不可接受)
l=x2x0dx=x2x0

  如下图,直观上都可以感受到这个误差之大。
这里写图片描述
  在计算曲线长度的时候,我们只用“ Δl ”来代替曲线,并根据“Pythagoras定理”,将“ Δl ”换算为“ Δx ”,如下:
l=badl=x2x01+(dydx)2dx=y2y01+(dxdy)2dy

2)“ Δl ”代曲线的误差计算
  每个单元误差为 ϵi=O[(Δli)2]
  求和后总误差为
ϵ=nO[(Δl)2]=1ΔlO[(Δl)2]=O(Δl)

  注意,这里为了计算方便,假设各小段的误差相等。
  所以,当 Δl0 时, ϵ0
3)两种近似的比较
Δli=(Δxi)2+(Δyi)2=1+[f(ξi)]2Δxi

limλ0+ni=01+[f(ξi)]2Δxilimλ0+ni=0Δxi1



六、课后练习


Exercise 7-5-1
求双纽线(lemniscate) ρ2=2a2cos(2θ) 围成的平面区域的面积
解:先看lemniscate的图形,它是一个对称图形,只需要计算其中的四分之一区域的面积即可。

%matplotlib inline
import numpy as np
import matplotlib.pyplot as plt
alpha = 1
theta = np.linspace(0, 2*np.pi, num=1000)
x = alpha * np.sqrt(2) * np.cos(theta) / (np.sin(theta)**2 + 1)
y = alpha * np.sqrt(2) * np.cos(theta) * np.sin(theta) / (np.sin(theta)**2 + 1)
plt.plot(x, y)
plt.grid()
plt.show()

这里写图片描述

#Exercise 7-5-1
from sympy import *
init_printing()
t, a = symbols('t a')
f = a ** 2 * cos(2 * t)
4 * integrate(f, (t, 0, pi / 4))

2a2


Exercise 7-5-2
求心形线(heart-line) ρ=a(1+cos(θ)) 围成的平面区域的面积
解:先看heart-line的图形,它也是一个对称图形,只需要计算其中的二分之一区域的面积即可。需要注意的是,为了美观,这个图与公式并没对应,按题中公式画出的是一个水平偏右的心形。

import matplotlib.pyplot as plt
import numpy as np
t = np.arange(0,2*np.pi, 0.1)
x = 16*np.sin(t)**3
y = 13*np.cos(t)-5*np.cos(2*t)-2*np.cos(3*t)-np.cos(4*t)
plt.plot(x,y)
plt.grid()
plt.show()

这里写图片描述

#Exercise 7-5-2
from sympy import *
init_printing()
t, a = symbols('t a')
rho = a * (1 + cos(t))
integrate(1 / 2 * rho ** 2, (t, 0, pi))

0.75πa2

#Exercise 7-5-3
from sympy import *
init_printing()
x = Symbol('x')
f = x ** 2
g = sqrt(x)
a, b = solve(Eq(f, g), x)
a, b, integrate(f - g, (x, a, b))

(0,1,13)


#Exercise 7-5-4
%matplotlib inline
import numpy as np
import matplotlib.pyplot as plt
a = 1
t = np.linspace(0, 2 * np.pi)
x = a * (t - np.sin(t))
y = a * (1 - np.cos(t))
plt.plot(x, y)
plt.grid()
plt.show()


这里写图片描述

Exercise 7-5-4
计算旋轮线的弧长
解:本题看似简单,实际上直接用sympy是计算不出来的。
根据弧长积分公式 dl=1+(dydx)2dx
将积分元替换为t得:

l=a2π01cos(t)dt=2aπ01cos(t)dt

再次利用三角函数关系,进行有理化
l=2aπ2π21sin(π2+θ)dθ=2aπ2π212sin(π4+θ2)cos(π4+θ2)dθ=2aπ2π2|sin(π4+θ2)cos(π4+θ2)|dθ

#Exercise 7-5-5
from sympy import *
init_printing()
t, a = symbols('t a')
r = a * (1 + cos(t))
f = sqrt(r ** 2 + diff(r, t) ** 2)
f

a2(cos(t)+1)2+a2sin2(t)


注意,这个f不能直接用sympy积分,与上题类似进行化简,即可得到积分结果为8a。

#Exercise 7-5-6
from sympy import *
init_printing()
t, a, c = symbols('t a c')
x = a * cos(t)
y = a * sin(t)
z = c * t
f = sqrt(x.diff(t) ** 2 + y.diff(t) ** 2 + z.diff(t) ** 2)
integrate(f, (t, 0, 2 * pi))


2πa2+c2

#Exercise 7-5-9
x = Symbol('x')
f = pi * sin(x) ** 2
integrate(f, (x, 0, pi))

π22

#Exercise 7-5-10
x = Symbol('x')
y = x ** 3 / 3
perimeter = 2 * pi * y
Dlx = sqrt(1 + diff(y, x) ** 2)
f = perimeter * Dlx
integrate(f, (x, 0, 1))

π9+2π92


Exercise 7-5-11
求平面曲线 x2a2+y2b2=1 围成的区域的面积
解:它实际是一个椭圆,a和b分别表示长短轴。将它转为参数方程,求解更容易

#Exercise 7-5-11
from sympy import *
init_printing()
t, a, b = symbols('t a b')
x = a * cos(t)
y = b * sin(t)
f = y * diff(x, t)
integrate(f, (t, 0, 2 * pi))


πab

#Exercise 7-5-12
from sympy import *
init_printing()
x = Symbol('x')
y = 1 - x ** 2
a, b = solve(y, x)
f = pi * y ** 2
integrate(f, (x, a, b))


16π15

#Exercise 7-5-13
from sympy import *
init_printing()
x = Symbol('x')
y = sin(x)
f = pi * y ** 2
integrate(f, (x, 0, pi))


π22

#Exercise 7-5-14
from sympy import *
init_printing()
y = Symbol('y')
eq = Eq(y ** 2 / 2, y + 4)
a, b = solve(eq)
f = y ** 2 / 2 - (y + 4)
a, b, integrate(f, (y, a, b))

(2,4,18)


%matplotlib inline
import numpy as np
import matplotlib.pyplot as plt
y = np.linspace(-3, 5)
x1 = y ** 2 / 2
x2 = y + 4
plt.plot(x1, y)
plt.plot(x2, y)
plt.grid()
plt.show()




这里写图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/33722.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数学分析(高级微积分)

一、总览 微分学积分学级数论 二、微分学 1. 极限和连续 相关知识:数列的极限、收敛数列之性质、函数极限、函数极限性质、无穷大无穷小、等价无穷下、洛必达法则、函数的连续和间断、极限的求法。 2. 一元/多元函数微分学 相关知识:导数&#xff0…

以MATLAB的方式实现微积分问题的计算机求解问题及解决方案集锦(一)

前言 关于MATLAB系列的精品专栏大家可参见 MATLAB-30天带你从入门到精通 MATLAB深入理解高级教程(附源码) 喜欢的小伙伴可自行订阅,你的支持就是我不断更新的动力哟! 微积分问题的计算机求解系列 (0001) 试求出下面的定积分或无穷积分。 【解】 ① 可以直接求解 >…

高视角!如何认识微积分方法与原理?

编者按>> 恩格斯在《反杜林论》中说:“变数的数学——其中最重要的部分是微积分。”冯诺依曼说:“微积分是近代数学中最伟大的成就,对它的重要性做怎样的估计都不会过分。” 可见微积分在数学中的重要性。通常说的“微积分”由方法和原…

MTLAB 求解微积分(包含导数、极限、积分、级数和、微分方程、数值方法全面求解)

文章目录 1. 导数求解1.1 显函数求导1.2 隐函数求导 2. 极限求解2.1 单变量极限2.2 多变量极限 3. 积分求解3.1 不定积分3.2 定积分计算3.2.1 解析解3.2.2 数值解 4. 级数展开求和4.1 泰勒级数展开4.2 级数求和 5. 求解微分方程5.1 符号解5.2 数值解 1. 导数求解 1.1 显函数求…

初识微积分一

from IPython.core.interactiveshell import InteractiveShell InteractiveShell.ast_node_interactivity "last_expr" import numpy as np from matplotlib import pyplot as plt变化率 对于函数 y f ( x ) {y f(x)} yf(x) 定义变化率为: r o c Δ…

初识微积分二

微分和求导 导函数的定义: l i m h → 0 f ( x h ) − f ( x ) h lim_{h \to 0} \frac{f(x h) - f(x)}{h} limh→0​hf(xh)−f(x)​ f ′ ( x ) lim ⁡ h → 0 f ( x h ) − f ( x ) h f(x) \lim_{h \to 0} \frac{f(x h) - f(x)}{h} f′(x)h→0lim​hf(xh)−…

03 高等数学专题——多元函数微积分

多元函数微积分学 一、多元函数微分学1.1、多元函数微分学概念连续、可偏导、可微、方向导数存在的定义多元函数可微、可偏导、连续的关系复合函数求偏导(链式法则)、全微分的计算隐函数求偏导(隐函数存在定理、等式两边求导法) 1…

用Python学《微积分B》(反常积分)

Riemann积分有两个局限:一是积分区间[a, b]必须有限;二是被积函数f(x)在积分区间[a, b]上有界。而反常积分(Improper Integral)就是对Riemann积分这两个局限的扩展,前者扩展后被称为“无穷积分”,后者扩展后…

Mathematica做微积分

微积分 求极限函数极限数列极限递归定义的数列极限单侧极限累次极限渐近线 微商和微分微商(导数)全微分 不定积分和定积分不定积分定积分多重积分 级数幂级数展开幂级数计算Fourier级数 微分方程求解常微分方程求解偏微分方程 参考资料 求极限 函数极限…

《微积分基础》学习(一)

本系列文章主要记录我在学习coursera上的《Calculus One》在线课程的笔记。该课程是俄亥俄州立大学的经典课程,教授的发音比较标准,授课方式轻松愉悦,是不可错过的“微积分”入门课程。 本文直接从第二周切入(第一周是课程介绍和学…

【计算题】(五)多元函数微积分学

目录 多元微分1. 极限偏导可微2. 复合函数求导3. 多元函数极值 多元积分1. 积分对称性2. 坐标系相互转换3. 交换积分次序 多元微分 1. 极限偏导可微 证明二重极限: x r c o s θ , y r s i n θ xrcos \theta,yrsin \theta xrcosθ&#x…

微积分专项----MIT GS老师

四. Limits and Continuous Functions极限和连续 (11/n)^n--->e 平衡的好时 (11/n^2)^n---> 1 (11/n)^(n^2)---> infinity 洛必达法则:用来计算趋于0时,且均有良好的…

IDC发布《2022中国大模型发展白皮书》,文心大模型能力全面领先

火爆全球的ChatGPT让背后的大模型技术进入了更多人的视野。日前,国际权威咨询机构IDC发布《2022中国大模型发展白皮书》(以下简称《白皮书》),认为大模型是AI发展的必然趋势,并提出业内首个大模型评估框架。经评估&…

了解 GPU

近期ChatGPT十分火爆,随之而来的是M国开始禁售高端GPU显卡。M国想通过禁售GPU显卡的方式阻挡中国在AI领域的发展。 GPU是什么? GPU(英语:Graphics Processing Unit,缩写:GPU)是显卡的“大脑”&…

被“薄纱”的文心一言,真的一无是处?

大家好,我是王有志,欢迎和我聊技术,聊漂泊在外的生活。本文单纯讨论文心一言,不涉及其母公司百度的所作所为 3月16日百度交卷了,正式推出了自己的知识增强大语言模型文心一言。 作为全球第二家,中国第一家…

面对ChatGPT引发的人工智能革命,中国如何应对?

ChatGPT是一款由美国OpenAI公司开发的自然语言人机交互应用,拥有接近人类水平的语言理解和生成能力,是迄今为止人工智能领域最成功的产品和历史上用户增长速度最快的应用程序。ChatGPT依赖大模型、大数据、大算力支撑,其出现标志着通用人工智…

chatgpt赋能python:Python拟合数据-一种强大的数据分析工具

Python拟合数据 - 一种强大的数据分析工具 Python是一种用于数据科学的强大编程语言。 它具有丰富的功能,具有大量的数据分析库和工具,其中包括拟合数据的功能。 在此文章中,我们将介绍如何使用Python拟合数据,并探索这种功能对数…

chatgpt赋能python:Python处理图片去白底的介绍

Python处理图片去白底的介绍 在现今的互联网时代,图片在网页设计和营销中占有重要的地位。然而,在制作图片时,如果图片中有一个白色底色,将导致图片的美观度和质量降低。因此,图片去白底是非常实用的技巧,…

最强的数据增强--ChatGPT?

在许多自然语言处理(NLP)任务中,文本数据增强是克服样本量有限挑战的有效策略。 目前的文本数据增强方法要么不能保证生成数据的正确标记(缺乏可信度),要么不能保证生成数据的足够多样性(缺乏完整性),要么两者兼有。 ChatGPT在具有无与伦比…