我正在尝试遍历固定大小的3d数组,以绘制第3个矢量尺寸,如下所示:
%respo is a 3D array of fixed size defined above
for ii = 1:size(respo,1)
for jj = 1:size(respo,2)
plot(squeeze(respo(ii,jj,1:8)))
end
end
有没有比通过2级循环准确地指向每次迭代绘制的矢量更好的方法了?
我在MATLAB中为每个数组都建立了线性索引,但是我很难想出一种避免双重循环的方法。
最佳答案
应用于矩阵的plot
将绘制该矩阵的列。因此:重新排列尺寸,以使第三个成为新的第一个,其他合并成新的第二个,然后只需调用plot
plot(reshape(permute(respo, [3 1 2]), size(respo,3), []))
关于arrays - MATLAB是否提供了一种更优雅的方法来遍历3D数组以获得3维向量?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21087274/