美文网首页
Scmpy符号运算学习笔记

Scmpy符号运算学习笔记

作者: Lewisbase | 来源:发表于2018-05-04 09:52 被阅读21次

导入

from __future__ import division
from sympy import *
x,y,z=symbols('x,y,z')
k,m,n=symbols('k,m,n',integer=Ture)
f,g,h=map(Function,'fgh')

数字表达式

符号

symbols(),var()函数用于赋值,可通过关键词指定假设条件。

var("x0,y0,x1,y1")
x=symbols("x",positive=True)

数值,运算符与函数

符号运算

表达式变换和化简

simplify()用于对数学表达式进行化简;
radsimp()对表达式的分母进行有理化;
expand()根据用户设置的标志参数对表达式进行展开;
factor()对多项式进行因式分解;

simplify((x+2)**2-(x+1)**2)
radsimp(1/(sqrt(5)+2*sqrt(2)))
expand(sin(x+y),trig=True)
factor(15*x**2+2*y-3*x-10*x*y)

方程

在Sympy中,表达式可以直接表示为值为0的方程。也可以使用Eq()创建方程。solve()可以对方程进行符号求解,其第一个参数为方程的表达式,其后的参数为未知变量。

a,b,c = symbols("a,b,c")
solve(a*x**2+b*x+c,x)

微分

Derivative是表示导函数的类,它的第一个参数是需要进行求导的数学函数,第二个参数是求导的自变量。但并不会进行求导运算。

t = Derivative(sin(x),x)
t
>>> D(sin(x),x)

如果希望进行实际的运算,可调用其doit()方法:

t.doit()
>>> cos(x)

也可以直接使用diff()函数或表达式的diff()方法来计算:

diff(sin(2*x),x)
>>> 2*cos(2*x)
sin(2*x).diff(x)
>>> 2*cos(2*x)

添加更多的符号参数表示高阶导数:

diff(sin(2*x),x,x)
>>> -4*sin(2*x)

多个变量表示n阶偏导

diff(sin(x*y),x,2,y,3)
>>> x*(x**2*y**2*cos(x*y)+6*x*y*sin(x*y)-6*cos(x*y))

微分方程

dsolve()可以对微分方程进行符号求解。第一个参数是带未知函数的表达式,第二个参数是需要进行求解的未知函数。

f=Function("f")
dsolve(Derivation(f(x),x)-f(x),f(x))
>>> f(x) == C1*exp(x)

积分

integrate()可以计算定积分和不定积分

  • integrate(f,x): 计算不定积分
  • integrate(f,(x,a,b): 计算定积分
  • integrate(f,x,y): 计算双重不定积分
  • integrate(f,(x,a,b),(y,a,b)): 计算双重定积分

计算定积分时,可以用oo表示正无穷

integrate(sin(x),x)
>>> -cos(x)

Derivative对象表示微分表达式类似,Integral对象表示积分表达式:

e=Integral(x*sin(x),x)
>>> e

as_sum()方法可以将定积分转换为近似求和公式,将积分区域分割成N个小矩形的面积之和:

Integral(sin(x),(x,0,1)).as_sum(5)
>>> sin(1/10)/5+sin(3/10)/5+sin(1/2)/5+sin(7/10)/5+sin(9/10)/5

相关文章

  • Scmpy符号运算学习笔记

    导入 数字表达式 符号 symbols(),var()函数用于赋值,可通过关键词指定假设条件。 数值,运算符与函数...

  • Python自学笔记Day7

    Python自学笔记——Day7 Python运算符 3. 赋值运算符 为Python变量提供赋值运算的符号 运算...

  • 05-Java运算符

    学习视频:Java运算符 一、运算符 定义:用来处理四则运算的符号符号:+(加) -(减) *(乘) /(除) %...

  • C++ 不允许重载的 5 个运算符是

    .* —— 成员指针访问运算符号 :: —— 域运算符 Sizeof —— 长度运算符号 ?: —— 条件运算符号...

  • Python自学笔记Day6

    Python自学笔记——Day6 Python运算符 1. 什么是运算符 运算符就是为数据提供运算连接的符号(操作...

  • 5.2Python数据处理篇之Sympy系列(二)---Symp

    目录 [TOC] 前言 符号化运算也是数值运算中的一个主要的领域,今天我们来学习以下,python里强大的符号运算...

  • #这里是拖延症的学习笔记

    # 这里是拖延症的学习笔记 简单的入门 ??????? C语言运算成分 ## 赋值符号 当两边类型不同 自动完成装...

  • 2018-05-10

    5月10号 上课的第八天。今天学习了C语言中的运算符号的使用,算术符号+,-,*,/,%。关系运算:<,>,==,...

  • 位移运算

    位移运算 无符号位移 >>> 无符号右移,无符号位运算用 0 补位 <<< 无符号左移 带符号位移 >> 带符号...

  • 算术运算符

    该系列文章只是个人在学习JS时做的一些笔记,看到直接关闭即可。 参考运算符号 加号 +、减号 -、乘号 *、除号 ...

网友评论

      本文标题:Scmpy符号运算学习笔记

      本文链接:https://www.haomeiwen.com/subject/onorrftx.html