文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Python 中Sympy如何使用

2023-06-20 20:09

关注

Python 中Sympy如何使用,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

1、表达式与表达式求值:

#--------多项式求解--------#定义变量x=sympy.Symbol('x')fx=5*x+4#使用evalf函数传值y1=fx.evalf(subs={x:6})print(y1)
#多元表达式x=sympy.Symbol('x')y=sympy.Symbol('y')fx=x*x+y*yresult=fx.evalf(subs={x:3,y:4})print(result)

       2、函数方程求解:

#解方程 有限解#定义变量x=sympy.Symbol('x')y=sympy.Symbol('y')fx=x*3+9#可求解直接给出解向量print(sympy.solve(fx,x))
#解方程无穷多解#定义变量x=sympy.Symbol('x')y=sympy.Symbol('y')fx=x*3+y**2#得到是x与y的关系式,print(sympy.solve(fx,x,y))
#解方程组#定义变量x=sympy.Symbol('x')y=sympy.Symbol('y')f1=x+y-3f2=x-y+5sympy.solve([f1,f2],[x,y])

求和 

Python 中Sympy如何使用

import sympy#定义变量n=sympy.Symbol('n')f=2*n#前面参数放函数,后面放变量的变化范围s=sympy.summation(f,(n,1,100))print(s)

解带有求和式的方程 :  

Python 中Sympy如何使用   

#解释一下,i可以看做是循环变量,就是x自己加五次#先定义变量,再写出方程x=sympy.Symbol('x')i=sympy.Symbol('i')f=sympy.summation(x,(i,1,5))+10*x-15result=sympy.solve(f,x)print(result)

         4、求极限(注意,math包中sin和很多数学函数会报错,要用sympy中的,无穷大用 sympy.oo 表示)

Python 中Sympy如何使用

#求极限使用limit方法#定义变量与函数x=sympy.Symbol('x')f1=sympy.sin(x)/xf2=(1+x)**(1/x)f3=(1+1/x)**x#三个参数是 函数,变量,趋向值lim1=sympy.limit(f1,x,0)lim2=sympy.limit(f2,x,0)lim3=sympy.limit(f3,x,sympy.oo)print(lim1,lim2,lim3)

           5、求导 

#求导使用diff方法x=sympy.Symbol('x')f1=2*x**4+3*x+6#参数是函数与变量f1_=sympy.diff(f,x)print(f1_) f2=sympy.sin(x)f2_=sympy.diff(f2,x)print(f2_) #求偏导y=sympy.Symbol('y')f3=2*x**2+3*y**4+2*y#对x,y分别求导,即偏导f3_x=sympy.diff(f3,x)f3_y=sympy.diff(f3,y)print(f3_x)print(f3_y)

           6、求定积分

Python 中Sympy如何使用

#求定积分用 integrate方法x=sympy.Symbol('x')f=2*x#参数传入 函数,积分变量和范围result=sympy.integrate(f,(x,0,1))print(result)

          上面的求法有点烂,难的就罢工不干了,我丢,还是喜欢scipy,如下: http://liao.cpython.org/scipy18/  scipy 还能解决很多数值计算,包括多重积分。 

from scipy import integratedef f(x):    return x + 1v, err = integrate.quad(f, 1, 2)# err为误差print (v)

 以下计算多重积分: 

Python 中Sympy如何使用

#求多重积分,先求里面的积分,再求外面的x,t=sympy.symbols('x t')f1=2*tf2=sympy.integrate(f1,(t,0,x))result=sympy.integrate(f2,(x,0,3))print(result)

        7、求不定积分

Python 中Sympy如何使用    

#求不定积分其实和定积分区别不大x=sympy.Symbol('x')f=(sympy.E**x+2*x)f_=sympy.integrate(f,x)print(f_)

         8、数学符合补充:

#数学符合#虚数单位isympy.I#自然对数低esympy.E#无穷大sympy.oo#圆周率sympy.pi#求n次方根sympy.root(8,3)#求对数sympy.log(1024,2)#求阶乘sympy.factorial(4)#三角函数sympy.sin(sympy.pi)sympy.tan(sympy.pi/4)sympy.cos(sympy.pi/2)

         9、公式展开与折叠 

x=sympy.Symbol('x')#公式展开用expand方法f=(1+2*x)*x**2ff=sympy.expand(f)print(ff)#公式折叠用factor方法f=x**2+1+2*xff=sympy.factor(f)print(ff)

         10、公式分离与合并(分数的分离与合并)

x=sympy.Symbol('x')y=sympy.Symbol('y')#公式展开用apart方法,和expand区别不是很大,常用于分数进行分离f=(x+2)/(x+1)ff=sympy.apart(f)print(ff)#公式折叠用tegother方法f=(1/x+1/y)ff=sympy.together(f)print(ff)

表达式简化

#simplify( )普通的化简simplify((x**3 + x**2 - x - 1)/(x**2 + 2*x + 1))#trigsimp( )三角化简trigsimp(sin(x)/cos(x))#powsimp( )指数化简powsimp(x**a*x**b)

看完上述内容,你们掌握Python 中Sympy如何使用的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注编程网行业资讯频道,感谢各位的阅读!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯