python3的sympyprint(“字符串”),5/2和5//2的结果是不同的5/2为2.5,5//2为2.
python2需要导入from_future_import division执行普通的除法 。
1/2和1//2的结果0.5和0.
%号为取模运算 。
乘方运算为2**3,-2**3和-(2**3)是等价的 。
from sympy import*导入库
x,y,z=symbols('x y z'),定义变量
init_printing(use_unicode=True)设置打印方式 。
python的内部常量有pi ,
函数simplify,simplify(sin(x)**2 + cos(x)**2)化简结果为1,
simplify((x**3 + x**2 - x - 1)/(x**2 + 2*x + 1))化简结果为x-1 。化简伽马函数 。simplify(gamma(x)/gamma(x - 2))得(x-2)(x-1) 。
expand((x + 1)**2)展开多项式 。
expand((x + 1)*(x - 2) - (x - 1)*x)
因式分解 。factor(x**2*z + 4*x*y*z + 4*y**2*z)得到z*(x + 2*y)**2
from_future_import division
x,y,z,t=symbols('x y z t')定义变量,
k, m, n = symbols('k m n', integer=True)定义三个整数变量 。
f, g, h = symbols('f g h', cls=Function)定义的类型为函数 。
factor_list(x**2*z + 4*x*y*z + 4*y**2*z)得到一个列表,表示因式的幂 , (1, [(z, 1), (x + 2*y, 2)])
expand((cos(x) + sin(x))**2)展开多项式 。
expr = x*y + x - 3 + 2*x**2 - z*x**2 + x**3,collected_expr = collect(expr, x)将x合并 。将x元素按阶次整合 。
collected_expr.coeff(x, 2)直接取出变量collected_expr的x的二次幂的系数 。
cancel()is more efficient thanfactor().
cancel((x**2 + 2*x + 1)/(x**2 + x))
,expr = (x*y**2 - 2*x*y*z + x*z**2 + y**2 - 2*y*z + z**2)/(x**2 - 1) , cancel(expr)
expr = (4*x**3 + 21*x**2 + 10*x + 12)/(x**4 + 5*x**3 + 5*x**2 + 4*x),apart(expr)
asin(1)
trigsimp(sin(x)**2 + cos(x)**2)三角函数表达式化简,
trigsimp(sin(x)**4 - 2*cos(x)**2*sin(x)**2 + cos(x)**4)
trigsimp(sin(x)*tan(x)/sec(x))
trigsimp(cosh(x)**2 + sinh(x)**2)双曲函数 。
三角函数展开,expand_trig(sin(x + y)),acos(x),cos(acos(x)),expand_trig(tan(2*x))
x, y = symbols('x y', positive=True)正数,a, b = symbols('a b', real=True)实数,z, t, c = symbols('z t c')定义变量的方法 。
sqrt(x) == x**Rational(1, 2)判断是否相等 。
powsimp(x**a*x**b)幂函数的乘法,不同幂的乘法,必须先定义a和b 。powsimp(x**a*y**a)相同幂的乘法 。
powsimp(t**c*z**c),注意,powsimp()refuses to do the simplification if it is not valid.
powsimp(t**c*z**c, force=True)这样的话就可以得到化简过的式子 。声明强制进行化简 。
(z*t)**2,sqrt(x*y)
第一个展开expand_power_exp(x**(a + b)),expand_power_base((x*y)**a)展开,
expand_power_base((z*t)**c, force=True)强制展开 。
powdenest((x**a)**b),powdenest((z**a)**b),powdenest((z**a)**b, force=True)
ln(x) , x, y ,z= symbols('x y z', positive=True),n = symbols('n', real=True),
expand_log(log(x*y))展开为log(x) + log(y),但是python3没有 。这是因为需要将x定义为positive 。这是必须的,否则不会被展开 。expand_log(log(x/y)),expand_log(log(x**n))
As withpowsimp()andpowdenest(),expand_log()has aforceoption that can be used to ignore assumptions 。
expand_log(log(z**2), force=True),强制展开 。
logcombine(log(x) + log(y)),logcombine(n*log(x)),logcombine(n*log(z), force=True) 。
factorial(n)阶乘,binomial(n, k)等于c(n,k),gamma(z)伽马函数 。
hyper([1, 2], [3], z) ,
tan(x).rewrite(sin)得到用正弦表示的正切 。factorial(x).rewrite(gamma)用伽马函数重写阶乘 。
expand_func(gamma(x + 3))得到,x*(x + 1)*(x + 2)*gamma(x),
hyperexpand(hyper([1, 1], [2], z)),
combsimp(factorial(n)/factorial(n - 3))化简,combsimp(binomial(n+1, k+1)/binomial(n, k))化简 。combsimp(gamma(x)*gamma(1 - x))
自定义函数
推荐阅读
- 学html5用什么书比较好,html5哪本书好
- 外卖新人如何做推广的,外卖需要怎么去推广
- ios主屏幕字体怎么换,苹果手机怎样在主屏幕上设置字体
- 营销如何组建团队,组建营销团队方案范文
- p0flinux命令 linux floppy
- 手机视频信息费是什么,手机视频信息费是什么意思
- jquery中局部刷新,javascript局部刷新
- 微信如何开启视频直播权限,微信视频怎么开直播美颜功能
- 包含哪些软件是vb.net的词条