我想在一个图形中绘制来自sympy的多个函数,但又具有matplotlib的功能。(所以我可以做图例,等等)有一篇文章here展示了如何做到这一点。当一个图包含像Heaviside()这样的东西时,我的问题就出现了。 在这里,我定义了三个不同的函数来绘制: from sympy import *
x = symbols('x')
a = x
b = x*(x-1/2)
c = x*Heaviside(x-1/2) 我可以像这样用matplotlib绘制a和b: line1, line2 = plot((a,(x,0,1)), (b,(x,0,1)), show = Fals
我需要象征性地操作一个函数,然后对函数进行数值积分。如何在integrand函数中正确使用表达式f。如果这样做是明智的,我该如何正确地使用lambdify?非常感谢。
from sympy import *
import scipy.integrate as integrate
r = symbols('r') #define symbol
f = diff(r*r) #carry out symbolic manipulation
def integrand(x):
我尝试了这段代码,但是我得到了一个错误。如果可能的话,请告诉我如何修改定义的funct代码
from sympy.abc import x
from sympy import *
init_printing()
def func(y):
if y>0:
return 1
elif y<0:
return -1
else:
return 0
s = fourier_series(func(x), (x, -1, 1))
s = s.truncate(n=4)
s
"TypeError:无法确定关系的真值
我想用matplotlib制作一个图形,而且我对类Intern操作有问题。这是一项功能:
def makeGraphic(self, f, root):
plt.rcParams['axes.unicode_minus'] = False
fig = plt.figure(figsize=(6, 4)) # Nuevo lienzo
# Use el método axisartist.Subplot para crear un objeto de área de dibujo ax
ax = axisarti
所以我想编写代码,使用数值逼近方法,我需要函数及其导数,所以我这样做了: 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
我正在编写一个计算导数和积分的代码。为此,我分别使用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
我正在尝试使用numba.cuda在GPU上运行任意的渐近lambdify函数。到目前为止,由于numba.jit允许函数返回值,但numba.cuda.jit不允许返回值(numba.cuda.jit内核不能返回值),我在每一步都会遇到错误。这可能源于我对numba工作方式的根本误解,但文档中的示例有些稀少,我尝试修改每个给定的示例,试图做我想做的事情,但没有结果。
我尝试过的例子:
非数据自动化系统jit函数(works)
import sympy
from sympy.abc import y
import numba
f = sympy.lambdify(y, sympy.sin(y
我正在阅读一篇关于Bloom过滤器( )的文章,其中为最优哈希函数的数量导出了一个表达式。我想重现m = n这一简化情况的计算,也就是说,我想确定函数的最小值。
(1-exp(-x))**x
从文章中看,这应该发生在x = ln(2)。我尝试在sympy中这样做,如下所示:
In [1]: from sympy import *
In [2]: x, y, z = symbols('x y z')
In [3]: init_printing(use_unicode=True)
In [8]: from sympy.solvers import solve
In [9]
我有一个项目,我想用mayavi绘制一些SymPy操作的结果。特别是,我想使用contour3d中的一些函数。这是我想出来的,但它不起作用
#!/usr/bin/env python2
from sympy import *
from mayavi.mlab import *
from functools import partial
import numpy as np
def XYZ(f, xp, yp, zp):
return f.evalf(subs={x:xp,y:yp,z:zp})
x, y, z = symbols('x y z')
r=x**2+y*
我想执行一个包含渐近符号变量的卷积,然后将其转换为numpy数组。 我的MWE是: from numpy import pi, float64, linspace
from scipy.signal import fftconvolve
import matplotlib.pyplot as plt
from sympy import symbols
from sympy.utilities.lambdify import lambdify
a = 0.657
b = 0.745
c = 0.642
d = 0.343
x = symbols('x')
f = 2*b /
我正在尝试使用一个简单的线性函数,拉格朗日插值多项式来插值数据。我已经设法得到了所需的方程,但是,我不能计算出如何逐段绘制它。我确实明白使用渐近并不是最好的方法,但我是一个新手,我想看看我的方程式是什么样子的。 我如何在matplotlib中绘制它,而不需要在最后手动键入方程式? import numpy as np
import matplotlib.pyplot as plt
import sympy as sym
x = sym.Symbol('x')
year = np.arange(1960,2020,10)
pop = [179323,203302,22654
我试图绘制一个方程,但由于上面提到的错误,我似乎做不到。
这是代码的一个片段,应该自己工作:
import numpy as np
from numpy import linspace
from sympy import *
import matplotlib.pyplot as plt
x , t = symbols('x t')
test = simplify(-(0.02631027*sin(3*x)+0.1594*cos(3*x))*exp(-1*x))
test_f = lambdify([x], test, modules="sympy")
#
我有一个下面的代码:
p = classp();
for i in range(1,10):
x = numpy.array([[2],[4],[5]])
print p.update(x)
class classp:
def __init__(self):
self.mymodel = array([2*x[1]], [3*x[0]], [x[2]]);
def update(self, x):
return self.mymodel #replace x(0)...x(1) with the given parameter
我的问题与上
下面是代码:导入内容 import numpy as np
import sympy as sp
from sympy import symbols, diff
from mpl_toolkits.mplot3d import axes3d
import matplotlib.pyplot as plt 定义函数及其导数 t = symbols('t')
B = sp.exp(t)
f = sp.diff(B, t)
print(f) 绘图设置 fig1 = plt.figure(1)
ax1 = fig1.gca(projection='3d')
x
我在使用渐近模块计算定积分时遇到了一些问题。当我尝试运行以下代码时,程序无法完成。问题似乎来自于这样一个事实,即积分边界包括方程中的变量。它一直在运行,并且永远不能求解方程。我能够通过使用不同的边界来求解方程,但这不是我要做的。如果你有任何建议或建议,我很乐意倾听。谢谢你的帮助。
import sympy
import numpy as np
from scipy.integrate import quad
import matplotlib.pyplot as plt
sympy.init_printing()
Q, eta, phi, kappa, lamb, beta, T0, T1,
我试图用同情来计算,但我似乎不知道如何支持除法:
from sympy import Symbol, lambdify
a = Symbol('a')
b = Symbol('b')
c = a * b
lambdified = lambdify(c.args, c)
value = lambdified(a=2, b=3)
print(value)
x = Symbol('x')
y = Symbol('y')
z = x / y
lambdified_2 = lambdify(z.args, z)
value_2 =
我有几个未定义函数的表达式,其中一些包含该函数的相应(未定义)导数。函数及其导数都只作为数值数据存在。我想从我的表达式中生成函数,然后使用相应的数值数据调用该函数,以数值计算该表达式。不幸的是,我遇到了lambdify的问题。
考虑下面的简化示例:
import sympy
import numpy
# define a parameter and an unknown function on said parameter
t = sympy.Symbol('t')
s = sympy.Function('s')(t)
# a "normal"
我正在尝试绘制函数sin(x)/x和它的泰勒近似。我使用python 3和pyzo -第一个图可以工作,但我在将来自sympy模块的级数转换为一个可以工作的numpy表达式时遇到问题。
import numpy as np
import matplotlib.pyplot as plt
import sympy as sp
from sympy.abc import x
x = np.linspace(-10, 10, 100)
y = np.sin(x)/x #first function
plt.plot(x, y, 'k') #this is working fine