【问题标题】:Storing Multiple Matrices from a For Loop in Python在 Python 中从 For 循环中存储多个矩阵
【发布时间】:2021-11-18 12:38:40
【问题描述】:

我正在尝试将以下 Matlab 代码转换为 Python:

  n = 10 ;
  T = cell(1, n) ;
  for k = 1 : n
    T{1,k} = 20*k + rand(10) ;
  end

它存储了 for 循环生成的所有矩阵。如何在 Python 中编写类似的代码?

【问题讨论】:

  • 您能否添加一个预期输出的示例?

标签: python matlab matrix store


【解决方案1】:

您可以使用普通列表:

import numpy as np
n = 10
t = []
for k in range(n):
  t.append(20 * (k+1) + np.random.rand(n,n))
print(t)

【讨论】:

  • 我喜欢你保留问题代码的两个空格缩进样式:-)
  • 这是正确的,但 pythonnumpy 的不常见组合。可能是 OP 正在寻找的。​​span>
  • 感谢@Mohammad。它运作良好。现在,如何在一个数组中分别查看每个矩阵?例如,在Matlab中,运行我在问题中提到的Matlab代码后,我运行以下T1=T{1,1}以查看第一个矩阵和T2=T{1,2}等。我怎么能在python中做到这一点?再次感谢您。
  • 我知道了@Mohammad。我只需要在 python 中执行以下操作:t1=t[1] 查看第一个数组,t2=t[2] 查看第二个数组,依此类推。
  • @MMKarim 小心,因为 python 中的索引从 0 开始,所以第一个元素应该是 t[0] 而不是 t[1]。如果您想将它们全部放在一个数组中,可以使用tall =np.ravel(t).reshape(10,-1)
猜你喜欢
  • 2019-08-03
  • 2019-11-11
  • 1970-01-01
  • 2018-01-16
  • 1970-01-01
  • 2017-11-22
  • 1970-01-01
  • 1970-01-01
  • 2018-07-05
相关资源
最近更新 更多