Python 通过应用Symphy函数计算数组的值会导致AttributeError

Python 通过应用Symphy函数计算数组的值会导致AttributeError,python,function,numpy,lambda,sympy,Python,Function,Numpy,Lambda,Sympy,我有一个数字数组,我想用一个简单的等式计算其中的值 import numpy as np import sympy as sym x_values = np.linspace(0, 2, 100) function = lambda x : 10*sym.sin(9*x) function(x_values) 我得到: AttributeError: 'ImmutableDenseNDimArray' object has no attribute 'could_extract_minus

我有一个数字数组,我想用一个简单的等式计算其中的值

import numpy as np
import sympy as sym

x_values = np.linspace(0, 2, 100)
function = lambda x : 10*sym.sin(9*x)
function(x_values)
我得到:

 AttributeError: 'ImmutableDenseNDimArray' object has no attribute 'could_extract_minus_sign'

你应该定义一个函数

  import numpy as   np
    import sympy as sym
    x_values = np.linspace(0, 2, 100)
    def function(x):
         lambda x : 10*sym.sin(9*x)
         return x

    print(function(x_values))
守则: 或者你可以这样做

import numpy as np
from sympy import sin
import pylab as pl
from sympy.abc import x
from sympy import Function
from sympy import *
x_values = np.linspace(0, 2, 100)


function = lambdify(x, 10*sin(9*x))
print(function(x_values ))

代码:

您可以使用
sympy.lambdify
执行此操作,如下所示:

import numpy as np
import sympy as sym

x = sym.symbols("x")
x_values = np.linspace(0, 2, 100)
function = sym.lambdify(x, 10*sym.sin(9*x), "numpy")
function(x_values)

我想出来了。。。应该使用“np.sin”而不是“sym.sin”,如注释中所述,
10*np.sin(9*x_值)
。如果您希望使用
sympy
,可以使用
lambdify
,如下所示: