我有一个巨大的矩阵(5000x5000x100),我正在尝试沿第三个维度平滑每个索引,但这需要HOURS。我的工作效率低下。
new_mat=zeros(size(my_mat));
for i = 1:length(mymat)
for j = 1:length(mymat)
new_mat(i,j,:) = wdenoise(squeeze(mymat(i,j,:)));
end
end
我知道数组和索引会有所帮助,但是我不确定如何在此处应用它们。感谢您的帮助。
答案 0 :(得分:1)
我无法访问wdenoise所需的更新的Wavelet工具箱,但是如果您提供矩阵,该功能将跨列运行,那么您应该能够删除内部循环,这可能会稍微提高速度:>
new_mat=zeros(my_mat)
for i = 1:length(mymat)
new_mat(i,:,:) = wdenoise(squeeze(mymat(i,:,:)));
end