我目前正在使用Sympy来帮助我执行数学计算。现在,我正在尝试执行数值积分,但每次运行脚本时都会出现错误。下面是脚本:
from sympy import *
cst = { 'qe':1.60217646*10**-19, 'm0':N(1.25663706*10**-6) }
d = 3.6*10**-2
l = 20.3*10**-2
n = 217.0
I = 10.2
# Circum of loops
circ = l/n;
# Radius
r = N( circ/(2*pi) )
# Flux through a ring a distanc
我正在设置IPython,以便在启动时自动加载Sympy并配置它的输出方法。但是,无论我尝试什么,我都无法初始化latex/unicode样式的输出打印。
采取的步骤:
ipython3 create profile sympy
# this is where the profile was created
cd ~/.config/ipython/profile_sympy/startup
gedit 00-startup.py
# add some content (below)
sudo chmod a+x 00-startup.py
启动脚本:
import sympy
sympy.i
我想知道是否有一种方法可以在python代码中输入符号函数?
就像在我的代码中,我有:
from sympy import *
import numpy as np
import math
myfunction = input("enter your function \n")
l = Symbol('l')
print myfunction(l**2).diff(l)
如果我把cos、sin或exp作为输入,那么我的输出是:-2*l*sin(l**2)
如果我想让输入函数更通用,比如多项式或复函数,或者cos,sin和exp的组合函数呢?
我正在尝试将Octave 4.2.2与Symbolic pkg v.2.9.0一起使用,但我得到了这个错误,这是与渐近包相关的:
Your kit looks good for running the Symbolic package. Happy hacking!
>>
>> syms
Symbolic variables in current scope:
>> a = sym( "a" );
Symbolic pkg v2.9.0: /home/usuario/.local/lib/python3.6/site-packages/s
我想对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
所以我和Sympy一起努力构建一个通用的物理问题求解器/生成器。其中一个部分是,我要找一个函数,它将取kwargs,根据它得到的,重新排列方程,并替换它中的值。幸亏如此,我终于找到了我需要的东西。
但是.我尝试过将sympy.solve放在一个for循环中来生成所有这些表达式,然后我遇到了.某物。
import sympy
R, U, I, eq = sympy.symbols('R U I eq')
eq = R - U/I
for x in 'RUI':
print(x)
print(sympy.solve(eq, x))
输出?
R
[U/
我正在编写一个计算导数和积分的代码。为此,我分别使用sympy和scipy.integrate。但这种使用会导致一种奇怪的错误行为。下面是再现这种行为的最低限度代码:
from scipy.integrate import quadrature
import sympy
import math
def func(z):
return math.e**(2*z**2)+3*z
z = symbols('z')
f = func(z)
dlogf_dz = sympy.Lambda(z, sympy.log(f).diff(z))
print(dlogf_dz)
pri
当尝试绘制一个介于-360和360之间的正弦函数图时,我遇到了一个奇怪的散点图输出,它看起来相当时髦。有人知道这会是什么吗?它实际上是散点图的sin图的近似值,还是其他的东西? 我的代码如下: from sympy import sin, cos, pi
import matplotlib.pyplot as plt
sin_values = []
cos_values = []
for value in range((-360),(360)):
sin_values.append(sin(value))
#cos_values.append(cos(value))
p
当我使用scipy.stats.norm时,为什么Sympy抛出类型错误?我怎么才能解这个方程呢?
from sympy import Eq, Symbol, solve, Piecewise
from scipy.stats import norm
import numpy as np
x = Symbol('x')
eqn = Eq((x-0.2)/0.3, norm.cdf((np.log(100/110) + x**2/2)/x))
print(solve(eqn))
输出:
TypeError: cannot determine truth value of Re
1为什么上面的源代码可以用来创建一个情节,但是下面的源代码却不能?
你能告诉我一个有表比较(matplotlib)和(SymPy绘图模块)的网站吗?
3(Matplotlib)到(SymPy绘图模块)转换器和一个(SymPy绘图模块)到matplotlib转换器将是有帮助的。
from sympy import *
def define_fn(n):
def fn(x):
if n <= x <= n + 1:
return float(x) - n
elif n + 1 <= x <= n
我使用SymPy表达式来计算表达式,比如a + 3 * b,然后我想用Z3来验证它(例如,所有正a, b的a + 3 * b > 0 )。
我找不到用a, b对象替换SymPy符号的方法,在一般情况下,用Z3对象替换Z3符号。
import sympy
from z3 import *
a = sympy.Symbol('a')
b = sympy.Symbol('b')
t = Real('t')
w = Real('w')
e = a + 3 * b
e = e.subs({a:t, b:w}) # does n
所以我想编写代码,使用数值逼近方法,我需要函数及其导数,所以我这样做了: import numpy as np
import sympy as sym
import math
x = Symbol('x')
fx = lambda x:math.tan(2*(x-5*math.pi/2))-x
f = math.tan(2*(x-5*math.pi/2))-x
dfx = lambdify (x,f.diff(x)) 这就是错误,以前我使用多项式函数时,它是有效的: TypeError Traceb
我正在尝试使用以下代码在python中求解一个方程:
import math
from math import * # cos, sin, asin, sqrt, radians, pi, tanh, log, exp
import time
from sympy import *
from sympy.solvers import solve
m = 0.2; d = 0.08; A = 0.25*math.pi*(d**2); g = 9.80665; Cd = 0.47; P = 1.145; H = 15; Vdr = 5; Vwx = 1; Vwz = 1;
t = symb
在我的研究中,我找不到与分段函数中的关系值相关的任何例子。虽然我收到了uni_dis方法的上下值,但我仍然停留在将这些值传递到分段函数的过程中。理由是什么呢?
from sympy import Symbol, Piecewise
import sympy as sym
import sympy.plotting as syp
import math
a = Symbol('a')
b = Symbol('b')
x = Symbol('x')
function = 1 / abs(a-b)
def uni_dis(lower, upper)
但是,我正试图允许用户输入sin(x) - y来使用SymPy设置一个等式,但是,在输入此代码时,它将返回:
TypeError:无法将表达式转换为浮动
我目前的代码是:
import numpy as np
import sympy as sp
import math
from math import sin, cos, tan
x, y = sp.symbols('x y')
literalEq = input("Enter equation")
eq = eval(literalEq)
我刚开始使用SymPy,你能帮我一下吗?
希望通过代码获得一些指导,我对python非常陌生,在我的代码中使用修改后的贝塞尔函数k0时遇到了困难。实际代码分为两部分
1)第一节采用渐近法求解t,并在x0上返回t=0的值。
2)第二部分用这个值x0来求解x的不同值的t。
在第二步,我遇到了困难-- scipy.special.k0函数似乎不适用于指定的已解x0值,我不知道为什么
from __future__ import division
import sympy as sy
from sympy import besselk, log, nsolve
import math
import n