【问题标题】:Sum matrices without using Loops不使用循环求和矩阵
【发布时间】:2017-07-18 18:18:11
【问题描述】:

我有一个项目需要将许多矩阵相加。目前,这是通过每次迭代的 while 循环来完成的。有没有一种更快的方法来使用可能内置的编程来求和矩阵?

从我目前的研究来看,所有通过 VBA 完成的矩阵求和都是通过循环进行的,我相信这不会提高运行速度。

【问题讨论】:

  • 您可以展开循环,但如果您关心性能,为什么不使用高性能的 .Net 矩阵库?

标签: arrays vba excel matrix add


【解决方案1】:

您可以使用Evaluate 将矩阵求和为范围。例如:

Dim ar
ar = Sheet1.Evaluate("A1:C3 + E1:G3 + I1:K3")

返回一个数组(矩阵),它是 3 个矩阵的总和。

但是,如果您的意思是逐个元素地对 VBA 数组求和并返回结果数组,那么循环是唯一的选择。

【讨论】:

  • 我明白了,谢谢你的回复!我可能必须将数据导出到第三方程序进行评估,然后将结果返回到 Excel。
  • @TJYen 我猜你的目标是利用多处理能力。在这种情况下,确实 VBA 循环不会这样做(Exce/Evaluate 版本可能会这样做,但不确定,需要一些测试)。
猜你喜欢
  • 2020-05-12
  • 1970-01-01
  • 2019-05-10
  • 1970-01-01
  • 2021-08-02
  • 2019-03-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多