栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

第二单元 用python学习微积分(十八)微积分第二基本定理

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

第二单元 用python学习微积分(十八)微积分第二基本定理

本文内容来自于学习麻省理工学院公开课:单变量微积分-微积分第二基本定理-网易公开课

一、反向来看FTC1

FTC1:如果F'(x) = f(x),

反向来看:

用 f 来理解 F 和 F'

F' 的信息可以推导出 F 的信息

1、比较FTC1和均值定理

......(这里是 f 的平均值)

不等式说明:

......(这里F' 和 f 是一回事儿,没有区别)

那为啥这个平均值不是F的平均值而是 F'的平均值呢?

因为这个式子是求f(x) 从 a 到 b 的累加

老师举了个例子

a=0, b=n

等式的左边是离散的均值,而右边是连续的均值。(个人感觉不是很好的例子)

个人认为积分其实是f(x)与x轴围成的图形的面积和,可以把它想成无数个很瘦的长方形组成的图形, 因此当把这个图形分成n等分的时候,每一份的函数值相加求平均( ,矩形高的平均)之后再乘以x轴的覆盖范围(如 中的b-a,矩形底边长),就可以得到一个近似的面积值即 , 而显然当 , 所以

from sympy import *
import numpy as np 

import matplotlib.pyplot as plt 

fig = plt.figure()
ax = fig.add_subplot(1, 1, 1)
ax.spines['left'].set_position('zero')
ax.spines['bottom'].set_position('zero')
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
ax.xaxis.set_ticks_position('bottom')
ax.yaxis.set_ticks_position('left')
ax.set_aspect(1 ) 

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

def DrawRects(xFrom,xTo,steps,expr,color,plt, label=''):
    width = (xTo - xFrom)/steps
    xarrRect = []
    yarrRect = []
    area = 0
    xprev = xFrom
    yvalAll =  0
    for step in range(steps):
        yval = expr.subs(x,xprev + width)
        xarrRect.append(xprev)
        xarrRect.append(xprev)
        xarrRect.append(xprev + width)
        xarrRect.append(xprev + width)
        xarrRect.append(xprev)
        yarrRect.append(0)
        yarrRect.append(yval)
        yarrRect.append(yval)
        yarrRect.append(0)
        yarrRect.append(0)
        area += width * yval
        plt.plot(xarrRect, yarrRect, c=color)    
        xprev= xprev + width
        yvalAll += yval
    print('============================')    
    if len(label)!=0:
        print(label)    
    print('============================')
    print('width = ', width)
    print('ave = ', yvalAll / steps)
    print('area = ',area)
    areaFinal = (integrate(expr, (x,xFrom,xTo)))
    print ('area final = ',areaFinal)
    print ('ave final = ', areaFinal / (xTo - xFrom))

def TangentLine(exprY,x0Val,xVal):
    diffExpr = diff(exprY)
    x1,y1,xo,yo = symbols('x1 y1 xo yo')
    expr = (y1-yo)/(x1-xo) - diffExpr.subs(x,x0Val)
    eq = expr.subs(xo,x0Val).subs(x1,xVal).subs(yo,exprY.subs(x,x0Val))
    eq1 = Eq(eq,0)
    solveY = solve(eq1)
    return xVal,solveY

def DrawTangentLine(exprY, x0Val,xVal1, xVal2, clr, txt):
    x1,y1 = TangentLine(exprY, x0Val, xVal1)
    x2,y2 = TangentLine(exprY, x0Val, xVal2)
    plt.plot([x1,x2],[y1,y2], color = clr, label=txt)
    
def Newton(expr, x0):
    ret = x0 - expr.subs(x, x0)/ expr.diff().subs(x,x0)
    return ret

   
x = symbols('x')
expr = x


DrawXY(0,10,10,expr,'blue','',plt)
DrawRects(0,10,10,expr,'green',plt)


#plt.legend(loc='lower right')
plt.show()

FTC1

均值定理 (MVT)

二、考试练习

1、

均值定理暗示了A < F(4) < B, 求A, B.

(根据均值定理,这里 大于0, x的范围(0,4) 所以F是递增的)

(根据均值定理 0

FTC1:

(int_{0}^{4}frac{dx}{1+4} = frac{1}{5}int_{0}^{4}dx = frac{4}{5})" src="https://latex.codecogs.com/gif.latex?%5Cint_%7B0%7D%5E%7B4%7D%5Cfrac%7Bdx%7D%7B1+x%7D%20%3E%20%28%5Cint_%7B0%7D%5E%7B4%7D%5Cfrac%7Bdx%7D%7B1+4%7D%20%3D%20%5Cfrac%7B1%7D%7B5%7D%5Cint_%7B0%7D%5E%7B4%7Ddx%20%3D%20%5Cfrac%7B4%7D%7B5%7D%29" />

这里不是很明白为啥要计算这个, 可能实际应用中需要类似这样计算不等式

很显然根据换元法

u = 1+x, du = dx

几何图形:

x = symbols('x')
expr = 1/(1+x)

DrawXY(0,4,100,expr,'green','f(x) = 1/(1+x)',plt)
DrawRects(0,4,50,expr,'green',plt, 'f(x) = 1/(1+x)')

expr = 1*x**0
DrawXY(0,4,100,expr,'blue','f(x) = 1',plt)
DrawRects(0,4,1,expr,'blue',plt,'f(x) = 1')

expr = 1/(5*x**0)
DrawXY(0,4,100,expr,'red','f(x) = 1/5',plt)
DrawRects(0,4,1,expr,'red',plt,'f(x) = 1/5')

plt.legend(loc='lower right')
plt.show()

Upper and Lower riemann sum

从图形上很容易看出这个面积的大小关系,这个大的蓝色矩形其实就是积分求和时取函数最大值,并只分出一个矩形(也叫Upper RS ),这个小的红色的矩形就是积分求和时取函数最小值,并只分出一个矩形(也叫Lower RS )

老师这时说基于以上这些,基本可以避免使用均值定理,因为有这样的更好的方法,用简单的积分就可以得到均值定理得到的任何边界。

三、微积分第二基本定理(FTC2)

1、定义:如果函数 f 是连续的,同时 , 同时a, x 计算时看作常量),就有 G'(x) = f(x)

2、用途:G(x) 可以用来解如下微分方程组

(必要条件)

老师表示微分方程并不总是能解,但是有以上前提,则微分方程总有解

3、例题

(1)、

这里老师的解法是:

在FTC2中由于

后面老师对这道例题的补充:

4、证明

由上图 ,这个G(x)就是箭头所指位置,曲线f(x)在(0,a)区间与x轴围成的面积,考虑 , 上图中dG就是红色填充部分,当 很小时,这部分图形相似于矩形,而这个矩形的高就是箭头所指的 y = f(x) , 而它的面积等于底边x高,也就是 , ,

( f是连续的, 因为需要f有有效值 )

,则有

四、微积分第一基本定理(FTC1)的证明

F' = f ( f 是连续的 )

根据FTC2 G'(x) = f(x) , F' = f

(c是常数)

由 , 把 b 和 a 分别代入

五、FTC2的重点

由FTC2, (下标为1是因为 L(1) = 0)

由FTC2造就很多新的函数:

比如 钟形函数在(0,x) 和 x轴围成的面积不能被任何其他函数表现, 由于它已经完全超越了代数的范畴,所以他被称为超越函数。

这里试一下

x = symbols('x')
expr = np.e**(-x**2)

DrawXY(0,2,100,expr,'green','f(x) =np.e**(-x**2)',plt)
DrawRects(0,2,50,expr,'green',plt, 'f(x) = np.e**(-x**2)')

从上面的结果可以看到这个面积的值是无法用代数方法计算的, 只能用更多的分割矩形来做近似计算

另外老师提到了 ,这是个超越数,不能用代数表示,另外e也是超越数。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/740134.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号