矢量化算术运算

时间:2014-10-27 22:39:27

标签: matlab vectorization

我试图通过在Matlab中将一些迭代转换为矩阵运算来提高代码的性能。其中一个是以下代码,我需要弄清楚如何避免在操作中使用循环。

这里有gamma_ic&弓是二维矩阵。 c& z是从外部迭代设置的变量。

for z=1:maxNumber,
    for c=1:K,
        n = 0;
        for y2=1:number_documents,
            n = n+(gamma_ic(y2,c)*bow(y2,z));
        end
        mu(z,c) = n / 2.3;
    end
end

感谢您的帮助。

编辑。添加了c和z的循环。迭代一直持续到gamma_ic&中的最大索引。弓。添加了mu,它是另一个二维矩阵,用于显示n的使用。

1 个答案:

答案 0 :(得分:1)

这应该可以让你获得mu,这似乎是所需的输出 -

mu = bow(1:number_documents,1:maxNumber).'*gamma_ic(1:number_documents,1:K)./2.3