如何求取渐近表达式中的系数
b = sympy.Symbol('b')
a = sympy.Symbol('a')
x = sympy.Symbol('x')
y = 2*x**3 + a*x**2 +b*x
其结果应该是:
coeff for x**3 =2 coeff for x**2 = a coeff for x = b
我想使用Sympy多项式,但我也想使用更高精度的系数。
这么做似乎给了我sympy.core.numbers.float系数的多项式。
import sympy
from sympy import Poly
from sympy.abc import x
from gmpy2 import mpfr, get_context
get_context().precision = 150
#float64 can't tell this from 1.0
one_and_change = mpfr('1.0000000000000000000000000000000000001
我正在使用sympy进行一些象征性的数学操作。
首先创建矩形脉冲序列的傅里叶级数表示(占空比< 50%),然后尝试访问乘法因子,即标准傅里叶级数的a_n和b_n。
简而言之:
import sympy as sy
from sympy import fourier_series, pi, cos, sin
from sympy.abc import t
from sympy.functions.special.delta_functions import Heaviside
T = sy.symbols('T')
s = fourier_series(Heaviside(
from sympy import Sum, Eq
from sympy.abc import n,x
import random
def polynomial(x):
i = 0
def random_value(i):
return random.choice([i for i in range(-10,10) if i not in [0]])
eq = Sum(random_value(i)*x**n, (n,0,random_value(i)))
display(Eq(eq,eq.doit(), evaluate=False))
po
我有这样的代码,其中交感函数被传递到一个列表中:
if name == "sqrt":
func.append(sympy.sqrt)
elif name == "abs":
funcs.append(sympy.Abs)
elif name == "sin":
funcs.append(sympy.sin)
elif name == "cos":
funcs.append(sympy.cos)
elif name ==
我想对lambdify的exp进行抨击,但是当我试图在sympy.Symbol上评估函数时,我遇到了一些有趣的问题。这
import sympy
t = sympy.Symbol('t')
f = sympy.lambdify(t, t**2)
f(t) # no problem
很好,但是这个
t = sympy.Symbol('t')
f = sympy.lambdify(t, sympy.exp(t))
f(t)
给出
AttributeError: 'Symbol' object has no attribute 'exp
为什么num_den_to_sympy(b, a)和sy.simplify(sy.expand(tf))不一样?扩展版本包含一个附加的s ** 4,我不知道它是从哪里来的。
import numpy as np
import sympy as sy
from scipy.signal import *
from IPython.display import display
sy.init_printing()
def num_den_to_sympy(num, den, symplify=True):
s = sy.Symbol('s')
G = sy.Po
您可以使用is_negative属性检查数字是否为负数,但是这将返回符号的None。我希望能够检查符号前面是否有负号。我可以这样做:
from sympy import Symbol
x = Symbol("-G")
if str(x)[0] == "-":
print("Value is preceded by a minus sign")
但是,有比仅仅查看符号的字符串表示更好的方法吗?
我在下面的代码中定义了两个方程f1(b,bb) =0和f2(b,bb) =0。我试图找到满足这两个条件的(b,bb)集。 import sympy as sp
from sympy import symbols, simplify, factor
a, b, aa, bb, q, l, h = symbols('a b aa bb q l h')
pb = l*q+h*(1-q)
pb0 = (l*(1-l)*q+h*(1-h)*(1-q))/((1-l)*q+(1-h)*(1-q))
pb1 = (l**2*q+h**2*(1-q))/(l*q+h*(1-q))
a =
我有sympy.poly,我想共轭所有系数。这是很容易做到的,但是我如何从新的单调式和系数中重新组合多项式呢?
MWE:
from sympy import symbols, poly, I
x = symbols("x")
p = poly(x ** 2 + I, [x])
print(p.coeffs())
conj_coeffs = [c.conjugate() for c in p.coeffs()]
print(conj_coeffs)
# poly(p.coeffs(), p.monoms()) ??
[1, I]
[1, -I]
如果我想将一个浮点传递给mpmath.mpf并使用mp.findroot查找根,我会遇到一些麻烦。
这个问题延续了前一个问题的故事:
import sympy
omega = sympy.symbols('omega')
from sympy import I
import mpmath as mp
import numpy as np
# Definition of simplified function
def function(omega):
return sympy.Poly((-1.16*omega**4), omega)
# This function
我正在解决的数学问题在不同的情况下给出了不同的解析解,我想在一个很好的表格中总结结果。IPython笔记本很好地呈现了列表:例如:
import sympy
from pandas import DataFrame
from sympy import *
init_printing()
a, b, c, d = symbols('a b c d')
t = [[a/b, b/a], [c/d, d/c]]
t
但是,当我使用DataFrame将答案汇总到表中时,就不能再呈现数学了:
df = DataFrame(t, index=['Situation 1