如何在MATLAB中优化矩阵乘法?

Yek*_*ver 0 optimization matlab matrix

我可以以某种方式优化这个公式吗?我多次评估它需要很多时间......

w - 1xN双倍

phis - NxN加倍

x - Nx2加倍

sum(w(ones([size(x,1)1]),:).*phis,2)

Jon*_*nas 5

你正在做的每一行的标量积phisw.您可以使用线性代数轻松完成此操作.

out = phis * w';
Run Code Online (Sandbox Code Playgroud)

这种矩阵乘法可以节省你对sum,, ones和的调用size,这可以使你的代码更快.此外,线性代数操作在Matlab中通常非常快,因为这是历史上优化的程序.