gpt4 book ai didi

python - 在 numpy meshgrid 上评估 sympy lambdify 的结果

转载 作者:行者123 更新时间:2023-11-28 17:43:12 26 4
gpt4 key购买 nike

我想在 numpy mgrid 上评估 sympy.lambdify 的输出。我尝试了以下方法:

import sympy as sp
import numpy as np


theta, v = sp.symbols("theta v")
coeff = (-sp.sin(theta/2)*sp.sin(2*v) + sp.sin(v)*sp.cos(theta/2) + 3)
kb = sp.Matrix([[coeff*sp.cos(theta),
coeff*sp.sin(theta),
sp.sin(theta/2)*sp.sin(v) + sp.sin(2*v)*sp.cos(theta/2)]])
f = sp.lambdify((theta, v), kb, modules='numpy')
f(*np.mgrid[0:2*np.pi:101j, 0:2*np.pi:101j])

但我收到一条错误消息,指出矩阵必须是二维的。

最佳答案

我找到了解决方案。

import sympy as sp
import numpy as np


theta, v = sp.symbols("theta v")
coeff = (-sp.sin(theta/2)*sp.sin(2*v) + sp.sin(v)*sp.cos(theta/2) + 3)
kb = sp.Matrix([[coeff*sp.cos(theta),
coeff*sp.sin(theta),
sp.sin(theta/2)*sp.sin(v) +
sp.sin(2*v)*sp.cos(theta/2)]])

f = sp.lambdify((theta, v), kb, [{'ImmutableMatrix': np.array}, "numpy"])
x, y = np.mgrid[0:2*np.pi:101j, 0:2*np.pi:101j]
g = f(x, y)
x, y, z = g[0]

关于python - 在 numpy meshgrid 上评估 sympy lambdify 的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21830112/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com