我正试图通过在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的用法。
这应该可以帮助您获得mu
,这似乎是所需的输出-
mu = bow(1:number_documents,1:maxNumber).'*gamma_ic(1:number_documents,1:K)./2.3