数组和矩阵运算符之间是否存在性能差异?

时间:2013-05-13 22:20:35

标签: matlab

我有几个m文件,它们基本上是一个非常长,复杂的方程式的包装器,它在期刊文章中占用多行。目前,他们使用矩阵运算符,即*/^。我想将它们转换为数组运算符,即.*./.^,以便我可以对我用它们进行的计算进行矢量化。

我的问题是,有什么理由我不能简单地进行搜索并替换和更改所有运营商吗?将标量与元素方式运算符相乘会产生性能问题吗?

1 个答案:

答案 0 :(得分:3)

我想说这不是性能问题。

如果您正在处理线性代数表达式,那么您绝对不想简单地搜索&替换:假设A = [1; 2; 3]B = [4; 5; 6]并且您有A'*B,那么无法转换为A'.*B,因为维度与元素产品不一致(它会出错)。

标量乘法的情况下,我认为JIT足够聪明,可以考虑1*21.*2等价物并对它们进行相同的解释。