我有几个m文件,它们基本上是一个非常长,复杂的方程式的包装器,它在期刊文章中占用多行。目前,他们使用矩阵运算符,即*
,/
,^
。我想将它们转换为数组运算符,即.*
,./
,.^
,以便我可以对我用它们进行的计算进行矢量化。
我的问题是,有什么理由我不能简单地进行搜索并替换和更改所有运营商吗?将标量与元素方式运算符相乘会产生性能问题吗?
答案 0 :(得分:3)
我想说这不是性能问题。
如果您正在处理线性代数表达式,那么您绝对不想简单地搜索&替换:假设A = [1; 2; 3]
和B = [4; 5; 6]
并且您有A'*B
,那么无法转换为A'.*B
,因为维度与元素产品不一致(它会出错)。
在标量乘法的情况下,我认为JIT足够聪明,可以考虑1*2
和1.*2
等价物并对它们进行相同的解释。