四行代码秒解微积分!Python 这个模块神了!

四行代码秒解微积分!Python 这个模块神了!

举一个简单的例子,比如说展开二次方程:

from sympy import *x = Symbol('x')y = Symbol('y')d = ((x+y)**2).expand()print(d)# 结果:x**2 + 2*x*y + y**2

登录后复制

你可以随便输入表达式,即便是十次方,它都能轻易的展开,非常方便:

from sympy import *x = Symbol('x')y = Symbol('y')d = ((x+y)**10).expand()print(d)# 结果:x**10 + 10*x**9*y + 45*x**8*y**2 + 120*x**7*y**3 + 210*x**6*y**4 + 252*x**5*y**5 + 210*x**4*y**6 + 120*x**3*y**7 + 45*x**2*y**8 + 10*x*y**9 + y**10

登录后复制

下面就来讲讲这个模块的具体使用方法和例子。

1.准备

请选择以下任一种方式输入命令安装依赖:

1. Windows 环境 打开 Cmd (开始-运行-CMD)。

2. MacOS 环境 打开 Terminal (command+空格输入Terminal)。

3. 如果你用的是 VSCode编辑器 或 Pycharm,可以直接使用界面下方的Terminal.

pip install Sympy

登录后复制

2.基本使用

简化表达式(化简)

sympy支持三种化简方式,分别是普通化简、三角化简、指数化简。

普通化简 simplify( ):

from sympy import *x = Symbol('x')d = simplify((x**3 + x**2 - x - 1)/(x**2 + 2*x + 1))print(d)# 结果:x - 1

登录后复制

三角化简 trigsimp( ):

from sympy import *x = Symbol('x')d = trigsimp(sin(x)/cos(x))print(d)# 结果:tan(x)

登录后复制

指数化简 powsimp( ):

from sympy import *x = Symbol('x')a = Symbol('a')b = Symbol('b')d = powsimp(x**a*x**b)print(d)# 结果:x**(a + b)

登录后复制

解方程 solve()

第一个参数为要解的方程,要求右端等于0,第二个参数为要解的未知数。

如一元一次方程:

from sympy import *x = Symbol('x')d = solve(x * 3 - 6, x)print(d)# 结果:[2]

登录后复制

二元一次方程:

from sympy import *x = Symbol('x')y = Symbol('y')d = solve([2 * x - y - 3, 3 * x + y - 7],[x, y])print(d)# 结果:{x: 2, y: 1}

登录后复制

求极限 limit()

dir=’+’表示求解右极限,dir=’-‘表示求解左极限:

from sympy import *x = Symbol('x')d = limit(1/x,x,oo,dir='+')print(d)# 结果:0d = limit(1/x,x,oo,dir='-')print(d)# 结果:0

登录后复制

求积分 integrate( )

先试试求解不定积分:

from sympy import *x = Symbol('x')d = integrate(sin(x),x)print(d)# 结果:-cos(x)

登录后复制

再试试定积分:

from sympy import *x = Symbol('x')d = integrate(sin(x),(x,0,pi/2))print(d)# 结果:1

登录后复制

求导 diff()

使用 diff 函数可以对方程进行求导:

from sympy import *x = Symbol('x')d = diff(x**3,x)print(d)# 结果:3*x**2d = diff(x**3,x,2)print(d)# 结果:6*x

登录后复制

解微分方程 dsolve( )

以 y′=2xy 为例:

from sympy import *x = Symbol('x')f = Function('f')d = dsolve(diff(f(x),x) - 2*f(x)*x,f(x))print(d)# 结果:Eq(f(x), C1*exp(x**2))

登录后复制

3.实战一下

有同学问了这个问题,“大佬们,我想问问,如果这个积分用Python应该怎么写呢,谢谢大家”:

四行代码秒解微积分!Python 这个模块神了!

# Python 实用宝典from sympy import *x = Symbol('x')y = Symbol('y')d = integrate(x-y, (y, 0, 1))print(d)# 结果:x - 1/2

登录后复制

为了计算这个结果,integrate的第一个参数是公式,第二个参数是积分变量及积分范围下标和上标。

运行后得到的结果便是 x – 1/2 与预期一致。

如果大家也有求解微积分、复杂方程的需要,可以试试sympy,它几乎是完美的存在。

以上就是四行代码秒解微积分!Python 这个模块神了!的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2242273.html

(0)
上一篇 2025年2月26日 20:52:47
下一篇 2025年2月18日 08:25:25

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • 聊聊Python的一个内置模块Collections

    1、模块说明 collections 是 Python 的一个内置模块,所谓内置模块的意思是指 Python 内部封装好的模块,无需安装即可直接使用。 collections 包含了一些特殊的容器,针对 Python 内置的容器,例如:li…

    2025年2月26日
    200
  • 细思恐极,插上 U 盘就开始执行 Python 代码

    一个突发奇想,当你把usb插进去的时候,能不能自动执行usb上的程序。查了一下,发现只有windows上可以,具体的大家也可以搜索(搜索关键词usb autorun)到。但是,如果我想,比如,当一个usb插入时,在后台自动把usb里的重要文…

    2025年2月26日 编程技术
    200
  • Python 文本终端 GUI 框架,太酷了

    Curses 首先出场的是 Curses[1]。 Curse Curses 是一个能提供基于文本终端窗口功能的动态库,它可以: 使用整个屏幕 创建和管理一个窗口 使用 8 种不同的彩色 为程序提供鼠标支持 使用键盘上的功能键 Curses …

    2025年2月26日 编程技术
    200
  • 浅谈Python当中Lambda函数的用法

    今天来给大家推荐一个Python当中超级好用的内置函数,那便是lambda方法,本篇教程大致和大家分享: 什么是lambda函数lambda函数过滤列表元素lambda函数和map()方法的联用lambda函数和apply()方法的联用什么…

    2025年2月26日
    200
  • 详细比对15款 Python 编辑器,请择优选用!

    写 Python 代码最好的方式莫过于使用集成开发环境(IDE)了。它们不仅能使你的工作更加简单、更具逻辑性,还能够提升编程体验和效率。 每个人都知道这一点。而问题在于,如何从众多选项中选择最好的 Python 开发环境。初级开发者往往面临…

    2025年2月26日 编程技术
    200
  • 使用Python构建电影推荐系统

    在日常数据挖掘工作中,除了会涉及到使用Python处理分类或预测任务,有时候还会涉及推荐系统相关任务。 推荐系统用于各个领域,常见的例子包括视频和音乐服务的播放列表生成器、在线商店的产品推荐器或社交媒体平台的内容推荐器。在这个项目中,我们创…

    2025年2月26日 编程技术
    200
  • 手把手使用 Python 删除 Windows 下的长路径文件

    0x01 文章背景 近期,笔者所在公司的某业务系统的存储临近极限,服务器马上就要跑不动了,由于该业务系统A包含多个子系统A1、A2、A3 … An,这些子系统的中间存储文件由于设计原因,都存储在同一个父级目录之内,唯一不同的是,…

    2025年2月26日
    200
  • 十个 Python 脚本来自动化你的日常任务

    在这个自动化时代,我们有很多重复无聊的工作要做。 想想这些你不再需要一次又一次地做的无聊的事情,让它自动化,让你的生活更轻松。 那么在本文中,我将向您介绍 10 个 Python 自动化脚本,以使你的工作更加自动化,生活更加轻松。 因此,没…

    2025年2月26日
    200
  • 四步打包一个新的 Python 模块

    当你安装一个应用程序时,你通常是在安装一个软件包,其中包含应用程序的可执行代码和重要文件,如文档、图标等。在 Linux上,软件一般被打包成 RPM 或 DEB 等格式,用户只要通过 ​​dnf​​​ 或者 ​​apt​​​ 等命令就可以进…

    2025年2月26日
    200
  • 我写的 Python 代码,同事都说好

    人生苦短,我用 Python。 程序员的追求就是不写代码,早日财务自由。不对,一不小心把实话说出来了,应该是将代码写得简洁,优雅。 Python 程序员的追求则是 Pythonic,正好在 Python 这门语言中,「隐藏」了特别多方法,可…

    编程技术 2025年2月26日
    200

发表回复

登录后才能评论