我试图向量化这几行代码,尤其是for循环。我的x
是一个[31374230x4]
矩阵,而final.p0
是一个包含矩阵p0[1000x1000x500]
的结构。主要思想是截断分配给它的最终矩阵x(i,4)
。我想避免for循环,它太慢了。有想法吗?
final.p0 = zeros(max(x(:,1)),max(x(:,2)),max(x(:,3)));
for i = 1:length(x(:,4))
final.p0(x(i,1),x(i,2),x(i,3)) = x(i,4);
end
答案 0 :(得分:1)
使用sub2ind
可以很容易地避免此循环,如下所示:
index = sub2ind(size(final.p0),x(:,1),x(:,2),x(:,3));
final.p0(index) = x(:,4);