高等数学与python高级应用_Python与高等数学之Python与积分 !

计算机科学的起源是为了解决数学问题,所以,在某种程度上,可以把计算机科学归为数学的一个分支。因此,可以通过使用Python程序来学习高等数学中的知识,如积分、微分等,反之,也可以通过解决数学问题深化Python的编程思维。

积分的由来

在古埃及,尼罗河经常泛滥成灾,但是每当洪水退去之后,就会留下肥沃的冲积平原供人们播种。古时候的人们想知道冲积平原上可用的耕地面积,但是冲积平原的形状不是常规的矩形或者圆形,而是不规则的形状,这就为测量的工作带来了麻烦。

后来经过数学家们的不断探索,他们发现,如果把这些不规则的形状分割成一个个小的矩形,只要把矩形窄的一边切得足够小,再把这些矩形的面积加起来,矩形的面积之和就无限接近于不规则图形的实际面积,这就是积分的由来,积分的几何意义就是求函数与坐标系形成的面积。

受到启发的数学家们,在测量一块不规则的图形面积时,会把沿着河流的一侧当做横轴,就是坐标系里的x轴,把与河流呈逆时针90°方向的一侧当做纵轴,也就是坐标系里的y轴。这样,对于每一个x的值,都有一个对应y的值与之对应。在这里,我们把x的值叫做自变量,y的值叫做因变量,记作y = f(x)。对,你没看错,这就是函数的雏形。

有了函数之后好处就多了。我们把不规则形状的横向距离(假设为L)分为n等分(n->+∞),那么,横坐标是从0开始的,每一份的长度就是L/n。那么第一块矩形对应的横坐标点是1*L/n,第二块矩形对应的横坐标点是2*L/n,第三块矩形对应的横坐标点是3*L/n…以此类推,那么聪明的你肯定已经想到了,第n块矩形对应的横坐标点是就是L。

既然确定了横坐标,那么纵坐标的位置就可以通过f(x)来求出,那么第一块矩形的面积就是L/n*f(1*L/n),第二块矩形的面积就是L/n*f(2*L/n)…第n块矩形的面积就是L/n*f(L),然后把这些数加起来就得到了不规则图形的面积。

sin(x)的积分(面积)

学过高等数学的你一定还记得,sin(x)在0-2π上的面积为 4,如下:

用Python求sin(x)在0-2π上的面积

想要求一个规则图形的面积,如长方形,直接用长×宽即可,但是如果要求一个不规则的图形面积,如sin(x)在0-2π上的面积呢?

根据积分的来源和积分的含义,实际上很容易知道可以通过将曲面面积划分为一个个矩形,最后求矩形之和的方式来实现(顺便说一句:声波的音频采样(数字化)也是类似的原理)。如下:

那么如何用Python代码来实现呢?

首先,我们需要将sin(x)与x轴在0-2π组成的面积划分为很多个矩形,因此需要引入一个变量n,那么矩形在x轴上的宽度(width)即为2π/n。

其次,我们需要通过sin(X)函数求出每个矩形的高度(height),假设为第i个矩形,则其高度为sin(i*width)。

最后,我们还需要把所有矩形的和相加,这里需要用到for循环。

另外,还需要注意的是,由于sin(x)在π-2π之间时为负数,因此还需要使用绝对值函数。

import math

n = 100 # n是将x轴(0-2π)切段的数量

area = 0

width = 2 * math.pi / n

for i in range(1,n+1):

x = i * width

height = abs(math.sin(x))

area += width * height

print(area)

程序输出结果为:3.9986839661525218。

即,当我们将sin(x)在0-2π上划分为100个小矩形时,小矩形面积之和为3.9986839661525218。

聪明的你应该想到,如果矩形划分的越细,数量越多,矩形面积之后就应该更接近于sin(x)的真实面积。那么,如果将n设置为1000000,其结果会是怎样了。

正如你所想,程序输出结果为:3.999999999986816。Great!很明显与n=100相比,更加接近于sin(x)的真实面积(4)了。

好了,本次的Python小课,Python与高等数学之Python与积分就到这里了,下次咱们再聊聊Python与高等数学之Python与微分。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值