【发布时间】:2016-07-06 19:35:11
【问题描述】:
我有一个这些大小的三维矩阵,大约
A = rand(20, 1000, 20);
第一个维度和第三个维度的长度始终相同。我想将主对角线切片中的元素归零。这就是我的意思
for ii = 1:size(A, 1)
A(ii, :, ii) = 0;
end
是否有矢量化或其他更快的方法来执行此操作?这段代码运行了大约 100,000 次,使用这些近似大小,但每次的大小不完全相同。
【问题讨论】:
-
对于相同的矩阵尺寸,它会运行 10 万次吗?
-
不完全是。它在每个矩阵上运行约 100 次,并且有约 1000 个大小略有不同的此类矩阵。如果它们的大小始终相同,我会使用单个逻辑索引矩阵。
标签: arrays matlab multidimensional-array vectorization slice