Python之高等数学的符号求解
1.求极限
#高等数学求极限
from sympy import *
x=symbols('x')
print(limit(sin(x)/x,x,0))
print(limit(pow(1+1/x,x),x,oo)) #小写字母oo代表正无穷
运行结果:
1
E
2.求导
from sympy import *
x,y=symbols('x y') #构造符号变量
z=sin(x)+x**2*exp(y) #构造符号表达式
print("关于x的二阶偏导数:",diff(z,x,2))
print("关于y的一阶偏导数:",diff(z,y,1))
运行结果:
关于x的二阶偏导数: 2exp(y) - sin(x)
关于y的一阶偏导数: x**2exp(y)
3.级数求和
#级数求和
from sympy import *
k,n=symbols('k n')
print(summation(k**2,(k,1,n)))
print(factor(summation(k**2,(k,1,n)))) #把所得结果因式分解
print(summation(1/k**2,(k,1,oo)))
运行结果:
4,泰勒展开
#泰勒展开
#写出sinx在0点处的3,5,7阶泰勒展开,
#在同一个图形界面画出sinx及上述各阶泰勒展开式在[0,2]的图形from pylab import rc
from sympy import *
rc('font',size=16)
#rc('text',usetex=True)x=symbols('x') #构造符号变量
y=sin(x) #构造符号表达式for k in range(3,8,2):print(series(y,x,0,k)) #3,5,7
#for k in range(3,8,2):print(y.series(x,0,k))
plot(y,series(y,x,0,3).removeO(),series(y,x,0,5).removeO(),series(y,x,0,7).removeO(),(x,0,2),xlabel='$x$',ylabel='$y$')
运行结果:
- 不定积分和定积分
#不定积分和定积分from sympy import *
#from sympy import integrate,symbols,sin,pi,oo
x=symbols('x')
print(integrate(sin(2*x),(x,0,pi)))
print(integrate(sin(x)/x,(x,0,oo)))
运行结果:
0
pi/2
6.求代数方程的符号解
#求代数方程的符号解from sympy import *
x,y=symbols('x y')print(solve(x**3-1,x))
print(solve((x-2)**2*(x-1)**3,x))
print(roots((x-2)**2*(x-1)**3,x)) #得到根的重数信息 {解:重数}'''
x^3=1
解:原式=(x-1)(x^2+x+1)=0
x-1=0 =>x=1
x^2+x+1=0(由求根公式)=>x=(-1±√3i)/2
'''
运行结果:
[1, -1/2 - sqrt(3)*I/2, -1/2 + sqrt(3)*I/2]
[1, 2]
{2: 2, 1: 3}
7.代数方程组
from sympy import *
#from sympy import solve 3#等价from sympy.abc import x,y
#x,y=symbols('x y') #等价s=solve([x**2+y**2-1,x-y],[x,y])print("方程组的解:",s)
运行结果:
方程组的解: [(-sqrt(2)/2, -sqrt(2)/2), (sqrt(2)/2, sqrt(2)/2)]
8.求驻点以及最大值
from sympy import *
x=symbols('x') #符号变量
y=2*x**3-5*x**2+x #符号表达式
x0=solve(diff(y,x),x) #求驻点print("驻点的精确解为:",x0)
print("驻点的浮点数表示为:",[x0[i].n() for i in range(len(x0))])
y0=[y.subs(x,0),y.subs(x,1),y.subs(x,x0[0]).n()] #代入两个端点以及应该驻点的数值print("这三个数分别为:",y0)
print('\n')
print("最大值为:",max(y0))
运行结果:
驻点的精确解为: [5/6 - sqrt(19)/6, sqrt(19)/6 + 5/6]
驻点的浮点数表示为: [0.106850176076554, 1.55981649059011]
这三个数分别为: [0, -2, 0.0522051838383851]
最大值为: 0.0522051838383851
9.求微分方程通解
#求微分方程(方程组)的符号解from sympy import *
x=symbols('x')
y=symbols('y',cls=Function)eq1=diff(y(x),x,2)-5*diff(y(x),x,1)+6*y(x)
eq2=diff(y(x),x,2)-5*diff(y(x),x,1)+6*y(x)-x*exp(2*x)print("齐次方程的解",dsolve(eq1,y(x)))
print("非齐次方程的解",dsolve(eq2,y(x)))
运行结果:
齐次方程的解 Eq(y(x), (C1 + C2*exp(x))exp(2x))
非齐次方程的解 Eq(y(x), (C1 + C2*exp(x) - x**2/2 - x)exp(2x))
求微分方程的符号解
from sympy import *
x=symbols('x')
y=symbols('y',cls=Function)eq1=diff(y(x),x,2)-5*diff(y(x),x)+6*y(x)
eq2=diff(y(x),x,2)-5*diff(y(x),x)+6*y(x)-x*exp(2*x)print("初值问题的解:{}".format(dsolve(eq1,y(x),ics={y(0):1,diff(y(x),x).subs(x,0):0})))y2=dsolve(eq2,y(x),ics={y(0):1,y(2):0})print("边值问题的解:{}".format(y2))
运行结果:
初值问题的解:Eq(y(x), (3 - 2*exp(x))exp(2x))
边值问题的解:Eq(y(x), (-x**2/2 - x + 3*exp(x)/(-1 + exp(2)) + (-4 + exp(2))/(-1 + exp(2)))exp(2x))
Python之高等数学的符号求解相关推荐
- php工程师用的到高等数学吗,学习Python解决高等数学问题
Python解决高等数学问题,妈妈再也不用担心我的学习 使用Python解决高等数学中极限.导数.偏导数.定积分.不定积分.双重积分等问题Sympy是一个Python的科学计算库,它旨在成为功能齐全的 ...
- Python在高等数学和线性代数中的应用
Python在高等数学和线性代数中的应用 科学运算设计数值运算和符号运算,数值运算可以使用Numpy库和Scipy库,符号运算则可以使用Sympy工具库,数值计算的表达式.矩阵变量中不允许有未定义的自 ...
- 使用 Python 和 OpenCV 构建 SET 求解器
作者 | 小白 来源 | 小白学视觉 小伙伴们玩过 SET 吗?SET 是一种游戏,玩家在指定的时间竞相识别出十二张独特纸牌中的三张纸牌(或 SET)的模式.每张 SET 卡都有四个属性:形状.阴影/ ...
- python猜数字游戏简单-python猜数字游戏快速求解解决方案
python猜数字游戏快速求解解决方案.使用方法: 1. 保存代码为guessall.py 2. 执行python guessall.py > result.txt 3. 打开result.tx ...
- c++调用cplex求解例子_视频教程 | 用Python玩转运筹优化求解器IBM CPLEX(二)
编者按 优化求解器对于做运筹学应用的学生来说,意义重大. 然而直到今天,放眼望去,全网(包括墙外)几乎没有一个系统的Cplex中文求解器教程. 作为华人运筹学的最大的社区,『运筹OR帷幄』 责无旁贷, ...
- python猜数字游戏快速求解解决方案
python猜数字游戏快速求解解决方案 参考文章: (1)python猜数字游戏快速求解解决方案 (2)https://www.cnblogs.com/lijianming180/p/12037940 ...
- 【进阶四】Python实现(MD)HVRP常见求解算法——蚁群算法(ACO)
蚁群算法+Split 求解异构车辆路径规划问题 目录 信息传递 1. 适用场景 2. 求解效果 3. 代码分析 4. 数据格式 5. 分步实现 6. 完整代码 参考 信息传递 python实现6种智能 ...
- 【Python代码基础(符号篇2)】
Python里的特殊符号还有许多,今天带大家了解一下其他的符号. [1]换行继续符(\) 继续符是一个能让代码简洁符号,也就是说一行过多的语句可以被反斜杠分为几段. 代码举例: # check con ...
- python积分计算高等数学_Python与高等数学之Python与积分!用Python学数学
计算机科学的起源是为了解决数学问题,所以,在某种程度上,可以把计算机科学归为数学的一个分支.因此,可以通过使用Python程序来学习高等数学中的知识,如积分.微分等,反之,也可以通过解决数学问题深化P ...
- 【进阶二】Python实现(MD)VRPTW常见求解算法——自适应大邻域搜索算法(ALNS)
基于python语言,实现经典自适应大邻域搜索算法(ALNS)对(多车场)带有时间窗的车辆路径规划问题( (MD) VRPTW )进行求解. 目录 往期优质资源 1. 适用场景 2. 求解效果 3. ...
最新文章
- C#控制DataMax打印机问题总结
- 云计算与分布式的一些关键词
- Java基础IO流(五)RandomAccessFile
- 串口数据字节位的理解
- 关系数据库——mysql数据类型大总结
- [SCOI2009]生日礼物 单调性尺取法
- 12 SD配置-企业结构-分配-给销售范围分配销售办公室
- sts版本不同有影响吗_不同型号的手机充电器可以混用吗?会影响电池吗?
- 云端设计平台Coohom在生产环境中使用istio的经验与实践
- C盘不能新建文件的问题解决办法
- 潮流仿真分析matlab,基于MATLAB的电力系统潮流仿真与研究
- 使用JavaScript实现简单的小游戏-贪吃蛇
- 解决Echarts官网无法访问的问题
- 数据分析 超市条码_京东超市11.11酒类1分钟成交额破亿 持续夯实行业领先优势...
- 金沙滩开发板单片机学习笔记(2)
- lunces_CES降温 汽车巨头回归底特律
- 第一次用python编写的小程序
- 小米12、小米12x和小米12pro的区别
- 基因组学(Geonomics)
- openbugs软件初步使用