我正在乱写一些SymPy代码来处理带有虚数的符号表达式. 首先,我想让它将x和y作为实数,并找到x = iy的解决方案.所以我可以这样做. x, y = sympy.symbols("x y", real=True) print(sympy.solve([x-sympy.I*y])) (SymPy求得一个值列表,所有值必须为0.所以x-iy = 0 => x = iy). Sym
我正在编写一个程序,用户需要能够使用包含numpy和scipy函数的自编数学函数,例如. scipy.special.wofz(). 这些函数将存储在文件中,并由程序作为字符串导入.我环顾四周,看到eval()或exec()不是一种安全的方法. 例如. here. 安全问题是好的用户从访问好用户系统的恶意用户加载文件.
我正在使用深色背景进行ipython.我想用LaTeX打印漂亮的同情表达.问题是当前的LaTeX字体是黑色的.如何在ipython终端中更改LaTeX字体颜色?解决方法:您可以在sympy.init_printing中设置forecolor和backcolor选项.例如,要以蓝色打印方程式,请使用 In [1]: init_printing(forecolor="Bl
可以说我想打印一些类似的东西 “我是pi” pi应该是希腊字母pi.有了同情,我能做到 import sympy from sympy.abc import pi sympy.pprint(pi) 这给了希腊字母pi,但我把它放到文本中有问题.例如 sympy.pprint("I am"+pi) 显然不起作用.我可以将文本转换为同情符号sympy.Symbol(
我正在尝试编写一段python脚本,以便在土木工程中出现的某些液压问题中自动执行相当耗时的任务. 等式来自Colebrook-White,如下: 我写了以下代码: from math import * from sympy import * e = 0.2 d = 0.2 v = 0.00000131 q = 10 s = ( pi * d ** 2 ) / 4 u = q
我正在研究一个带有电路模拟器ahkab的应用程序,长话短说我需要用1j * w代替一些方程中的laplace变量s.对我来说,使用符号名称而不是符号本身来执行此替换和其他替换更方便.我遇到了一些奇怪的行为. 如果你这样做 >>> x = Symbol('x') >>> y = Symbol('y') >>> expr =
如果我有一定数量的基本特征并且从它们生成适度的多项式特征顺序,那么知道特征数组preprocess_XX的哪一列对应于基本特征的哪个变换会让人感到困惑. 我曾经做过类似下面的事情,使用旧版sklearn(可能是0.14?): import numpy as np from sympy import Symbol from sklearn.preprocessi
我试图通过使用梯形规则来解决sin(x)函数的泰勒近似的积分.代码似乎很好,但它一直给我以下错误:“TypeError:’添加’对象不可调用” 这是我的代码: import math import numpy import sympy as sy import numpy as np from sympy.functions import sin,cos import matplotlib.p
所以在python中我有以下代码,取自this answer: import matplotlib.pyplot as plt import sympy x = sympy.symbols('x')
我在运行El Capitan的Mac上安装了Python 2.7和3.5.而且,我使用pymp包装Sympy(用pip安装).我想用Pypy运行我的代码(与自制软件一起安装)但似乎Pypy找不到Sympy并说: “No module named sympy” 我根本不是专家,不知道现在该做什么. Sympy适用于python 2和3,但不适用于Pypy. 我感谢
如何从SymPy给出的微分方程的解来评估常数C1和C2?初始条件f(0)= 0且f(pi / 2)= 3. >>> from sympy import * >>> f = Function('f') >>> x = Symbol('x') >>> dsolve(f(x).diff(x,2)+f(x),f(x)) f(x) == C1*sin(x) + C2*cos(x) 我尝试了一些ics东
我对SymPy很新,并且可能是一个基本问题.或者我可能只是误解了SymPy应该如何使用. 有没有办法创建一个不是由原子表示的表达式,而是通过其他表达式的组合? 例: >>> from sympy.physics.units import * >>> expr1 = m/s >>> expr2 = mile/hour >>> expr1 m/s >>> expr2 1397*m/(3125*s
我对可以推断自己时间复杂性的编程语言感兴趣.为此,以某种方式以编程方式表示时间复杂度将非常有用,这将允许我执行以下操作: f_time = O(n) g_time = O(n^2) h_time = O(sqrt(n)) fastest_asymptotically = min(f_time, g_time, h_time) # = h_time total_time = f_time.inside(
我正在做一个非常简单的概率计算,从A-Z集合获得X,Y,Z的子集(具有相应的概率x,y,z). 并且由于非常繁重的公式,为了处理它们,我试图使用sympy简化(或收集或因素 – 我不知道确切的定义)这些多项式表达式. 所以…有这个(一个非常简单的概率计算表达式,从A-Z的集合获得X,Y,Z的子集,具有
这是我正在使用的代码: def initFunction(arg1, arg2): def funct(value): return arg1 * arg2 * value return funct os.system("taskset -p 0xff %d" % os.getpid()) pool = Pool(processes=4) t = np.linspace(0,1,10e3) a,b,c,d,e,f,g,h = sy.symbols
我正在尝试使用以下python代码解决一组方程式(当然使用SymPy): def Solve(kp1, kp2): a, b, d, e, f = S('a b d e f'.split()) equations = [ Eq(a+b, 2.6), Eq(2*a + b + d + 2*f, 7), Eq(d + e, 2), Eq(a*e,kp2*b*d), Eq( ((b * (f**0.5)
我正在尝试使用sympy执行以下集成; x = Symbol('x') expr = (x+3)**5 integrate(expr) 我期待的答案是: 但是返回的是: 以下代码适用于MATLAB: syms x y = (x+3)^5; int(y) 我不确定为了使用sympy执行此操作我做错了什么.解决方法:这实际上是在微积分中看到的常见问题,对于这些
计算pi的同情的数字背景是什么? 我知道SymPy在后台使用mpmath,这使得可以使用任意精度算法执行计算.这样,一些特殊的常量,如e,pi,oo,被视为符号,可以用任意精度进行评估. 但Sympy如何确定任意数量的小数位? Sympy如何在数字上做到这一点?解决方法:mpmath使用Chudnovsky公式(https://en
有没有办法使用sympy绘制3变量隐式方程.按文档进行,它只支持隐式2d图.或者是否有任何其他选项可以使用python绘制3d绘图,其中等式可以是来自用户的输入解决方法:我正在将我的评论转化为答案.我建议使用mayavi和contour3d来完成这项任务.您始终可以将隐式函数重写为f(x,y,z)= 0.对于
使用sympy,我定义符号, a, b, c = sympy.symbols(['a', 'b', 'c']) 然后,当我尝试解决以下方程组时, sympy.solve([sympy.Eq(b - a**2.552 - c), sympy.Eq(a, 2)]) 我得到了解决方案, [{b: c + 5.86446702875684, a: 2.00000000000000}] 但是,当我试图解决时, sympy.solve([
在SymPy中,是否可以对无限积分应用限制并对其进行评估? import sympy from sympy.abc import theta y = sympy.sin(theta) Y_indef = sympy.Integral(y) Y_def = sympy.Integral(y, (theta, 0, sympy.pi / 2)) Y_def.evalf()产生一个数字. 我正在寻找像Y_indef.evalf((theta,0,s
A具有以下矩阵,例如: 我想做一些矩阵操作而不添加数字,因为它们可能会有所不同,我想从中得到一般方程式. 我怎样才能得到类似的东西.如果我想做乘法或简单的操作似乎很好,但似乎没有什么工作的逆. 我试过很多像: from sympy import * from numpy import matrix from numpy import li
我试图从时间相关的旋转矩阵RE(t)(即纬度48.3°的地球自转)计算velocity tensor.这是通过确定偏斜对称矩阵SE(t)= dRE(t)/ dt * RE.T来实现的.使用float而不是Sympy表达式时,我得到的结果不正确,如下例所示: from IPython.display import display import sympy as sy sy.init_prin
我正在研究一个大小为QxQ的符号雅可比矩阵J.该矩阵的每个系数包含Q个符号,从f [0]到f [Q-1]. 我想要做的是用已知值g [0]到g [Q-1](不再是符号)替换J的每个系数中的每个符号.我发现最快的方法如下: for k in range(Q): J = J.subs(f[k], g[k]) 但是,我觉得这个“基本”操作很
我想测试特定类型的随机矩阵在有限域上是否可逆,特别是F_2.我可以使用以下简单代码测试矩阵在实数上是否可逆. import random from scipy.linalg import toeplitz import numpy as np n=10 column = [random.choice([0,1]) for x in xrange(n)] row = [column[0]]+[random.choice(