3
alpha
是M×1
矢量,並且R
是尺寸爲n×n×M
的大陣列。在我的情況下,n
和M
約爲3000.如何在MATLAB中矢量化以下求和?我想到的1D矢量和3D陣列的乘法求和的矢量化
alpha(1)*R(:,:,1) + alpha(2)*R(:,:,2) + ... + alpha(M)*R(:,:,M)
的一種方法是使阿爾法相同的大小,做一個元素智能操作,最後做一個總結的第三維
sum(reshape(kron(alpha, ones(n*n,1)), [n,n,M]).*R,3)
可能有人請讓我知道,如果有是這樣做的更好和有效的方式?