python - Python中符号数组的指数评估

标签 python arrays symbolic-math

我正在尝试评估符号数组的指数。基本上我有一个数值数组 a和一个符号变量 x定义。然后我定义了一个函数 f它等于两者相乘的指数,并尝试评估给定值 x 的结果:

import numpy as np
from sympy import *

#Declaration of variables
a=np.array([1, 2])
x = Symbol('x')  
f=exp(a*x)

#Function evaluation
f=f.subs(x, 1)
print(f.evalf())

但是会发生以下错误:
AttributeError: 'ImmutableDenseNDimArray' object has no attribute '_eval_evalf'

看来exp()函数未为此类操作做好准备。
我知道,至少,可以使用 np.exp() 来计算数值数组的指数。 .对于符号数组,我应该如何做?

最佳答案

如前所述,您不应该混合使用 NumPy 同情 .而不是 array您可以使用 Matrix从 sympy 然后使用 applyfunc对于分量指数:

import sympy as sp

# Declaration of variables
x = sp.Symbol('x')
a = sp.Matrix([1, 2])
f = (a * x).applyfunc(sp.exp)

# Function evaluation
f = f.subs(x, 1)
print(f.evalf())
运行此代码我没有收到任何错误。这是我的输出:
Matrix([[2.71828182845905], [7.38905609893065]])

关于python - Python中符号数组的指数评估,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55675468/

相关文章:

python - 在以前工作的系统上遇到 "Could not create cudnn handle: CUDNN_STATUS_NOT_INITIALIZED"

python - 对多个列进行分组并在组内排名

python - 使用BeautifulSoup python 时出错

java - 从某个索引开始一个字符数组

c# - 改变数组中的元素

c++ - 为什么数组的维数是其类型的一部分?

python - 使用 Python 和 Sympy 进行三角恒等式,tan(A/2) = (sin A )/(1 + cos A)

python - 如何在python中对PIL图像进行双线性插值?

python - 如何简化 sympy 中的 sqrt 表达式

matlab - MATLAB 中的双傅里叶级数