第三单元 用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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 接口测试简介以及接口测试用例设计思路

    接口测试简介以及接口测试用例设计思路接口测试简介1.什么是接口接口就是内部模块对模块,外部系统对其他服务提供的一种可调用或者连接的能力的标准,就好比usb接口,他是系统向外接提供的一种用于物理数据传输的一个接口,当然仅仅是一个接口是不能进行传输的,我们还的对这个接口怎么进行传输进行进行一些设置和定义。开发所谓的接口是模块模块之间的一种连接,而测试眼中的接口是一种协议(对接口的功能的一种定义)2.接口的种类和分类外部接…

    2022年6月28日
    25
  • MySQL索引详细

    MySQL索引详细

    2021年11月12日
    40
  • 嵌入式学习网站推荐[通俗易懂]

    嵌入式学习网站推荐[通俗易懂]嵌入式学习网站推荐  http://blog.chinaunix.net/uid-2413049-id-158374.html转到这里来是为了自己日后好找:-)2.  TheFirstStopfortheLatestICsandComponents非常好的关于微处理器,DSP,可以编程控制器资讯的网站,更新非常快。强烈推荐一些领导级别的人常去,了解行

    2022年5月23日
    31
  • leetcode 回文数_将一个整数转换为字符串

    leetcode 回文数_将一个整数转换为字符串原题链接请你来实现一个 myAtoi(string s) 函数,使其能将字符串转换成一个 32 位有符号整数(类似 C/C++ 中的 atoi 函数)。函数 myAtoi(string s) 的算法如下:读入字符串并丢弃无用的前导空格检查下一个字符(假设还未到字符末尾)为正还是负号,读取该字符(如果有)。 确定最终结果是负数还是正数。 如果两者都不存在,则假定结果为正。读入下一个字符,直到到达下一个非数字字符或到达输入的结尾。字符串的其余部分将被忽略。将前面步骤读入的这些数字转换为整数(即,“1

    2022年8月9日
    4
  • ceph介绍_ceph为什么用rgw

    ceph介绍_ceph为什么用rgw一、Ceph简介:Ceph是一种为优秀的性能、可靠性和可扩展性而设计的统一的、分布式文件系统。ceph的统一体现在可以提供文件系统、块存储和对象存储,分布式体现在可以动态扩展。在国内一些公司的云环

    2022年8月2日
    3
  • linux udp 防火墙 161,一次穿透 iptables 防火墙的 UDP 攻击报文真实案例分析[通俗易懂]

    linux udp 防火墙 161,一次穿透 iptables 防火墙的 UDP 攻击报文真实案例分析[通俗易懂][root@platinum-PT~]#tcpdump-ieth0-nnnvvvudpandport161tcpdump:listeningoneth0,link-typeEN10MB(Ethernet),capturesize96bytes16:50:07.035719IP(tos0x0,ttl64,id32494,offset0,fla…

    2022年10月2日
    0

发表回复

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

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