【发布时间】:2017-09-02 00:29:01
【问题描述】:
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)
如果有更好更有效的方法可以让我知道吗?
【问题讨论】:
标签: arrays matlab vectorization