【发布时间】:2014-07-14 13:43:30
【问题描述】:
我们可以通过多种方式进行矩阵乘法。 A 和 B 是两个矩阵,大小为 1000 * 1000。
- 使用 matlab 内置矩阵运算符。
A*B - 显式编写两个嵌套。
- 明确写三个嵌套。
- 动态链接 C 代码以执行三个嵌套。
结果是
-
*运算符非常快。大约需要 1 秒钟。 - 嵌套非常慢,尤其是三个嵌套,500 秒。
- C 循环比 matlab 嵌套要快得多,只需 10 秒。
谁能解释下。为什么* 这么快,为什么 C 循环比在 matlab 中编写循环更有效。
我使用另一个软件而不是 matlab 来进行计算。但我认为应该适用类似的推理。
【问题讨论】:
标签: c performance matlab matrix matrix-multiplication