python sympy数学工具库

1 Sympy数据工具库

1.1 绘制函数2d图形

from sympy import *
x = Symbol(‘x’)
p2=plotting.plot(sin(x),(x,-10,10))
在这里插入图片描述

x=Symbol(‘x’)
y=tan(x)
p=plotting.plot(y,grid=True,legend=True,xlim=[-3,3], ylim=[-7,7])
在这里插入图片描述

1.2 多函数绘图

x = Symbol(‘x’)
p=plotting.plot(sin(x),cos(x),2*sin(x),legend=True,show=False)
p[0].line_color=‘b’
p[1].line_color=‘r’
p.show()
在这里插入图片描述

1.3 绘制函数3d图形

x = Symbol(‘x’)
y = Symbol(‘y’)
p3=plotting.plot3d((x2+y2),(x,-10,10),(y,-10,10))
在这里插入图片描述

1.4 因式分解

x=Symbol(‘x’)
expr=x**3+1
factor(expr)
在这里插入图片描述

1.5 表达式展开

x=Symbol(‘x’)
y=Symbol(‘y’)
expr=(x+1)(x**2-x+1)(y+1)*(y**2-y+1)
expand(expr)
在这里插入图片描述

1.6 解方程

x=Symbol(‘x’)
expr=x**2+5*x+4
solve(expr)
在这里插入图片描述

1.7 解方程组

x=Symbol(‘x’)
y=Symbol(‘y’)
expr1=x+y-4
expr2=x2+y3-28
solve((expr1,expr2))

1.8 解参数方程

x=Symbol(‘x’)
a=Symbol(‘a’)
b=Symbol(‘b’)
c=Symbol(‘c’)
expr=ax**2+bx+c
solve(expr,x)
在这里插入图片描述

1.9 解多项式不等式

x=Symbol(‘x’)
expr=-x**2+4<0
solve_poly_inequality(Poly(expr.lhs,x),expr.rel_op)
在这里插入图片描述

x=Symbol(‘x’)
expr=-x**2+4<=0
solve_poly_inequality(Poly(expr.lhs,x),expr.rel_op)
在这里插入图片描述

1.10 解有理不等式

x=Symbol(‘x’)
expr=((x+1)/(x+2))>0
lhs=expr.lhs
numer,denom=lhs.as_numer_denom()
p1=Poly(numer)
p2=Poly(denom)
rel=expr.rel_op
solve_rational_inequalities([[((p1,p2),rel)]])
在这里插入图片描述

1.11 解通用不等式

x=Symbol(‘x’)
expr=sin(x)-0.6>0
solve_univariate_inequality(expr,x,relational=False)
在这里插入图片描述

x=Symbol(‘x’)
expr=sin(x)-cos(x)>0
solve_univariate_inequality(expr,x,relational=False)

在这里插入图片描述
也有解不了的
在这里插入图片描述

1.12 求极限

x=Symbol(‘x’)
Limit((2x+1)/(3x+5),x,S.Infinity).doit()
在这里插入图片描述

x=Symbol(‘x’)
Limit((2x+1)/(3x+5),x,3).doit()

在这里插入图片描述

x=Symbol(‘x’)
Limit((2sin(x))/(3x),x,0).doit()
在这里插入图片描述

x=Symbol(‘x’)
Limit((1+1/x)**x,x,S.Infinity).doit()
在这里插入图片描述

1.13 函数求导

x=Symbol(‘x’)
Derivative(x*sin(x)+cos(x),x).doit()
在这里插入图片描述

x=Symbol(‘x’)
Derivative(x*sin(x)*exp(x)+cos(x),x).doit()
在这里插入图片描述

x=Symbol(‘x’)
Derivative(axsin(b*x)*exp(x)+cos(x),x).doit()
在这里插入图片描述

在这里插入图片描述

1.14 导数特定处的值

x=Symbol(‘x’)
y=Derivative(xsin(x)+cos(x),x).doit()
y,y.subs({x:2
math.pi})
在这里插入图片描述

1.15 高阶导数

说明:第三个参数为求导阶数
x=Symbol(‘x’)
Derivative(x*sin(x)+cos(x),x,2).doit()
在这里插入图片描述

1.16 求积分

x=Symbol(‘x’)
k=Symbol(‘k’)
expr=Integral(k*x,x)
expr,expr.doit(),expr.doit().subs({x:3})
在这里插入图片描述

x=Symbol(‘x’)
k=Symbol(‘k’)
k=2
expr=Integral(k*x,(x,2,4))
expr,expr.doit()
在这里插入图片描述

x=Symbol(‘x’)
y=Symbol(‘y’)
k=Symbol(‘k’)
k=2
expr=Integral(kx,(x,2y,4*y))
expr,expr.doit()
在这里插入图片描述

1.17 求概率分布

x=Symbol(‘x’)
p=exp(-(x-10)**2/2)/sqrt(2*pi)
Integral(p,(x,10,3)).doit()
在这里插入图片描述

x=Symbol(‘x’)
p=exp(-(x-10)**2/2)/sqrt(2*pi)
Integral(p,(x,10,3)).doit().evalf()

在这里插入图片描述
备注:evalf()为求数值解

  • 0
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值