alpha
是M×1
向量,R
是一个大小为n×n×M
的大数组。就我而言,n
和M
约为3000.如何在MATLAB中对以下求和进行矢量化?
alpha(1)*R(:,:,1) + alpha(2)*R(:,:,2) + ... + alpha(M)*R(:,:,M)
我想到的一种方法是使alpha具有相同的大小并进行元素操作,最后在第3维中进行求和
sum(reshape(kron(alpha, ones(n*n,1)), [n,n,M]).*R,3)
如果有更好更有效的方法,有人可以告诉我吗?