【发布时间】:2020-05-31 22:20:29
【问题描述】:
我正在计算一个方阵V,它的每个元素都是我用sympy 计算的积分。我只计算一个定积分V_nm,其结果是一个带有符号索引m 和n 的数值表达式。说V_nm看起来像这样:
>>> V_nm
sin(3*n)*cos(m)
现在我希望使用m 和n 作为数组的索引,从V_nm 中创建一个二维数字(不是符号!)矩阵。假设对于 2 x 2 矩阵,给定 V_nm 的结果将是:
[[sin(3)cos(1) sin(3)cos(2)]
[sin(6)cos(1) sin(6)cos(2)]]
即,n 指定列,m 指定行。 (注意:我在 1 而不是 0 开始 m 和 n,但这没关系)。
我该如何做到这一点?
我知道我可以在列表理解中使用V_nm.subs([(n, ...), (m, ...)]),然后使用evalf(),但这是一条漫长的道路。我希望使用lambdify 来实现这一点。我知道如何将lambdify 用于一维数组。你能告诉我如何为二维数组实现它吗?
【问题讨论】: