【问题标题】:Declare list elements as symbols sympy python将列表元素声明为符号 sympy python
【发布时间】:2013-05-14 12:23:47
【问题描述】:

我有一个函数可以在某些条件下返回一些列表元素:

 m1=   [[1, 0], [0, 1]]
 m2=   [[2, 0], [0, 2]]

我想做的是将 m1 和 m2 声明为包含这些索引的符号,即 m1[0] 是符号 [1,0],使用 Sympy,但到目前为止我的尝试没有成功。

有人知道我该怎么做吗?

任何帮助将不胜感激!

【问题讨论】:

  • 您需要将它们转换为字符串吗?如果是,请像这样使用 str() str(m1[0]) 将返回“[1, 0]”。
  • @nacholibre 不,我的意思是使用 Sympy 的符号,而不是字符串类型。

标签: python sympy


【解决方案1】:

我猜你想使用symarray

from sympy import symarray

m1 = symarray('', 2)
m1[0] = [1, 0]

【讨论】:

  • 使用它破坏了我的原始代码给出错误:AttributeError: 'numpy.ndarray' object has no attribute 'append' 但我可以看到错误在哪里可能感谢您的帮助!
  • 你知道我可以如何追加项目吗?目前我只能让它取第一个值。
  • 不确定我是否明白您的问题,但您可以这样做:m1 = numpy.append(m1, symarray('', 1)); m1[2] = [1, 1]
  • 另外,可能值得通过 symarray 函数的实现;在here 中查找def symarray(prefix, shape)。请注意,此函数返回一个numpy n 维数组。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-05-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-20
相关资源
最近更新 更多