sympy相关内容
我对 SymPy 当前的假设有一些疑问.查看这个线程.提示之一说使用假设模块(参考 此处). 我尝试进行以下计算 $\lim_{x \to \infty} \frac{\ln{x}}{x^k}$.我想评估 $k >0$ 的这个限制. 所以我尝试了这个: 假设(k>0):限制((日志(x))/(x**k),x,oo) 我也试过这个: eval(limit((log(x))/(x*
..
在动态系统中,我的基本值都是时间的函数,d(t).我创建变量 d 使用 d = Function('d')(t) where t = S('t') > 显然,d 的导数(速度等变化率)是很常见的.但是 diff(d(t)) 的默认打印给出:- 导数(d(t), t) 并在 ipython 中使用漂亮的打印(例如)可以提供更好看的版本:- d/dt (d(t)) 包含 d(t) 导数的函
..
我正在尝试进行一些基本的替换,但 SymPy 不想帮我 x, y, z, k = symbols("x y z k", positive=True, real=True)exp = x**4 + x**3 + x**2 + xwhat_im_expecting = 简化(y**(Rational(1/4)) + y**(Rational(3/4)) + sqrt(y) + y)what_i_ac
..
我有以下积分 x,x1,x2,t=symbols('x x1 x2 t')f=t*x1*x2*(x-t)**(-Rational('0.5'))整合(f,t).简化() 这个结果是一个分段函数 分段((2*sqrt(x)*x1*x2*(-I*t**2*sqrt((t - x)/x) - I*t*x*sqrt((t)- x)/x) + 2*t*x + 2*I*x**2*sqrt((t - x)
..
示例:让 M = Matrix([[1,2],[3,4]]) # 和p = Poly(x**3 + x + 1) # 那么p.subs(x,M).expand() 给出错误: 类型错误:无法添加 和 这是非常合理的,因为前两项成为矩阵,但最后一项(常数项)不是矩阵而是标量.为了补救这种情况,我将多项式更改为 p = Poly(x**3 + x + x**0) # 然后 同样的错
..
我在 python shell 中试过这个 >>>从 sympy 导入 sqrt>>>sqrt((-9/10 + 6*sqrt(3)/5)**2 + (6/5 + 9*sqrt(3)/10)**2)sqrt((-0.9 + 6*sqrt(3)/5)**2 + (1.2 + 9*sqrt(3)/10)**2) 当在谷歌中输入时: 那么我如何让 numpy 给我一个更简化的结果(它不会总
..
我正在使用带有 sympy 0.7.4.1 的 python3.我不知道如何保存解决方案以备将来使用(我在手册或谷歌上找不到任何有用的东西).例如,我有一些方程 eq1,eq2 和 t1+t2+t3==0,那么我可以通过 解方程 solve([t1+t2+t3,eq1,eq2],[t1,t2,t3] 但我想将解存储到 t1、t2、t3,以便我可以将它们用于其他操作.有没有简单的方法来实现这一
..
我如何在 Sympy 1.3 中进行区间运算?(特别是加法和乘法) 例如,给定: q1 = 间隔(0,255)q2 = 间隔(0,255) 这两个区间的相加应该是Interval(0, 510).(加号运算符被重载为“联合",因此 q1+q2 产生 Interval(0,255).) 如果我尝试 Add(q1, q2),我会得到一个异常: 回溯(最近一次调用最后一次):文件“
..
我使用 sympy 的 count_opt 作为估计 integrate 返回的 antiderivative 的大小(叶数)的方法. http://docs.sympy.org/latest/modules/core.html 我发现它在某些表达式上失败了.这是使用 sympy 1.1.1 Python 3.6.5 |Anaconda, Inc.|(默认,2018 年 4 月 2
..
我目前对 sympy 有以下“问题": 我有一个符号表达式,如 M = matrix([pi*a, sin(1)*b]) 我想 lambdify 并传递给一个数字优化器.问题是优化器需要函数来输入/输出形状为 (n,) 的 numpy 数组,特别是 NOT (n,1). 现在我已经能够使用以下代码 (MWE) 实现这一点: 将 numpy 导入为 np将 sympy 导入为 spa,
..
我已经在 sympylive 和我自己最近的 Anaconda iPython 'sympy version 0.7.4.1' 中尝试过这个,结果相同: m1,m2,r, F, G = 符号("m_1 m_2 r F_g G")G = Float("6.67e-8")rhs = (G * m1 * m2/r**2)eq = Eq(F, rhs)打印均衡器s=solve(eq, m1)印刷 给出
..
假设我有一个函数 f(x,y),我希望 f w.r.t 到 x 的偏导数显示为\partial_{x}^{n} f(x,y) 所以我创建了以下类 class D(sp.Derivative):def _latex(self,printer=None):func = printer.doprint(self.args[0])b = self.args[1]如果 b[1] == 1 :返回 r"\p
..
假设我创建了一个 SymPy 符号 x. import sympy as spx = sp.Symbol('x', 可交换 = False) 如何在不创建新符号的情况下将交换假设更改为 True?我试过了 with sp.assuming( sp.Q.commutative(x) ):打印( sp.ask( Q.commutative(x) ) ) 但它仍然给出False. 解决方案
..
我有一个读取非结构化网格的代码.我围绕 sympy.geometry 的几何实体编写了包装器,例如: class 要点:def __init__(self, x, y, parent_mesh):self.shape = sympy.geometry.Point(x,y)self.parent_mesh = parent_meshself.parent_cell = list() 一切正常,但
..
我正在使用 SymPy 对表达式进行符号操作,该表达式使用 NumPy 对大量数据进行评估.为了加快速度,我使用了 sympy.lambdify,但我无法让 abs 工作. import sympy将 numpy 导入为 npx = sympy.symbols('x',real=True)定义 f(x):返回 1-sympy.Abs(x)定义 g(x):返回 1-sympy.sqrt(x)fl
..
此代码: from sympy import *x = Symbol('x', positive=True)vp = Symbol('vp', positive=True)num = 积分( (vp*sin(x))**2, (x, 0, 2*pi))den = 积分( 1 , (x, 0, 2*pi))打印“数字=",数字打印 " den =",denvrms = sqrt(num/den)打印
..
我进行了以下导入: from sympy.matrices import Matrix as sy_matrix将 sympy.mpmath 导入为 sy_mp 像这样创建我的矩阵: sysMat = sy_matrix([[0.0]*sz1]*sz2)resVec = sy_matrix([[0.0]]*sz2) .Populate 然后用 python 复数(例如 1.0+1.0j)然
..
我想找到下面两个常量cons1和cons2的区间我写了以下代码 from sympy import Poly从 sympy 进口 Abs从 sympy.solvers.inequalities 导入 solve_rational_inequalities从 sympy.abc 导入 xcons1=2*((x+2)**2)-Abs(x)-1cons2=exp(2*x+1)-2.5solve_ra
..
我的 Sympy 脚本中有以下符号 e0 = Symbol('e0',commutative=False)e1 = Symbol('e1',commutative=False)e2 = Symbol('e2',commutative=False)e3 = Symbol('e3',commutative=False)u = Symbol('u',commutative=False)d0 = Sym
..
我正在尝试使用 SymPy 库来查找两个函数之间的交点: f(x) = e ^ (x/2) 和 g(x) = 3 - 3 * x 我试过了: import sympy as sypx = syp.symbols('x')f_x = syp.E ** (x/2)g_x = 3 - 3 * x打印(syp.nsolve(f_x,g_x,x)) syp.nsolve(f_x, g_x,
..