第三单元 用python学习微积分(二十)壳层法、圆盘法求体积 (下)

第三单元 用python学习微积分(二十)壳层法、圆盘法求体积 (下)本文内容来自于学习麻省理工学院公开课:单变量微积分-壳层法、圆盘法求体积-网易公开课一、切片法球体积(继续建立积分的思想)​如图,红色切片部分的体积这个式子取极限,则有全部面积为二、旋转立方体(solidsofrevolution)圆盘法介绍:老师先画了一条x轴上方曲线,看着像sinx,之后出题,这个曲线绕x轴一周形成一个椭圆,可以猜想,当对这个椭圆切片,可以得到一个⚪,因为图形绕x轴旋转不会改变函数值到x轴的距离,而这个距离就是这个⚪的半径。于.

大家好,又见面了,我是你们的朋友全栈君。

本文内容来自于学习麻省理工学院公开课:单变量微积分-壳层法、圆盘法求体积-网易公开课

开发环境准备:CSDN

目录

2、壳层法(method of shells)求体积


2、壳层法(method of shells)求体积

第三单元 用python学习微积分(二十)壳层法、圆盘法求体积 (下)

​

考虑 y = x^2 的曲线在y轴右侧的部分,如果绕y轴旋转360度, 会形成一个像水缸的体,而如上图中红色矩形部分,会形成一个空心的圆柱,一个圆柱形的壳。这个壳的厚度为dx(趋近于无穷小),高度为a-y(注意最左侧图上y=a直线), 半径为x。

这个壳展开为一个厚片(最右侧图),这个厚片的厚度为dx, 高度为a-y, 底边长为中间图中圆柱的底面圆形的周长 2\pi x 。

dV = (2 \pi x)(a-y)dx = 2\pi(ax - x^3)dx ( 0<x<\sqrt[]{a} , y\leq a , y = x^2 )

V = \int_{0}^{\sqrt a} 2\pi(ax - x^3)dx = \pi a x^2 - \frac{\pi x^4}{2}|_{0}^{\sqrt a} = \pi a^2 - \frac{\pi a^2}{2} = \frac{\pi}{2} a^2

代码主体部分请参考Bullseye:第三单元 用python学习微积分(二十)壳层法、圆盘法求体积 (上)

fig = plt.figure(figsize=(12, 12),
                 facecolor='lightyellow'
                )
# draw sphere
ax = fig.gca(fc='whitesmoke',
               projection='3d' 
              )
x = symbols('x')
a = 4
expr = x**2

DrawXY(0,2,100,expr,'b','',plt)

RotateByAxis(0,2,100,expr,-0.5*np.pi,'r',ax, EnumAxis.YAxis)
RotateByAxis(0,2,100,expr,0.5*np.pi,'r',ax, EnumAxis.YAxis)
RotateByAxis(0,2,100,expr,-np.pi,'b',ax, EnumAxis.YAxis)

DrawAxis(ax, 5,5,5)

   
plot_surface(-2, 4, -2, 4, 0, 4, ax)
ax.view_init(elev=30,    # 仰角
             azim=-20    # 方位角
            )
plt.show()

第三单元 用python学习微积分(二十)壳层法、圆盘法求体积 (下)

​

这里老师提示要注意单位!

设 a=100 cm

则体积为: V= \frac{\pi}{2}(100)^2 (cm^3) = \frac{10\pi}{2}(1000) (cm^3) = \frac{10\pi}{2} (L)

设 a=1 m

则体积为: V= \frac{\pi}{2} (m^3) = \frac{\pi}{2}(100)^3 (cm^3) = \frac{1000\pi}{2} (L)

所以都是1m的长度,体积的结果确实不同,为啥呢?老师的原话是 公式\frac{\pi}{2} a^2违反了比例原则。

其实是都是合理的,造成不同的原因是曲线的形状不同!如下:

import matplotlib.pyplot as plt
fig=plt.figure()

axes=[]
#define matplotlib figure and axis

def DrawXY(xFrom,xTo,steps,expr,color,label,ax, aspect):
    yarr = []
    xarr = np.linspace(xFrom ,xTo, steps) 
    for xval in xarr:
        yval = expr.subs(x,xval)
        yarr.append(yval)
    y_nparr = np.array(yarr) 
    ax.set_aspect(aspect)
    ax.plot(xarr, y_nparr, c=color, label=label)   

x = symbols('x')
expr = x**2

# add_subplot(row, col, row*col) 添加图在row行,col列 
axes.append( fig.add_subplot(1, 1,1) )
DrawXY(-10,10,100,expr,'green','y = x**2 a=100 cm ',axes[len(axes)-1], 0.8)
plt.legend(loc='upper right')
axes.append( fig.add_subplot(1, 3,3) )
DrawXY(-1,1,100,expr,'green','y = x**2 a=1 m ',axes[len(axes)-1], 1)
plt.legend(loc='upper right')

#set aspect ratio to 1
fig.tight_layout()
#display plot
plt.show()

第三单元 用python学习微积分(二十)壳层法、圆盘法求体积 (下)

​

由积分的性质,我们知道求取的是旋转曲线所得到的空间形状的体积,而由于两图形的x、y比例不同,所得到的体积也就不同。上图中左边的图形当x取10cm时,图形的高是100cm,而右边的图形,x取100cm时,图形的高是100cm。

所以当处理实际问题是,一定要考虑好比例关系。

下节课将要讲在像这样的坩埚中加热其中全部的水,需要多少热量。


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/133940.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长

相关推荐

  • 深信服SCSA认证知识点(2)[通俗易懂]

    深信服SCSA认证知识点(2)[通俗易懂]深信服SCSA认证1、IP数据报文在网络层选路时,是基于最长匹配的原则。2、SNMP依赖于IP协议工作的。3、IP报文头部中有一个TTL字段,该字段长度为7位。4、access端口只能发送untagged帧5、关于rip协议,路由器不可能转发条数为16的路由器条目给它的直连邻居。6、如果希望一台DHCP客户机总是获得一个固定的IP地址,需要在DHCP上为其设置IP作用域。7、关于HTTP相应状态码302为网页重定向。8、nslookup是Windows系统常用的dns测.

    2022年6月20日
  • hadoop生态系统的详细介绍-详细一点[通俗易懂]

    前提日常喜欢看一些微信分享的好文,总结下来,可以作为过滤器吧(节约更多人的时间!),在这里引用的是别人的文章!对原文的作者表示感谢!确实写的很好!hadoop生态系统的详细介绍简介Hadoop是一个开发和运行处理大规模数据的软件平台,是Appach的一个用java语言实现开源软件框架,实现在大量计算机组成的集群中对海量数据进行分布式计算。今天我们来详细介绍下hadoop的生态系统。Hadoop生态…

    2022年4月3日
  • GMapping原理分析[通俗易懂]

    GMapping原理分析[通俗易懂]概念:   1、Gmapping是基于滤波SLAM框架的常用开源SLAM算法。   2、Gmapping基于RBpf粒子滤波算法,即将定位和建图过程分离,先进行定位再进行建图。   3、Gmapping在RBpf算法上做了两个主要的改进:改进提议分布和选择性重采样。优缺点:   优点:Gmapping可以实时构建室内地图,在构建小场景地图所需的计算量较小且…

    2022年4月20日
  • 如何用pycharm编写程序_pycharm怎么编写python代码

    如何用pycharm编写程序_pycharm怎么编写python代码一、编写第一个Python项目二、使用Pycharm编写第一个Python程序运行Pycharm,选择CreateNewProject,创建一个新的Python工程。选择’PurePython’创建一个新的纯Python工程项目,Location表示该项目的保存路径,Interpreter用来指定Python计时器的版本。右击项目,选择New,再选择PythonFile在…

    2022年8月25日
  • java 线程interupt stop(dep)[通俗易懂]

    java 线程interupt stop(dep)[通俗易懂] java线程interuptstop(dep) https://blog.csdn.net/zbw18297786698/article/details/53432879/1、Java中API自带的stop()方法,来终止线程       查阅JDK,不难发现Thread提供了一个stop()方法,但是stop()方法是一个被废弃的方法。为什么sto…

    2022年10月24日
  • pycharm 安装 cv2 遇到的坑[通俗易懂]

    pycharm 安装 cv2 遇到的坑[通俗易懂]网上找了很多教程都没成功!window764位系统python3.6pycharmctrl+alt+s 找到opencv-python直接安装 完全没问题。

    2022年8月28日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号