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

第五单元 用python学习微积分(三十五)幂级数和泰勒级数下

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

第五单元 用python学习微积分(三十五)幂级数和泰勒级数下

本文内容来自于学习麻省理工学院公开课:单变量微积分-期末复习-网易公开课

Bullseye:第五单元 用python学习微积分(三十四)泰勒级数

Bullseye:第三单元 用python学习微积分(十九)FTC2(下)和定积分在对数和几何上的应用

目录

一、幂级数(Power series)

1、复习

(1)有一个数字R, ​编辑, 当 |x| < R , 级数的和是收敛的, 当 |x| > R , 级数的和是发散的,R就被称作衰减半径。

(2)当 |x| < R,也就是在收敛半径内部,f(x) 可以无限次就导,就像多项式求导。同时有 ​编辑。

(3)可以写成: ​编辑

2、例1 几何级数

​3、求取sin(x)

4、新的幂级数

(1)乘法

​(2)求导

(3)积分

(4)变量替换


一、幂级数(Power series)

多项式是幂级数的一个例子

1、复习

(1)有一个数字R, , 当 |x| < R , 级数的和是收敛的, 当 |x| > R , 级数的和是发散的,R就被称作衰减半径。

(2)当 |x| < R,也就是在收敛半径内部,f(x) 可以无限次就导,就像多项式求导。同时有 。

(3)可以写成:

2、例1 几何级数

假设有

由于

( R=1 )

使用泰勒公式展开

import numpy as np 
from sympy import *
import matplotlib.pyplot as plt 
figure, ax= plt.subplots( 1 ) 
ax.set_aspect( 1 ) 
def DrawXY1(xFrom,xTo,steps,expr,color,label,plt, arrow =False):
    yarr = []
    xarr = np.linspace(xFrom ,xTo, steps) 
    for xval in xarr:
        #print(expr.subs(x,xval), xval)
        yval = expr.subs(x,xval)
        yarr.append(yval)
    y_nparr = np.array(yarr) 
    x_nparr = np.array(xarr) 
    length = len (xarr)
    
    plt.plot(x_nparr, y_nparr, c=color, label=label)  
    if(arrow and steps > 2):
        plt.arrow(float(x_nparr[0]),float( y_nparr[0]),float( x_nparr[2]-x_nparr[0]),float( y_nparr[2]-y_nparr[0]), width=.02, color = color) 
        
def DrawXY(tFrom,tTo,steps,exprX,exprY, color,label,plt, arrow =False):
    xarr = []
    yarr = []
    tarr = np.linspace(tFrom ,tTo, steps) 
    for tval in tarr:
        xval = exprX.subs(t,tval)
        xarr.append(xval)
        yval = exprY.subs(t,tval)
        yarr.append(yval)
    y_nparr = np.array(yarr) 
    x_nparr = np.array(xarr) 
    length = len (xarr)
    
    plt.plot(x_nparr, y_nparr, c=color, label=label)  
    if(arrow and steps > 2):
        plt.arrow(float(x_nparr[0]),float( y_nparr[0]),float( x_nparr[2]-x_nparr[0]),float( y_nparr[2]-y_nparr[0]), width=.02, color = color) 


x = symbols('x')

expr = 1/(x+1)

DrawXY1(-0.5,2,50,expr,color='c', label=' 1/(x+1)',plt = plt, arrow = False)
DrawXY1(-3.5,-1.5,50,expr,color='c', label=' 1/(x+1)',plt = plt, arrow = False)


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

​3、求取sin(x)

我们知道,当 f(x) =sin(x) 有 f'(x) = cos(x), f''(x) = -sin(x), f'''(x) = -cos(x)...

4、新的幂级数

(1)乘法

x = symbols('x')
expr = x*sin(x)
DrawXY1(0,100,50,expr,color='c', label='x*sin(x)',plt = plt, arrow = True)
plt.legend(loc='lower right')
plt.show()

​(2)求导

cos(x) = sin'(x)

这与上一章中用泰勒级数展开cos(x)的结果相同

(3)积分

由例一中几何级数展开可知

由积分计算可知

所以有

由于使用的几何级数展开,同时几何级数的收敛半径为1

这个级数的收敛级数也是1

R=1

(4)变量替换

由上一章内容可知

( )

误差函数:

( )

老师课上曾经讲过误差函数, 请参考下面课程Bullseye:第三单元 用python学习微积分(十九)FTC2(下)和定积分在对数和几何上的应用https://zhuanlan.zhihu.com/p/469921631

用幂级数展开

x = symbols('x')
expr =  1-x**2 + x**4/2  - x**6/6  
DrawXY1(-1,1,150,expr,color='c', label='e**(-x**2)',plt = plt, arrow = false)
plt.legend(loc='lower right')
plt.show()

​

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

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

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