python3乘法函数 python乘法怎么用( 二 )


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))
自定义函数
def list_to_frac(l):
expr = Integer(0)
for i in reversed(l[1:]):
expr += i
expr = 1/expr
return l[0] + expr
list_to_frac([x, y, z])结果为x + 1/z,这个结果是错误的 。
syms = symbols('a0:5'),定义syms,得到的结果为(a0, a1, a2, a3, a4) 。
【python3乘法函数 python乘法怎么用】这样也可以a0, a1, a2, a3, a4 = syms,可能是我的操作错误。发现python和自动缩进有关,所以一定看好自动缩进的距离 。list_to_frac([1, 2, 3, 4])结果为43/30 。
使用cancel可以将生成的分式化简,frac = cancel(frac)化简为一个分数线的分式 。
(a0*a1*a2*a3*a4 + a0*a1*a2 + a0*a1*a4 + a0*a3*a4 + a0 + a2*a3*a4 + a2 + a4)/(a1*a2*a3*a4 + a1*a2 + a1*a4 + a3*a4 + 1)
a0, a1, a2, a3, a4 = syms定义a0到a4,frac = apart(frac, a0)可将a0提出来 。frac=1/(frac-a0)将a0去掉取倒 。frac = apart(frac, a1)提出a1 。
help("modules"),模块的含义,help("modules yourstr")模块中包含的字符串的意思 。,
help("topics"),import os.path + help("os.path"),help("list"),help("open")
# -*- coding: UTF-8 -*-声明之后就可以在ide中使用中文注释 。
定义
l = list(symbols('a0:5'))定义列表得到[a0, a1, a2, a3, a4]
fromsympyimport*
x,y,z=symbols('x y z')
init_printing(use_unicode=True)
diff(cos(x),x)求导 。diff(exp(x**2), x),diff(x**4, x, x, x)和diff(x**4, x, 3)等价 。
diff(expr, x, y, 2, z, 4)求出表达式的y的2阶,z的4阶,x的1阶导数 。和diff(expr, x, y, y, z, 4)等价 。expr.diff(x, y, y, z, 4)一步到位 。deriv = Derivative(expr, x, y, y, z, 4)求偏导 。但是不显示 。之后用deriv.doit()即可显示
integrate(cos(x), x)积分 。定积分integrate(exp(-x), (x, 0, oo))无穷大用2个oo表示 。integrate(exp(-x**2-y**2),(x,-oo,oo),(y,-oo,oo))二重积分 。print(expr)print的使用 。
expr = Integral(log(x)**2, x),expr.doit()积分得到x*log(x)**2 - 2*x*log(x) + 2*x 。
integ.doit()和integ = Integral((x**4 + x**2*exp(x) - x**2 - 2*x*exp(x) - 2*x -
exp(x))*exp(x)/((x - 1)**2*(x + 1)**2*(exp(x) + 1)), x)连用 。
limit(sin(x)/x,x,0),not-a-number表示nan算不出来,limit(expr, x, oo), , expr = Limit((cos(x) - 1)/x, x, 0) , expr.doit()连用 。左右极限limit(1/x, x, 0, '+'),limit(1/x, x, 0, '-') 。。
Series Expansion级数展开 。expr = exp(sin(x)),expr.series(x, 0, 4)得到1 + x + x**2/2 + O(x**4),,x*O(1)得到O(x),,expr.series(x, 0, 4).removeO()将无穷小移除 。exp(x-6).series(x,x0=6),,得到

推荐阅读